Opened 15 years ago

Closed 15 years ago

Last modified 10 years ago

#362 closed (fixed)

Run X! Tandem from Proteios

Reported by: Fredrik Levander Owned by: olle
Milestone: Proteios 2.3 Keywords:
Cc: Gregory Vincic

Description

It should be possible to run the X! Tandem search engine from Proteios. This could rely on running it through its web interface, or by executing the binary locally. Either way, the user needs to be able to select search settings, and preferably one should be able to save these setting to a file on the proteios server and reuse them later. A separate ticket for the GUI.

Either way, this should maybe not block up the normal job queue since searches can take long time.

Change History (61)

comment:1 Changed 15 years ago by Fredrik Levander

Owner: changed from Gregory Vincic to Fredrik Levander

comment:2 Changed 15 years ago by Fredrik Levander

Owner: changed from Fredrik Levander to Gregory Vincic

Separate GUI ticket #363

comment:3 Changed 15 years ago by Gregory Vincic

Cc: Gregory Vincic added
priority: majorminor
Status: newassigned

comment:4 Changed 15 years ago by Gregory Vincic

Owner: changed from Gregory Vincic to olle
Status: assignednew

comment:5 Changed 15 years ago by olle

Status: newassigned

Ticket accepted.

comment:6 Changed 15 years ago by Gregory Vincic

Milestone: Proteios 2.2Proteios 2.3

Searches should be send to X! Tandem GPM.

comment:7 Changed 15 years ago by olle

Traceability note: Related to Ticket #363 (A GUI for selecting search parameters for X!Tandem searches).

Previous tickets on importing results from X!Tandem searches are Ticket #129 (Implement X!Tandem Search Results import) and #234 (Enable parsing of pluggable score types for X! Tandem import).

comment:8 Changed 15 years ago by olle

Reference links at time of writing 2008-03-12:

comment:9 Changed 15 years ago by olle

Design choices for first version of support for running X!Tandem search from Proteios:

  • Only searches using a GPM web-based installation will be supported.
  • Parameters defining the GPM installation to use etc. should be stored in a configuration file.
  • Searches should be sent to the X!Tandem GPM through its web interface.
  • A new core/data class pair for an X!Tandem parameter set item should be added. The parameter set item should be linked to its own file item, which contains the parameter set in an XML format of the type used for X!Tandem input files.
  • A utility class should be created to simplify storing X!Tandem parameter data in the XML file item linked to an X!Tandem parameter set item.
  • When a new X!Tandem parameter set item is created, the user should have the choice to copy parameter data from an existing X!Tandem parameter file item, or use a default set of values.
  • The default set of parameter values should be stored in a template X!Tandem parameter file, which should be part of the Proteios distribution, e.g. like some XML Schema Definition files. This makes it simple for an administrator to change the default values by changing the file.
  • For the first revision, a fixed set of X!Tandem parameters may be supported only.
  • An X!Tandem search is created as a job.
  • A spectrum file for which an X!Tandem search should be performed, should have been uploaded to Proteios, i.e. be a file item in the database.
  • When creating X!Tandem searches, it should be possible to select several spectrum files for use with the same X!Tandem parameter set. Each spectrum file should get it own X!Tandem search job.
  • An X!Tandem search job should give a consise report of the result status in its description field.
  • An X!Tandem search job should attempt to import the output file for a completed search from the GPM installation to Proteios. The imported file should have a reference to the spectrum file and the used X!Tandem parameter set item in its descriprion field.

comment:10 Changed 15 years ago by olle

(In [2655]) Refs #362. Jakarta Commons Http Client library added to api/external/, for creating http form data when performing X!Tandem search using a web interface.

  1. Jakarta Commons Http Client library commons-httpclient-3.1.jar

added to api/external/. See http://hc.apache.org/httpclient-3.x/ for information on the package. License: Apache License Version 2.0, January 2004 (http://www.apache.org/licenses/).

  1. Apache Commons Codec library commons-codec-1.3.jar

added to api/external/. See http://commons.apache.org/codec/ for information on the package. This package is used by the Http Client library. License: Apache License Version 2.0, January 2004 (http://www.apache.org/licenses/).

comment:11 Changed 15 years ago by olle

(In [2656]) Refs #362. Refs #363. Api/core updated with new core classes to support X!Tandem parameter storage in file items:

  1. New class/file core/XTandemParameterSetStorage.java with

data class/file core/data/XTandemParameterSetStorageData.java in api/core/ added for storing X!Tandem parameter data in a related parameter file item in X!Tandem input XML file format.

  1. Classes/files core/Item.java and core/Install.java in

api/core/ updated with the new XTandemParameterSetStorage item.

  1. New class/file io/XTandemParameterSet.java in api/core/

with instance variables and public accessor methods for fields corresponding to variables in an X!Tandem input XML file.

  1. New interface/file io/XTandemParameterFileUtilInterface.java

in api/core for obtaining an XTandemParameterSet.

  1. New class/file io/XTandemParameterFileUtil.java

in api/core/ with public methods for importing data from an X!Tandem input XML file to an XTandemParameterSet, and exporting an XTandemParameterSet to an X!Tandem input XML file.

  1. Class/file io/XMLCrudeWriterImpl.java in api/core/

updated with new convenience methods for writing XML tags used when writing an X!Tandem input XML file.

  1. New class/file props/XTandemParameterFileNameReader.java

in api/core/ added to read the name of the parameter file item related to an XTandemParameterSetStorage item.

comment:12 Changed 15 years ago by olle

(In [2657]) Refs #362. Refs #363. Added new source directory action/xTandemInput in client/servlet/ for action classes/files related to X!Tandem parameter set creation and editing, as well as performing X!Tandem searches from Proteios.

comment:13 Changed 15 years ago by olle

(In [2658]) Refs #362. Refs #363. Added two new XSL files for X!Tandem input XML files and output XML files, www/tandem-input-style.xsl and www/tandem-style.xsl in client/servlet/, respectively.

comment:14 Changed 15 years ago by olle

(In [2659]) Refs #362. Refs #363. Class/file core/XTandemParameterSetStorage.java in api/core/ updated with new public method XTandemParameterSet fetchXTandemParameterSet() for fetching X!Tandem parameter data from a related parameter file item in X!Tandem input XML file format. Together with public method void save(XTandemParameterSet xTandemParameterSet) this method makes it possible to store and retrieve an X!Tandem parameter set using the XTandemParameterSetStorage core class, without referencing the related parameter file item directly.

comment:15 Changed 15 years ago by olle

(In [2660]) Refs #362. Refs #363. Configuration and template files for X!Tandem search added:

  1. X!Tandem search properties template file

conf/xtandem.properties.in in client/servlet/ added. Intended to be copied to an X!Tandem search properties file conf/xtandem.properties, which is updated with correct settings.

  1. New class/file XTandemPropertiesFile.java in client/servlet/

added. It loads xtandem.properties file and gives access to the settings in the latter.

  1. X!Tandem search default parameter set file

conf/xtandem_default_input.xml added. It is based on file bin/default_input.xml from unpacked archive file downloaded from url ftp://ftp.thegpm.org/projects/tandem/source/tandem-linux-08-02-01-1.tar.gz.

  1. Outermost ant build file build.xml updated to copy

configuration/settings files conf/xtandem.properties and conf/xtandem_default_input.xml in client/servlet/ to distribution directory www/WEB-INF/classes/.

comment:16 Changed 15 years ago by olle

(In [2661]) Refs #362. Refs #363. Refs #287. First revision of X!Tandem search in Proteios via web interface to GPM web site.

  1. Class/file gui/table/TableFactory.java in client/servlet/

updated in public method void useColumnsFromClass() by obtaining parameter file for XTandemParameterSetStorage item.

  1. Class/file gui/form/FormFactory.java in client/servlet/ updated

with new methods related to forms for X!Tandem search:

  1. Private method Select<VString> newStringSelectBox(VString validParam, List<String> optionList, String selected).
  2. Private method Select<VString> newStringSelectBox2(VString validParam, List<Option> optionList, String selected).
  3. Public method Form getNewXTandemParameterSetStorageForm(XTandemParameterSetStorage xTandemParameterSetStorage).
  4. Public method Form getXTandemParameterSetForm(XTandemParameterSet xTandemParameterSet).
  1. Class/file action/read/ViewLeft.java in client/servlet/ updated

by adding node for viewing XTandemParameterSetStorage items.

  1. New core extension class/file

action/file/UseSpectrumFileForXTandemSearchExtension.java in client/servlet/ added, for creating X!Tandem search jobs for selected spectrum files.

  1. New action classes/files added to action/xTandemInput/ in

client/servlet/ for creating, viewing, and editing X!Tandem parameter sets and starting X!Tandem search jobs from them:

  1. AddXTandemParameterSetStorage.java.
  2. ListXTandemParameterSetStorage.java.
  3. NewXTandemParameterSetStorage.java.
  4. SaveXTandemParameterSetStorage.java.
  5. SearchXTandem.java.
  6. SelectXTandemParameterFileStep1a.java.
  7. SelectXTandemParameterFileStep1b.java.
  8. ViewActiveXTandemParameterFile.java.
  9. ViewActiveXTandemParameterSetStorage.java.
  10. ViewXTandemParameterFile.java.
  11. ViewXTandemParameterSetStorage.java.
  1. New plugin class/file plugins/SearchXTandemPlugin.java in plugin/

for executing an X!Tandem search via web interface and trying to upload the output XML file into Proteios.

  1. English dictionary file locale/en/dictionary in client/servlet/

updated with new entries for various string keys.

comment:17 Changed 15 years ago by olle

(In [2662]) Refs #362. Refs #363. X!Tandem search default parameter set file conf/xtandem_default_input.xml in client/servlet/ updated by removal of white space characters at end of lines, in order to simplify comparison of the default file with exported X!Tandem parameter files.

comment:18 Changed 15 years ago by olle

(In [2663]) Refs #362. Refs #363. Class/file io/XTandemParameterFileUtil.java in api/core/ updated in public method void exportXTandemParameterSet(XTandemParameterSet xTandemParameterSet) by adding one extra level of indentation to lines inside an XML "note" tag with type equal to "description", as well as to the XML "note" end tag if it directly follows the XML "note" start tag with type equal to "description". These changes are intended to increase similarity to the format used in the X!Tandem default input XML file obtained from unpacked archive file downloaded from url ftp://ftp.thegpm.org/projects/tandem/source/tandem-linux-08-02-01-1.tar.gz.

comment:19 Changed 15 years ago by olle

(In [2664]) Refs #362. Refs #363. X!Tandem search default parameter set file conf/xtandem_default_input.xml in client/servlet/ updated by adding extra indentation of first line of comment XML "note" tag explaining parameters in previous XML "note" tag, since this convention is used elsewhere in the file.

comment:20 Changed 15 years ago by olle

(In [2665]) Refs #362. Refs #363. X!Tandem search default parameter set file conf/xtandem_default_input.xml in client/servlet/ updated by moving XML "note" tag of type "input" with label "protein, cleavage N-terminal mass change" before corresponding tag for the C-terminal, since at other places in the file a tag related to the N-terminal comes before the tag related to the C-terminal. This change is intended to simplify manual inspection of the file, but if strong reasons are found to keep the original tag order, the change may be reverted. Currently public method void exportXTandemParameterSet(XTandemParameterSet xTandemParameterSet) in class/file io/XTandemParameterFileUtil.java in api/core/ follows the convention of writing N-terminal tags before C-terminal.

comment:21 Changed 15 years ago by olle

(In [2666]) Refs #362. Refs #363. X!Tandem search default parameter set file conf/xtandem_default_input.xml in client/servlet/ updated by removing duplicate XML "note" tags of type "input" with labels "refine, point mutations", "scoring, cyclic permutation", "scoring, include reverse", and "output, one sequence copy".

comment:22 Changed 15 years ago by olle

(In [2667]) Refs #362. Refs #363. Class/file io/XTandemParameterFileUtil.java in api/core/ updated in public method void exportXTandemParameterSet(XTandemParameterSet xTandemParameterSet) by moving XML "note" tag of type "input" with label "output, path" to location after XML "note" tag of type "input" with label "output, sequence path". This change is intended to increase similarity to the format used in the X!Tandem default input XML file obtained from unpacked archive file downloaded from url ftp://ftp.thegpm.org/projects/tandem/source/tandem-linux-08-02-01-1.tar.gz.

comment:23 Changed 15 years ago by olle

(In [2674]) Refs #129. Class/file plugins/TandemImportPlugin.java in plugin/ updated in public method void endElement(String uri, String localName, String qName) by checking if character '@' exists before using the index value in a substring() call. The change was made as many automatically generated X!Tandem XML files contain tags with no value parts.

comment:24 Changed 15 years ago by olle

(In [2677]) Refs #362. Refs #363. Refs #287. X!Tandem search updated for use of locally installed search engine (currently for test purposes only).

  1. Class/file se/lu/thep/waf/Event.java in api/waf/ updated by

addition of new public method String fetchTempDirPath() for obtaining the path to directory for temporary files from configuration parameter value.

  1. Class/file/

action/xTandemInput/ViewActiveXTandemParameterSetStorage.java in client/servlet/ updated in public method void runMe() by setting value of valid parameter SearchXTandem.VSAVEXTANDEMPARAMETERSETFLAG to "true" for commented-out action link to perform X!Tandem search using locally installed search engine, and some other minor changes.

  1. Class/file action/xTandemInput/SearchXTandem.java in

client/servlet/ updated in protected method void runMe():

  1. Path to directory for temporary files obtained by calling

getEvent().fetchTempDirPath().

  1. Use of search engine via web interface is set as default.
  2. Bug fixed when creating output path when more than one spectrum

file are used (previously only the first search result was stored in a result file correctly named using the output path base name).

  1. Spectrum path is now created using the directory for temporary

files.

  1. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated in

private method void xTandemSearchLocal(...) by saving a copy of the spectrum file item in the directory for temporary files. Description of imported result file updated to correspond to description of imported result file when performing X!Tandem search via web interface. Obsolete private method void saveTemporaryFile(java.io.File inFile, java.io.File tmpFile) removed, as it is replaced by polymorphic private method void saveTemporaryFile(File inFile, java.io.File tmpFile).

  1. English dictionary file locale/en/dictionary in client/servlet/

updated with new entries for various string keys.

comment:25 Changed 15 years ago by olle

The Proteios SE Manual wiki page updated with link to new X!Tandem Search Engine Interface wiki page.

comment:26 Changed 15 years ago by olle

(In [2683]) Refs #411. Refs #362. Database update routine updated to new schema version:

  1. Class/file core/Install.java in api/core/ updated by changing

value of constant NEW_SCHEMA_VERSION from 3 to 4.

  1. Template file core/UpdateToSchemaVersionTmpl.java in api/core/

is copied to new class/file core/UpdateToSchemaVersion4.java in api/core/ for updating the database to schema version 4.

comment:27 Changed 15 years ago by olle

(In [2706]) Refs #362. Classes/files action/xTandemInput/AddXTandemParameterSetStorage.java and action/xTandemInput/ViewActiveXTandemParameterSetStorage.java in client/servlet/ updated to get an ItemFactory? object by calling getItemFactory(DbControl? dc) instead of creating a new instance.

comment:28 Changed 15 years ago by olle

(In [2707]) Refs #421. Refs #362. Classes/files action/xTandemInput/AddXTandemParameterSetStorage.java and action/xTandemInput/SearchXTandem.java in client/servlet/ updated to work also when no active project exists:

  1. Class/file action/xTandemInput/AddXTandemParameterSetStorage.java

updated in protected method void runMe() by getting a new User instance before calling getHomeDirectory().

  1. Class/file action/xTandemInput/SearchXTandem.java updated

in protected method void runMe():

  1. Exceptions are caught when calling isProjectActive(DbControl? dc).
  2. Getting a new User instance before calling getHomeDirectory().

comment:29 Changed 15 years ago by olle

(In [2708]) Refs #362. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated to show url for GPM archive directory in search job status message, when the user is instructed to manually upload the result file for a web-based X!Tandem search:

  1. Private method void

execute(Request request, Response response, ProgressReporter? progress) updated to avoid unnecessary extra slashes in directory url string.

  1. Private method void xTandemSearchViaWebInterface(...) updated to

show url for GPM archive directory in search job status message, when the user is instructed to manually upload the result file for a web-based X!Tandem search.

comment:30 Changed 15 years ago by olle

(In [2709]) Refs #362. Correction of change added in changeSet [2708], as the change made in class/file plugins/SearchXTandemPlugin.java in plugin/, private method void execute(...) has no effect on the directory url string actually used in the error message, which is created in private method void xTandemSearchViaWebInterface(...). The directory url string in method execute(...) was only used for logging purposes, but is now removed, to eliminate future mistakes.

Class/file plugins/SearchXTandemPlugin.java in plugin/ updated to show url for GPM archive directory in search job status message, when the user is instructed to manually upload the result file for a web based X!Tandem search:

  1. Private method void execute(Request request, Response response,

ProgressReporter? progress) updated by removal of url strings only used for logging purposes.

  1. Private method void xTandemSearchViaWebInterface(...) updated to

avoid unnecessary extra slashes in directory url string. The fix only works if at most one of the strings to be combined has a slash at the joining end.

comment:31 Changed 15 years ago by olle

(In [2711]) Refs #362. X!Tandem search in Proteios via web interface to GPM web site updated to increase the chances for finding the result file on a GPM server despite differences in filename prefix, time zones, and system clock settings:

  1. X!Tandem search properties template file

conf/xtandem.properties.in in client/servlet/ updated with new settings xtandem.gpm.result.filename.prefix, xtandem.gpm.server.timediff.hours, and xtandem.gpm.server.timediff.correction.minutes. Comments with description of settings have been extended.

  1. Class/file action/xTandemInput/SearchXTandem.java in

client/servlet/ updated in protected method void runMe() by reading the new added parameter settings from properties file xtandem.properties and transferring them to plugin class/file plugins/SearchXTandemPlugin.java in plugin/.

  1. Class/file plugins/SearchXTandemPlugin.java in plugin/

updated:

  1. Private method void

execute(Request request, Response response, ProgressReporter? progress) updated by obtaining the new added parameter settings from valid parameters and transferring them to updated private method void xTandemSearchViaWebInterface(...).

  1. Private method void xTandemSearchViaWebInterface(...) updated

with new arguments, String gpmResultFilenamePrefix and double gpmServerTimediffMinutes. The obtained values are used when calling methods extractLastSubString(...) and fetchUsedResultFilename(...) for uploading the result file.

  1. Private method String fetchUsedResultFilename(...) updated with

new argument double gpmServerTimediffMinutes, which is used to construct an optional time stamp in the result filename. Use of class GregorianCalendar? instead of Calendar for making time stamp calculations. Filenames with time stamps 90 seconds before and after the current time corrected for time zone are now checked when searching for a result file.

  1. Private method String fetchXTandemOutputPathWithTimeStamp(...)

updated with bug fix; now a copy of the input Calendar object is used when adjusting the time stamp, ensuring that the value of the original variable is unchanged.

  1. private void xTandemSearchLocal(...) updated to use class

GregorianCalendar? instead of Calendar for making time stamp calculations. (This method is not used when performing an X!Tandem search in Proteios via web interface to a GPM web site.)

comment:32 Changed 15 years ago by olle

(In [3]) The wiki page X!Tandem Search Engine Interface has been updated with info on the new parameter settings.

comment:33 Changed 15 years ago by olle

(In [2712]) Refs #422. Refs #362. X!Tandem search default settings updated to use web link to an open X!Tandem search engine, so an X!Tandem search may be executed directly after installing Proteios, provided that the time zone and system clock settings are correct (and the web search engine is on-line, of course):

  1. X!Tandem search properties template file

conf/xtandem.properties.in in client/servlet/ updated in default settings to use an X!Tandem search engine at http://h777.thegpm.org in Pacific time zone from a Proteios server in the Central European time zone.

  1. Installation scripts install-linux.sh and install-win.bat in

misc/install/ updated to copy X!Tandem search properties template file xtandem.properties.in to X!Tandem search properties file xtandem.properties, if the latter file does not exist.

comment:34 Changed 15 years ago by olle

(In [48]) Wiki page Proteios 2 Installation updated with info on creating xtandem.properties file.

comment:35 Changed 15 years ago by olle

Resolution: fixed
Status: assignedclosed

Ticket closed as the requested functionality has been added. This initial version may be used to test if the functionality is adequate for normal use. If it is to be updated, this ticket may be reopened, or a new ticket created.

comment:36 Changed 14 years ago by Fredrik Levander

(In [2824]) Refs #362. Parsing input filename from 'models from' label, since the 'list path' is not correct for web-based X!tandem searches.

comment:37 Changed 14 years ago by olle

(In [2833]) Refs #458. Refs #362. X!Tandem search via GPM updated to support a non-fixed number of variable values to be transferred to the GPM search engine:

  1. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated

in private method void xTandemSearchViaWebInterface(Request request, ...) by using a list to store the HttpClient multipart components before an array is created.

comment:38 Changed 14 years ago by olle

(In [2834]) Refs #458. Refs #362. XTandemParameterSet updated by adding support for new variables related to scoring algorithm:

  1. Class/file io/XTandemParameterSet.java in api/core/ updated by

adding instance variables with accessor methods corresponding to X!Tandem settings "spectrum, use conditioning" and "scoring, algorithm".

  1. Class/file io/XTandemParameterFileUtil.java in api/core/ updated:
  2. Private method void processEndElement(XMLStreamReader parser)

updated by retrieving values for "spectrum, use conditioning" and "scoring, algorithm" from XML tags.

  1. Public method void exportXTandemParameterSet(XTandemParameterSet xTandemParameterSet)

updated to perform the following actions if the value of "scoring, algorithm" differs from null and an empty string: XML tags for "spectrum, use conditioning" and "scoring, algorithm" are written to the file, and the value for "scoring, minimum ion count" is set to "1".

comment:39 Changed 14 years ago by olle

(In [2835]) Refs #458. Refs #362. Refs #363. Support added for inspecting and editing new X!Tandem search parameters related to scoring algorithm:

  1. Class/file action/xTandemInput/SaveXTandemParameterSetStorage.java

in client/servlet/ updated:

  1. New valid parameters added corresponding to X!Tandem settings

"spectrum, use conditioning" and "scoring, algorithm".

  1. Public method XTandemParameterSet fetchCurrentXTandemParameterSet()

updated by retrieving the values corresponding to X!Tandem settings "spectrum, use conditioning" and "scoring, algorithm" from valid parameters.

  1. Class/file gui/form/FormFactory.java in client/servlet/ updated

in public method Form getXTandemParameterSetForm(...) by adding select box for inspecting and setting the value corresponding to "scoring, algorithm". Default value is an empty string, which is displayed as option "native" in the select box.

  1. English dictionary file locale/en/dictionary in client/servlet/

updated with new entries for various string keys.

comment:40 Changed 14 years ago by olle

(In [2837]) Refs #458. Refs #362. X!Tandem search via GPM updated to support setting a scoring algorithm (note that the search engine may report an error if the selected algorithm is not implemented at the used GPM site):

  1. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated

in private method void xTandemSearchViaWebInterface(Request request, ...) by sending settings for "spectrum, use conditioning" and "scoring, algorithm" to the GPM search engine if the value of "scoring, algorithm" differs from null and an empty string.

comment:41 Changed 14 years ago by olle

(In [2849]) Refs #362. Refs #465. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated by making parsing of result filename safer in certain cases when an error occurs, and no result file is created:

  1. Private method

void xTandemSearchViaWebInterface(Request request, ...) updated by resetting extracted filename if it contains blanks (this may happen if no result filename is created, and the source spectrum file has file extension ".xml").

comment:42 Changed 14 years ago by Fredrik Levander

(In [2872]) Refs #362. Generating error message when search did go wrong because of incorrect search settings or when GPM result file could not be parsed. Also removed compilation warnings related to partsList<Part>.

comment:43 Changed 14 years ago by Fredrik Levander

(In [2873]) Refs #362. Refined results file name parsing and error messaging

comment:44 Changed 14 years ago by olle

(In [2905]) Refs #481. Refs #362. New utility class/file io/FileExtraUtil.java in api/core/ added. It contains three public convenience methods. The latter are basically copies of private methods with the same names in class/file action/xTandemInput/AddXTandemParameterSetStorage.java in client/servlet/, modified to use an external SessionControl? and create a new instance of ItemFactory? when needed:

  1. Public method

String fetchNameWithTimeStamp(String prefix, String suffix) that creates a name with time stamp in format prefix + yyyymmdd_hhmmss + suffix.

  1. Public method

File copyFile(File srcFile, String outFileName, String outFileDescr, Directory outFileDir, FileType? outFileFileType) that copies the contents of a file item to a new file item.

  1. Public method

File copyLocalFile(String srcFilePath, String outFileName, String outFileDescr, Directory outFileDir, FileType? outFileFileType) that copies the contents of a local file to a new file item.

comment:45 Changed 14 years ago by olle

(In [2906]) Refs #481. Refs #362. Refs #363. Refs #287. First revision of support for "Save As..." functionality when editing an X!Tandem Parameter Set:

  1. Class/file action/xTandemInput/SearchXTandem.java in

client/servlet/ updated with new valid parameter VBoolean VSAVEASXTANDEMPARAMETERSETFLAG.

  1. Class/file

action/xTandemInput/ViewActiveXTandemParameterSetStorage.java in client/servlet/ updated in public method void runMe() to add "Save As..." button coupled to action link to SaveXTandemParameterSetStorage.class, and setting value of added parameter VBoolean VSAVEASXTANDEMPARAMETERSETFLAG to true.

  1. Class/file action/xTandemInput/SaveXTandemParameterSetStorage.java

in client/servlet/ updated in protected method void runMe() with support for "Save As..." functionality. It calls new public FormFactory? method Form getSaveAsXTandemParameterSetStorageForm( XTandemParameterSetStorage xTandemParameterSetStorage, XTandemParameterSet xTandemParameterSet) to obtain a form for setting properties for a new X!Tandem parameter set tot store the data in.

  1. Class/file gui/form/FormFactory.java in client/servlet/ updated

with new public method Form getSaveAsXTandemParameterSetStorageForm( XTandemParameterSetStorage xTandemParameterSetStorage, XTandemParameterSet xTandemParameterSet) for getting a form for setting properties for a new X!Tandem parameter set tot store the data in. Also new convenience methods public Fieldset addXTandemParameterSetToFieldset( XTandemParameterSet xTandemParameterSet, Fieldset fs, boolean fieldsHidden, boolean fieldsDisabled) etc. for storing values of X!Tandem parameters in hidden fields coupled to valid parameters.

  1. English dictionary file locale/en/dictionary in client/servlet/

updated with new entries for various string keys.

comment:46 Changed 14 years ago by olle

(In [2910]) Refs #362. Refs #471. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated by placing help classes as private inner classes instead of package private classes in the same file as class SearchXTandemPlugin. This avoids problems when the same functionality is needed in other search classes.

  1. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated

by placing help classes StreamGobbler and FileItemPartSource as private inner classes instead of package private classes in the same file as class SearchXTandemPlugin.

comment:47 Changed 14 years ago by olle

(In [2911]) Refs #487. Refs #481. Refs #362. X!Tandem parameter set XML file is now created with file extension ".xml", to reflect that it is an XML file:

  1. Class/file action/xTandemInput/AddXTandemParameterSetStorage.java

in client/servlet/ updated in protected method void runMe() to save a new X!Tandem parameter set file with file extension ".xml".

  1. Class/file action/xTandemInput/SaveXTandemParameterSetStorage.java

in client/servlet/ updated in protected method void runMe() to save a new X!Tandem parameter set file with file extension ".xml", when alternative "Save As..." is used.

comment:48 Changed 14 years ago by olle

(In [2926]) Refs #362. Refs #427. Core extension class/file action/file/UseSpectrumFileForXTandemSearchExtension.java in client/servlet/ updated, by adding description analogous to the one for extension UseSpectrumFileForOMSSASearchExtension in Ticket #471 (Searching OMSSA from Proteios SE), informing the user that spectrum files are selected first, then search parameters.

comment:49 Changed 14 years ago by olle

(In [6]) Wiki page Proteios SE server administration Installation updated with info on X!Tandem configuration.

comment:50 Changed 14 years ago by olle

(In [7]) The wiki page X!Tandem Search Engine Interface has been updated in section "Creating/Editing? an X!Tandem Parameter Set" with new menu link to X!Tandem settings.

comment:51 Changed 14 years ago by olle

(In [3161]) Refs #518. Refs #362. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated to support abortion of an executing job.

  1. New private instance variable boolean jobAborted with public

accessor method boolean isJobAborted(). Its initial value is false.

  1. New public method void abort() that sets the value of boolean

instance variable jobAborted to true. This method is part of interface AbortablePluginInterface (it is actually the only method needed to implement the interface).

  1. Private method

void xTandemSearchViaWebInterface(Request request, Response response, ...) updated by calling new public method boolean isJobAborted() at strategic places in the code to check if an abort notification has been received, and if so, throw an IOException inside a try-catch block that catches the exception. However, throwing an IOException will prevent the boolean variable imported from being set to true, which redirects the execution to the error-handling block. The latter is updated to check if isJobAborted() returns true, in which case response.setAborted() is called, and otherwise response.setError(errorMessage, err).

comment:52 Changed 13 years ago by olle

(In [3291]) Refs #575. Refs #362. Refs #471. Bug fixed when transferring value of the Boolean flag variable indicating whether an !XTandem or OMSSA parameter set should be saved from the view class, when no spectrum file has been selected:

  1. Class/file action/omssa/ViewActiveOMSSAParameterSetStorage.java

in client/servlet/ updated in public method void runMe() by fixing bug when transferring value of the Boolean flag variable indicating whether a parameter set should be saved from the view class, when no spectrum file has been selected.

  1. Class/file action/xTandemInput/ViewActiveXTandemParameterSetStorage.java

in client/servlet/ updated in public method void runMe() by fixing bug when transferring value of the Boolean flag variable indicating whether a parameter set should be saved from the view class, when no spectrum file has been selected.

comment:53 Changed 13 years ago by olle

(In [3292]) Refs #575. Refs #362. Refs #471. Bug fixed in the save class when transferring value of the Boolean flag variable indicating whether !XTandem or OMSSA searching should be performed via a web interface:

  1. Class/file action/omssa/SaveOMSSAParameterSetStorage.java in

client/servlet/ updated in protected method void runMe() by fixing bug when transferring value of the Boolean flag variable indicating whether OMSSA searching should be performed via a web interface.

  1. Class/file action/xTandemInput/SaveXTandemParameterSetStorage.java

in client/servlet/ updated in protected method void runMe() by fixing bug when transferring value of the Boolean flag variable indicating whether !XTandem searching should be performed via a web interface.

comment:54 Changed 13 years ago by olle

(In [3396]) Refs #605. Refs #544. Refs #362. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated to support faster abortion of an executing job.

  1. New private instance variable PostMethod httpClientPostMethod

with private accessor methods. Its initial value is null.

  1. Private method void xTandemSearchViaWebInterface(Request request, ...)

updated to store the used Apache HttpClient PostMethod as an instance variable, in case there is need to call its abort() method later.

  1. Public method void abort() updated to obtain the used

Apache HttpClient PostMethod from an instance variable, and if it is not null, call its abort() method.

comment:55 Changed 12 years ago by olle

(In [3993]) Refs #707. Refs #362. Class/file action/xTandemInput/ListXTandemParameterSetStorage.java in client/servlet/ updated:

  1. Public method void runMe() updated in table title key string,

in order to get better consistency with form for other search parameter sets.

comment:56 Changed 12 years ago by olle

(In [3998]) Refs #707. Refs #362. Refs #287. First version of support for editing of X!Tandem parameter set storage properties:

  1. New class/file action/xTandemInput/ViewXTandemParameterSetStorageProperties.java

in client/servlet/ added. It implements interface ContextEnabled and adds a "Properties" button to the tool bar of tables listing XTandemParameterSetStorage items. It is checked that exactly one item is selected, and its id is set to value of new valid parameter Vinteger VXTANDEMPARAMETERSETSTORAGEID in new class ViewActiveXTandemParameterSetStorageProperties, after which action is forwarded to the latter class.

  1. New class/file action/xTandemInput/ViewActiveXTandemParameterSetStorageProperties.java

in client/servlet added. It obtains the value of new valid parameter Vinteger VXTANDEMPARAMETERSETSTORAGEID, and gets the corresponding XTandemParameterSetStorage item, whose properties are shown using new form XTandemParameterSetStoragePropertiesForm. A "Save" button is coupled to action link to new class SaveXTandemParameterSetStorageProperties.

  1. New class/file gui/form/XTandemParameterSetStoragePropertiesForm.java

in client/servlet/ added. It creates a form for properties of a XTandemParameterSetStorage item.

  1. New class/file action/xTandemInput/SaveXTandemParameterSetStorageProperties.java

in client/servlet/ added. It obtains values from the XTandemParameterSetStoragePropertiesForm form and saves them in the corresponding XTandemParameterSetStorage item.

  1. English dictionary file locale/en/dictionary in client/servlet/

updated with new string keys.

comment:57 Changed 12 years ago by olle

(In [4189]) Refs #748. Refs #635. Refs #362. Running peptide identification using X!Tandem updated to support disabling the functionality via the configuration file:

  1. X!Tandem properties template file conf/xtandem.properties.in in client/servlet/ updated with new option "xtandem.local.disabled", that should be set to "yes" or "no".
  1. Class/file action/file/PerformXTandemSearch.java in client/servlet/ updated to implement the ExtensionDisableInterface. New public method boolean fetchExtensionDisabledFlag() retrieves the disable flag by calling the fetchExtensionDisabledFlag() method of an instance of UseSpectrumFileForXTandemSearchExtension.
  1. Class/file action/file/UseSpectrumFileForXTandemSearchExtension.java in client/servlet/ updated to implement the ExtensionDisableInterface. New public method boolean fetchExtensionDisabledFlag() retrieves the disable flag from the X!Tandem properties file. If the properties file is missing, true is returned, while if the disable option is missing, false is returned for backwards compatibility.

comment:58 Changed 11 years ago by olle

(In [4224]) Refs #756. Refs #362. Class/file plugins/SeachXTandemPlugin.java in plugin/ updated with basic progress info:

  1. Private method void xTandemSearchViaWebInterface(Request request, Response response, ProgressReporter progress, ...) updated to call new private method void reportProgress(ProgressReporter progress, int percentCompleted, String progressMessage) to inform when the search is submitted, when it is executing, and when results are retrieved.
  1. New private method void reportProgress(ProgressReporter progress, int percentCompleted, String progressMessage) added. It reports progress and logs the progress info.

comment:59 Changed 11 years ago by olle

(In [4238]) Refs #763. Refs #362. Refs #287. Refs #290. Support of running X!Tandem searches from Proteios SE updated by option to import results automatically:

  1. Class/file action/file/UseSpectrumFileForXTandemSearchExtension.java in client/servlet/ updated to add new button to create search job and import results. The selected button should be identified by the value of new valid parameter VBoolean SearchXTandem.VXTANDEMIMPORTRESULTSFLAG being set to true.
  1. Class/file action/xTandemInput/ViewActiveXTandemParameterSetStorage.java in client/servlet/ updated to extend the form for inspecting/editing parameters when spectrum files have been selected for searching, in which case a new field set "X!Tandem - Additional Options not in Parameter Set" will be added, with initially a single check box "Import results", coupled to new valid parameter VBoolean SearchXTandem.VXTANDEMIMPORTRESULTSFLAG. The check box should as default not be checked.
  1. Class/file action/xTandemInput/SaveXTandemParameterSetStorage.java in client/servlet/ updated to retrieve the value of new valid parameter VBoolean SearchXTandem.VXTANDEMIMPORTRESULTSFLAG and add it as parameter to the forward action link, using the same valid parameter. This ensures that the value is transferred to the action creating the search job after the parameters have been saved.
  1. Class/file action/xTandemInput/SearchXTandem.java in client/servlet/ updated to retrieve the value of new valid parameter VBoolean SearchXTandem.VXTANDEMIMPORTRESULTSFLAG and transfer it as job parameter to the created search job.
  1. Class/file plugins/SearchXTandemPlugin.java in plugin/ updated:
    a. Private method void execute(Request request, Response response, ProgressReporter progress) updated to retrieve value of Boolean results import flag from job parameter, and use it as argument when calling updated private method void xTandemSearchViaWebInterface(..., Boolean importResultsFlag) or void xTandemSearchLocal(..., Boolean importResultsFlag).
    b. Private method void xTandemSearchViaWebInterface(...) updated with new argument Boolean importResultsFlag. If the value is true, new private method Job createImportJob(String pluginClassName, String jobName, File inputFile) is called to create an import job to import the results. Job done message updated with info regarding uploaded file and optionally created import job.
    c. Private method void xTandemSearchLocal(...) updated with new argument Boolean importResultsFlag. If the value is true, new private method Job createImportJob(String pluginClassName, String jobName, File inputFile) is called to create an import job to import the results. Job done message updated with info regarding uploaded file and optionally created import job.
    d. Private method void uploadFileViaWebInterface(...) updated to File uploadFileViaWebInterface(...) and return the uploaded results file item.
    e. Private method void uploadXTandemOutputFile(...) updated to File uploadXTandemOutputFile(...) and return the uploaded results file item.
    f. New private method Job createImportJob(String pluginClassName, String jobName, File inputFile) added. It creates an import job to import results.
  1. English dictionary file locale/en/dictionary in client/servlet/ updated with new entries for various string keys.
  1. Default icon settings file "default" in icons/ in client/servlet/ updated with icon assignments for new string keys.

comment:60 Changed 10 years ago by olle

(In [4364]) Refs #787. Refs #362. New X!Tandem search parameter file type FileType.XTANDEM_PARAMETERS added.

comment:61 Changed 10 years ago by olle

(In [4366]) Refs #787. Refs #362. Refs #363. When a new X!Tandem search parameter set is created, the corresponding parameter file is set to file type FileType.XTANDEM_PARAMETERS:

  1. Class/file action/xTandemInput/AddXTandemParameterSetStorage.java in client/servlet/ is updated in protected method void runMe() to cover the case when a new search parameter set is created using "Save".
  1. Class/file action/xTandemInput/SaveXTandemParameterSetStorage.java in client/servlet/ is updated in protected method void runMe() to cover the case when a new search parameter set is created using "Save As...".
Note: See TracTickets for help on using tickets.