#405 closed (fixed)
Support export for publication
Reported by: | Jari Häkkinen | Owned by: | olle |
---|---|---|---|
Milestone: | Proteios SE 2.6 | Keywords: | |
Cc: |
Description (last modified by )
It should be possible to export the filtered Hits report as PRIDE 2.1 xml (schema).
This could be either as Gel export or non-gel export, which will mean two different export formats. The export should be based on hits passing a certain combinedFDR.
Major considerations: If more than one protein with exactly the same score is observed, only one accession should be reported, and the other be reported as a CV entry 'indistinguishable protein accession', rather than reporting as two separate proteins.
For protein-level combined hits, the same protein will appear several times, but with different search engine scores. To sort this out we should first report all proteins which are primary combined, and with combined FDR<xxx. Score to report to PRIDE is then combined FDR and the individual search scores appears as PRIDE CV params.
For the combined hits, this ticket is depending on #479.
The searches are obliged to be performed with mzData. In this way, the mzData part of the PrideXML can be taken directly from the mzData file. There should be one PRIDE XML generated for each mzData file.
Some information is probably missing in the database. The user could be asked to fill in the experiment information as annotations, and then retry. the CV mapping has to be solved.
Change History (86)
comment:1 Changed 15 years ago by
Milestone: | Proteios Future Release → Proteios 2.5 |
---|
comment:2 Changed 15 years ago by
type: | defect → enhancement |
---|
comment:3 Changed 14 years ago by
Milestone: | Proteios 2.5 → Proteios Future Release |
---|
comment:4 Changed 14 years ago by
Description: | modified (diff) |
---|---|
Milestone: | Proteios Future Release → Proteios 2.5 |
comment:5 Changed 14 years ago by
Description: | modified (diff) |
---|---|
Milestone: | Proteios SE 2.5 → Proteios SE 2.6 |
Owner: | changed from Fredrik Levander to olle |
comment:7 Changed 14 years ago by
General info: PRIDE is an acronym for "PRoteomics IDEntifications database".
comment:8 Changed 14 years ago by
Traceability note: The ticket referred to in the ticket description is Ticket #479 (Improvement of identification combination).
comment:9 Changed 14 years ago by
General info:
- PRIDE is an acronym for "PRoteomics IDEntifications database"
- FDR denotes "False Discovery Rate", (Number of False Discoveries / Number of Discoveries)
- CV denotes "Controlled Vocabulary", notations defined in the used ontology
comment:10 Changed 14 years ago by
Discussion of development tactics:
For many projects, a near final routine can be constructed from the design specification, and the former is then submitted to a test panel of users. Found bugs will be fixed and the updated routine is included in the next software release. Regrettably, the current project of exporting database table data to a PRIDE XML file has the problem that it is not always obvious how the former should be mapped to different XML tags. An XML file can easily be produced that fulfills the requirements in the PRIDE XSD (XML Schema Definition), and therefore is a "valid" PRIDE XML file, but where the data entries are erroneous. However, the file might still look perfectly OK to a layman.
To speed up development, it is therefore imperative that users with expertise in proteomics
can test the export routine in an early development stage, in order to give input on what
is right and wrong, and what is missing. To give a clear indication of the experimental
nature of this piece of code before release, the title for web form "PRIDE XML Export
"
will be exchanged for "PRIDE XML Export (CAUTION! Experimental - Do not trust results)
",
as a warning to those who install Proteios SE from the subversion trunk.
comment:11 Changed 14 years ago by
Outline of initial (experimental) design for exporting Hits data to a PRIDE XML file:
The design is inspired by the design of the "Protein Assembly" routine, as the latter also processes hits items, but the internal structure of the classes has been modified.
- It is assumed that functions "Combined Hits Report" followed by "Protein Assembly" have been applied to the Hits table before exporting its contents to a PRIDE XML file.
- A new button denoted "PRIDE XML Export" will be added to the Hits table tool bar.
- Clicking the "PRIDE XML Export" button will display a form with info and entry fields for the export.
- A job will be created for each peaklist file in the processed hit items after filtering.
- The output XML files will be placed in the project directory of the active project.
- The output XML files will have filenames composed of an optional prefix concatenated to the base name of the relevant peaklist file, and file extension "
.pride.xml
". - The default entry for the optional filename prefix will consist of the string "
PrideExport_
" concatenated to a timestamp in "YYYYMMDD_HHMM" format and a final undercore "_", e.g. on Dec 24, 2008, 23:55, the default optional filename prefix will be "PrideExport_20081224_2355_
". If used for peaklist file "qtof_A2.xml
", the resulting output PRIDE XML file will have name "PrideExport_20081224_2355_qtof_A2.pride.xml
", while if the prefix field is blank, it will be simply "qtof_A2.pride.xml
". - A select box for selecting a gel external id will be included.
- An entry field for setting an upper cutoff value for the combined search FDR (False Discovery Rate) will be included.
- The mzData part of the PRIDE XML file will be copied directly from the mzData block in the peaklist mzData file, with added extra indentation to correspond to an inner XML block in the PRIDE XML file.
comment:12 Changed 14 years ago by
Note on initial choice for special XML tags in the PRIDE XML file:
- The
TITLE
XML block will contain information that the file was generated by Proteios SE, the full version and build numbers, and a timestamp in "YYYY-MM-DD HH:MM:SS" format indicating when the file was created. This timestamp may differ from an optional timestamp prefix in the PRIDE XML filename, as the latter specifies the time when the job session was created, while the timestamp in theTITLE
XML block specifies when the job corresponding to a specific peaklist file was executed.
comment:13 Changed 14 years ago by
(In [2973]) Refs #405. Refs #287. First experimental revision of exporting Hits table data to PRIDE XML files:
- New class/file action/hit/PrideExport.java in client/servlet/
that is connected to new button "PrideExportBtn?" in the Hits
table tool bar. It constructs a default output filename prefix
with timestamp and then calls new FormFactory
method
getPrideExportForm(Project project, String filenamePrefixDefault)
to obtain a form with settings for exporting Hits table data
to PRIDE XML files. The "Next" button of the form forwards the
action to new class CreatePrideExportJob
.
- Class/file gui/form/FormFactory.java updated with new
public method Form getPrideExportForm(Project project, String filenamePrefixDefault) for obtaining a form with settings for exporting Hits table data to PRIDE XML files.
- New class/file action/hit/CreatePrideExportJob.java in
client/servlet/ that retrieves export settings from values of
valid parameters and then creates one job for each peaklist
file in the Hits table. The plugin related to the jobs is
set to new plugin class PrideExportPlugin
, and retrieved
export settings are transferred to the jobs as job parameter
values.
- New class/file plugins/PrideExportPlugin.java in plugin/
that obtains input values from job parameter values, gets Hits item data from a query of the Hits database table, and exports data to a PRIDE XML file.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new entries for various string keys.
comment:14 Changed 14 years ago by
(In [2975]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated with bug fix:
- Public method
void doExport(File outCoreFile, ProgressReporter? progress) updated by not adding duplicate values to score list.
comment:15 Changed 14 years ago by
(In [2976]) Refs #405. Refs #287. PRIDE XML version number is now reported in
the TITLE
XML block of the PRIDE XML file, and the PRIDE XML
export form header title. The PRIDE XML version that is currently
supported by Proteios SE is 2.1.
- Class/file plugins/PrideExportPlugin.java in plugin/ updated in
private method void writePrideXmlHeader(XMLCrudeWriterImpl xmlCrudeWriterImpl) by reporting the PRIDE XML version number.
- English dictionary file locale/en/dictionary in client/servlet/
updated by adding the PRIDE XML version number in the PRIDE XML export form header title.
comment:16 Changed 14 years ago by
(In [2977]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated to determine more protein search database types from the external id accession number:
- Private method
String getDatabaseFromAccessionNumber(String acc) updated to determine database types "IPI", "ENSEMBL", "RefSeq?", "NCBI", and "SwissProt/UniProt?" from the external id accession number. Information used was mainly obtained from the PRIDE web site http://www.ebi.ac.uk/pride/.
comment:17 Changed 14 years ago by
Update of (experimental) design for exporting Hits data to a PRIDE XML file:
- The first version of the export routine will be for gel-based export. A gel external id is selected by the user.
- Hit queries will be filtered to only return hits corresponding to the current gel external id and spectrum file. In addition, the combined search FDR of the hit should not be higher than the set FDR upper limit. The hits will be ordered after external id.
- A "GelFreeIdentification" XML tag will be created for each protein hit, where the score value has not been reported before. In the following, this protein hit will be referred to as the "first score protein" hit.
Each "GelFreeIdentification" XML tag will include, in order:
- An "Accession" XML tag with the external id of the first score protein.
- A "Database" XML tag with a label indicating the protein search database type. The latter is inferred from the external id accession number.
- A section with information on the first score protein.
- For each other protein hit with identical score to the first score protein hit, a section with information on the other protein ("indistinguishable protein").
- For each peptide hit with identical external id to the first score protein hit, a "PeptideItem" XML tag with information on the peptide.
The details of what information will be included for proteins and peptides are deliberately vague at this stage.
comment:18 Changed 14 years ago by
(In [2979]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated by major re-write to comply with the following design:
- Hit queries will be filtered to only return hits corresponding
to the current gel external id and spectrum file. The combined search FDR of the hit should not be higher than the set FDR upper limit. The hits will be ordered after external id.
- A "
GelFreeIdentification
" XML tag will be created for each
protein hit, where the score value has not been reported before (this protein hit is referred to as the "first score protein" hit).
- Each "
GelFreeIdentification
" XML tag includes:
- An "
Accession
" XML tag with the external id of the first score protein.
- A "
Database
" XML tag with a label indicating the protein search database type inferred from the external id accession number.
- A section with information on the first score protein.
- For each other protein hit with identical score to the first score
protein hit, a section with information on the other protein ("indistinguishable protein").
- For each peptide hit with identical external id to the first
score protein hit, a "PeptideItem
" XML tag with information on
the peptide.
comment:19 Changed 14 years ago by
(In [2980]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated to report description for first protein with specific score as protein name in a PRIDE XML userParam tag:
- Private method
void writePrideXmlFirstScoreProteinInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated to report description for first protein with specific score as protein name in a PRIDE XML userParam tag.
comment:20 Changed 14 years ago by
(In [2981]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated by fix of critical bug:
- Public method void
doExport(File outCoreFile, ProgressReporter? progress) updated by fix of critical bug; wrong index was used in loop to retrieve list element.
comment:21 Changed 14 years ago by
Update of (experimental) design for exporting Hits data to a PRIDE XML file:
In the first version of the export routine, PRIDE XML cvParam data on search engine score or E-value for individual proteins or peptides will be reported according to the following rules:
- Mascot data - Score will be reported for both proteins and peptides using cvParam with name = "Mascot score" and accession number = "PRIDE:0000069".
- X!Tandem data - E-value will be reported for both proteins and peptides using cvParam with name = "expect" and accession number = "PRIDE:0000183".
- OMSSA data - E-value will be reported for both proteins and peptides using cvParam with name = "OMSSA E-value" and accession number = "PRIDE:0000185".
- PIUMS data - No value will be reported in the exported file, as no suitable PRIDE XML cvParam type is available. However, E-value will be reported for both proteins and peptides in debug output, for control purposes.
To simplify changes in reporting score/E-values in PRIDE XML cvParam tags, creation of the cvParam tag for a specific hit item will be put into a separate private method.
comment:22 Changed 14 years ago by
(In [2984]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated regarding report of search engine score or E-value for individual proteins or peptides as PRIDE XML cvParam tags:
- Private methods
void writePrideXmlFirstScoreProteinInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit), void writePrideXmlIndistinguishableProteinInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit), and void writePrideXmlPeptideInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated to call new private method String createScoreOrEValueCvParam(Hit currentHit) to create the cvParam tag for a specific hit item.
- New private method
String createScoreOrEValueCvParam(Hit currentHit) added. It creates a PRIDE XML cvParam for reporting score or E-value for protein or peptide. What data is reported depends on the search engine used to obtain the data, which is inferred from the score type in the hits query.
comment:23 Changed 14 years ago by
Update of (experimental) design for exporting Hits data to a PRIDE XML file:
Current version has the following bugs related to peptide reporting:
- When checking whether a peptide hit has identical external id to the first score protein hit, the case that a peptide hit might have a comma-separated list of external id values is not covered, with the result that these peptides are never reported. The correct implementation is to check if any of the external id values in the list is identical to the first score protein hit, in which case data for the peptide should be reported.
- On the other hand, currently when data is reported for a peptide, an entry is written for each external id for the peptide. Since peptides with more than one external id value were never reported in the current implementation, this had no effect, but should be changed so that for a first score protein, a single entry is reported for each peptide with an external id value equal to the first score protein hit.
- A peptide sequence is reported as the description for the peptide hit, which is only correct for peptides without modifications. For modified peptides, the description string consists of the sequence string followed by a modification string, separated by a space. The sequence string to use should therefore be the part of the description up till the first space.
comment:24 Changed 14 years ago by
(In [2993]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated by fixed bugs regarding reporting of peptide data:
- Public method
void doExport(File outCoreFile, ProgressReporter? progress) updated in selecting what peptides should be reported for a first score protein hit. If a peptide has a comma-separated list of several external id values, it is reported if any of the external id values in the list equals the external id of the first score protein hit.
- Private method
void writePrideXmlPeptideInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated:
- For a first score protein, a single entry is now reported for each
peptide with an external id value equal to the first score protein hit, even if the peptide has a comma-separated list of several external id values.
- A peptide sequence string is now only the part of the description
string up till the first space, which will be correct also for modified peptides, where the description string consists of the sequence string followed by a modification string, separated by a space.
- In addition, a PRIDE XML
Sequence
tag is only written for a
peptide if a sequence string could be constructed. Previously an
empty Sequence
XML tag was written if no sequence could be
determined.
comment:25 Changed 14 years ago by
comment:26 Changed 14 years ago by
(In [2996]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated by fixed bugs regarding reporting of peptide data:
- Public method
void doExport(File outCoreFile, ProgressReporter? progress) updated in selecting what peptides should be reported for a first score protein hit. If a peptide has a comma-separated list of several external id values, it is reported if any of the external id values in the list equals the external id of the first score protein hit.
- Private method
void writePrideXmlPeptideInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated:
- For a first score protein, a single entry is now reported for each
peptide with an external id value equal to the first score protein hit, even if the peptide has a comma-separated list of several external id values.
- A peptide sequence string is now only the part of the description
string up till the first space, which will be correct also for modified peptides, where the description string consists of the sequence string followed by a modification string, separated by a space.
- In addition, a PRIDE XML Sequence tag is only written for a
peptide if a sequence string could be constructed. Previously an empty Sequence XML tag was written if no sequence could be determined.
comment:27 Changed 14 years ago by
Update of (experimental) design for exporting Hits data to a PRIDE XML file:
- For gel-based PRIDE XML export, indicated by a non-null gel external id string, a "
TwoDimensionalIdentification
" XML tag should be used for each first score protein hit, instead of a "GelFreeIdentification
" XML tag. - Also, for gel-based PRIDE XML export, gel-related information (potential link to gel image, x- and y-coordinates for the spot), molecular weight, and pI values will be reported near the end of the "
TwoDimensionalIdentification
" XML tag. - The "
Score
" XML tag with combined search FDR value, will be moved to just before the gel-related information, near the end of the "TwoDimensionalIdentification
" XML tag.
comment:28 Changed 14 years ago by
(In [3000]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated to report gel-related data for gel-based PRIDE XML export:
- Public method
void doExport(File outCoreFile, ProgressReporter? progress) updated to call new private methods void writeProteinPeptideContainerStartElement( XMLCrudeWriterImpl xmlCrudeWriterImpl, String gelExternalIdStr, String localSampleIdStr) and void writeProteinPeptideContainerEndElement( XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit, String gelExternalIdStr, String localSampleIdStr) to write correct PRIDE XML tag for gel- and non-gel-based export.
- New private method
void writeProteinPeptideContainerStartElement(
XMLCrudeWriterImpl xmlCrudeWriterImpl, String gelExternalIdStr, String localSampleIdStr)
writes a "TwoDimensionalIdentification
" XML start element for
gel-based export, and a "GelFreeIdentification
" XML start element
for non-gel-based export.
- New private method
void writeProteinPeptideContainerEndElement( XMLCrudeWriterImpl xmlCrudeWriterImpl, String gelExternalIdStr, String localSampleIdStr) calls new private method void writeTwoDimensionalIdentificationEndPart( XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) for gel-based export, and void writeGelFreeIdentificationEndElement(XMLCrudeWriterImpl xmlCrudeWriterImpl) for non-gel-based export.
- New private method
void writeTwoDimensionalIdentificationEndPart(
XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
writes gel-related data and a "TwoDimensionalIdentification
"
XML end element.
- New private convenience method
void writeXmlFloatTag(XMLCrudeWriterImpl xmlCrudeWriterImpl, String tagName, Float value) for an XML entry for a Float value. If the value is null, an empty string will be used as value.
comment:29 Changed 14 years ago by
comment:30 Changed 14 years ago by
comment:31 Changed 14 years ago by
(In [3010]) Refs #405. Refs #287. PRIDE XML export updated for gel based export with option to append the gel external id to the optional output filename prefix:
- Class/file gui/form/FormFactory.java in client/servlet/ updated
in public method Form getPrideExportForm(Project project, String filenamePrefixDefault) by adding a check box in the output field set for selecting to append the gel external id to the optional output filename prefix. The check box is checked by default, and is coupled to new valid parameter VBoolean VGELEXTERNALIDPREFIX in class/file action/hit/CreatePrideExportJob.java in client/servlet/.
- Class/file action/hit/CreatePrideExportJob.java in
client/servlet/ updated with new valid parameter VBoolean VGELEXTERNALIDPREFIX. Its value is obtained from the form created by FormFactory? public method Form getPrideExportForm(Project project, String filenamePrefixDefault). If the flag and a gel external id has been chosen, the gel external id is appended to the originally selected filename prefix, and transferred to the created job.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new entry for the string key for the check box.
comment:32 Changed 14 years ago by
(In [3011]) Refs #37. Refs #405. Class/file io/XMLValidatorErrorHandler.java
in api/core/ updated to report line number when reporting a
org.xml.sax.SAXParseException
:
- Public method
void error(org.xml.sax.SAXParseException sAXParseException)
updated to report line number when reporting a
org.xml.sax.SAXParseException
.
- Public method
void fatalError(org.xml.sax.SAXParseException sAXParseException)
updated to report line number when reporting a
org.xml.sax.SAXParseException
.
- Public method
void warning(org.xml.sax.SAXParseException sAXParseException)
updated to report line number when reporting a
org.xml.sax.SAXParseException
.
comment:33 Changed 14 years ago by
Experimental design for exporting Hits data to a PRIDE XML file will be updated to test if the created XML file is valid according to the PRIDE XML schema definition (XSD):
- The created PRIDE XML file will be tested against the PRIDE XML schema definition (XSD).
- If the file is valid, a note of this will be added as a debug log entry.
- If the file is invalid, the job termination status will be reported as an error, but the created file will not be automatically removed. A note will be added as a debug log entry, and more details of the failed test will also be found in the debug log file.
comment:34 Changed 14 years ago by
(In [3013]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated to test if the created XML file is valid according to the PRIDE XML schema definition (XSD). Various additions/changes in created XML tags in order to create a valid PRIDE XML file:
- Public method
void doExport(Directory outCoreDir, String filename, ProgressReporter? progress) updated to test if the created XML file is valid according to the PRIDE XML schema definition (XSD).
- Public method
void doExport(File outCoreFile, ProgressReporter? progress) updated by splitting info for first score protein into a start and an end part.
- Private method
ItemQuery?<Hit> createProteinHitQuery(Project theProject, File thePeakListFile, double cutoff, String gelExternalIdStr, String localSampleIdStr, boolean externalIdOrderingFlag) updated by performing FDR check earlier performed by createBasicHitQuery(...).
- Private method
ItemQuery?<Hit> createBasicHitQuery(Project theProject, File thePeakListFile, double cutoff, String gelExternalIdStr, String localSampleIdStr, boolean externalIdOrderingFlag) updated by removal of FDR check now performed by createProteinHitQuery(...).
- Private method
void writePrideXmlHeader(XMLCrudeWriterImpl xmlCrudeWriterImpl) updated by adding more info and XML tags to make the XSD happy.
- Private method
void writeTwoDimensionalIdentificationEndPart( XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated by removing score, gel, molecular weight, and pI info, in order to create a valid PRIDE XML file (moved to new private method writePrideXmlFirstScoreProteinEndInfo(...).
- New private method
void writePrideXmlFirstScoreProteinStartInfo( XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) added. It writes accession and database info.
- New private method
void writePrideXmlFirstScoreProteinEndInfo( XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) added. It writes score, gel, molecular weight, and pI info.
comment:35 Changed 14 years ago by
Discussion of problems regarding peptide modification management:
Mapping of entries for peptide modifications in different search engines to PRIDE XML cvParam tags is not trivial, for several reasons:
- The number of managed modifications is large (100+ to 1000+).
- The structure of the entries differ between search engines, e.g. fixed entries vs. combination of components, making a one-to-one mapping hard.
- Modifications can be described at different level of detail.
In order to obtain a good mapping of entries, apart from information on the various controlled vocabularies used, knowledge of the chemistry behind the modifications and experimental practice is also important in some cases.
Support in the first experimental design for exporting Hits data to a PRIDE XML file will be very limited, but the intent is to improve it in the future:
- The protein modification ontology (PSI-MOD) will be used for the peptide modifications (see http://psidev.sourceforge.net/mod/ for more information).
- Mascot search engine will be used as test case.
- Specifically, methionine oxidation will be used as test case.
- Where a specific modification is applied to more than one amino acid of the same type in the peptide, e,g, oxidation of 3 methionine residues, a cvParam entry will be made for each amino acid.
comment:36 Changed 14 years ago by
(In [3014]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated by adding first skeleton of peptide modification management:
- Private method
void writePrideXmlPeptideInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated by calling new private method writePeptideModificationCvParam(xmlCrudeWriterImpl, currentHit) to report optional peptide modification as PRIDE CV param.
- New private method
void writePeptideModificationCvParam(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) added. It reports optional peptide modification as PRIDE CV param. The modification information is taken from the part of the peptide description after the first space, and is interpreted according to what search engine was used.
- New private convenience method
void writeCvParam(XMLCrudeWriterImpl xmlCrudeWriterImpl, String cvParamStr) added. It writes a cvParam XML tag with the supplied string contents.
comment:37 Changed 14 years ago by
Update of (experimental) design for reporting peptide modifications when exporting Hits data to a PRIDE XML file:
- In order to not lose any modification information when exporting to PRIDE XML, in addition to a possible cvParam XML tag, a userParam XML tag will be written with information on the search engine in the "name" part, and the extracted modification string in the "value" part. A modification userParam XML tag is written after any modification cvParam XML tag/tags, and can be used to check the validity of the latter.
comment:38 Changed 14 years ago by
(In [3021]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated by reporting peptide modifications as a userParam XML tag:
- Private method
void writePeptideModificationCvParam(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated to report peptide modifications as a userParam XML tag with information on the search engine in the "name" part, and the extracted modification string in the "value" part. A modification userParam XML tag is written after any modification cvParam XML tag/tags.
- New private convenience method
void writeUserParam(XMLCrudeWriterImpl xmlCrudeWriterImpl, String userParamStr) added for writing a userParam XML tag. In its present form it is a simple wrapper that calls new private method void writeSingleTag(XMLCrudeWriterImpl xmlCrudeWriterImpl, String content) to write a single XML tag.
- Private convenience method
void writeCvParam(XMLCrudeWriterImpl xmlCrudeWriterImpl, String cvParamStr) updated to be a wrapper that calls new private method void writeSingleTag(XMLCrudeWriterImpl xmlCrudeWriterImpl, String content) to write a single XML tag.
- New private convenience method
void writeSingleTag(XMLCrudeWriterImpl xmlCrudeWriterImpl, String content) added. It writes a single XML tag with the given content string.
comment:39 Changed 14 years ago by
Update of (experimental) design for reporting peptide modifications when exporting Hits data to a PRIDE XML file:
- In order to obtain information on e.g. fixed modifications, a SpectrumSearch database query should be made for the search hit, and the extracted data should be reported in cvParam and/or userParam XML tags.
comment:40 Changed 14 years ago by
(In [3022]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated when reporting peptide modifications, by performing
a SpectrumSearch
database query, in order to obtain information
on e.g. fixed modifications. Previous code for peptide modification
reporting has been refactored into several new methods:
- Private method
void writePeptideModificationCvParam(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) has its name changed to void writePeptideModificationInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) as it is now the entry method for peptide modification reporting, and both cvParam and userParam XML tags may be written. The old functionality is moved to new private method void writePeptideModificationInfoFromHitDescription(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit), which is called following a call to new private method void writePeptideModificationInfoFromSpectrumSearch(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit).
- New private method
void writePeptideModificationInfoFromSpectrumSearch(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
that writes PRIDE XML cvParam(s)/userParam(s) for a potential
peptide modification, based on information taken from a
database SpectrumSearch
query for the hit.
- New private method
void writePeptideModificationInfoFromHitDescription(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) that writes PRIDE XML cvParam(s)/userParam(s) for a potential peptide modification, based on information taken from the hit description.
- New private convenience method
String addComponentString(String baseString, String stringToAdd) that appends a new string to an input base string after an optional separator string, in case the base string is not empty.
comment:41 Changed 14 years ago by
(In [3023]) Refs #405. Refs #287. The PRIDE XML version number displayed in
the PRIDE XML export form header title is now taken from the
same source as the version number written in the TITLE
XML block
of the PRIDE XML file. A single source is therefore now used for
the PRIDE XML version number, and it need not be referenced in
the dictionary files. This is an update to the changes made in
changeset [2976].
- Class/file plugins/PrideExportPlugin.java in plugin/ updated
by changing string constant PRIDE_XML_VERSION_STR
from a
private environment variable to a public static variable.
- Class/file action/hit/PrideExport.java in client/servlet/
updated in protected method void runMe() by getting PRIDE XML
version number from static variable
PrideExportPlugin.PRIDE_XML_VERSION_STR
.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new string key entry and removal of references to the PRIDE XML version number in string keys.
comment:42 Changed 14 years ago by
Update of (experimental) design for reporting peptide modifications by performing a SpectrumSearch
database query:
- The code added in changeset [3022] only checks the first query hits and modifications, if several exists. This needs to be updated to include all items.
- The modification types "fixed", "substitution", and "variable" are mutually exclusive, so there is no need to support a comma-separated list for this information. A modification is of type "variable" if it is neither "fixed" nor "substitution".
- For modification types "fixed" and "variable", PRIDE cvParam XML tags can be written.
- The modification information from a
SpectrumSearch
database query will be identical for all peptide items from searches for the same peak list set/spectrum file. For the moment this information will still be written for each peptide item. - The userParam information may be regarded as unnecessary in the future, as most information are now supplied in cvParam XML tags, which have the benefit of being machine readable, as they are coupled to a specified ontology. For the moment the modification userParam XML tags will be kept as a check, as they sometimes contain more information than the cvParam XML tags.
comment:43 Changed 14 years ago by
(In [3031]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/
updated for reporting peptide modifications by performing a
SpectrumSearch
database query, in order to obtain information on
e.g. fixed modifications:
- Private method
void writePeptideModificationInfoFromSpectrumSearch(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated:
- If several query hits or modifications exist, all items are
checked, not just the first.
- Code related to database information in the
SpectrumSearch
query result has been removed, to be addressed in another method.
- The modification types "fixed", "substitution", and "variable"
are now treated as mutually exclusive. A modification is of type "variable" if it is neither "fixed" nor "substitution".
- For modification types "fixed" and "variable", PRIDE cvParam XML tags are written.
comment:44 Changed 14 years ago by
(In [3032]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/
updated to obtain search database information from SpectrumSearch
query, if possible:
- Private method
void writePrideXmlFirstScoreProteinStartInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
updated to first try to obtain search database information from
SpectrumSearch
query by calling new private method
String fetchSearchDatabaseInfoFromSpectrumSearch(Hit currentHit).
If the call does not supply any search database information,
the latter is obtained from the accession number.
- New private method
String fetchSearchDatabaseInfoFromSpectrumSearch(Hit currentHit)
added. It performs a SpectrumSearch
query, in order to obtain
search database information.
comment:45 Changed 14 years ago by
Update of (experimental) design for non-gel PRIDE XML export:
- For non-gel export a local sample id is selected instead of a gel external id, so it is natural that the option of appending the gel external id to the export filename prefix is exchanged for appending the local sample id to the prefix. The check box legend for the extra prefix option is changed to cover both gel based and non-gel based export.
comment:46 Changed 14 years ago by
(In [3035]) Refs #405. Refs #287. PRIDE XML export is updated to allow a local sample id to be appended to the export filename prefix in case of non-gel based export:
- Class/file action/hit/CreatePrideExportJob.java in
client/servlet/ updated for appending an extra id to the filename prefix:
- Name of valid parameter
VBoolean VGELEXTERNALIDPREFIX
changed
to VBoolean VEXTRAPREFIX
to reflect that the extra prefix may
be either a gel external id or a local sample id.
- Protected method void runMe() updated to use either a gel
external id or a local sample id as optional extra prefix, depending on whether the export is gel based or non-gel based. Relevant variable names changed to not refer specifically to a gel external id.
- Class/file gui/form/FormFactory.java in client/servlet/ updated
in public method
Form getPrideExportForm(Project project, String filenamePrefixDefault)
by change of variable name for check box indicating extra id
prefix, and exchanging check box label key string
AppendGelExternalIdToPrefix
for the more appropriate
AppendExtraIdToPrefix
.
- English dictionary file locale/en/dictionary in client/servlet/
updated by exchanging check box string key
AppendGelExternalIdToPrefix
for AppendExtraIdToPrefix
and changing the text to cover both gel based and non-gel based
PRIDE XML export.
comment:47 Changed 14 years ago by
Update of (experimental) design for reporting peptide modifications by performing a SpectrumSearch
database query:
- Fixed modification cvParam and userParam XML tags with information from a
SpectrumSearch
database query should only be written for a peptide whose sequence contains the modified amino acid. - Variable modification cvParam and userParam XML tags with information from a
SpectrumSearch
database query should only be written for a peptide whose description indicates that the peptide is modified.
comment:48 Changed 14 years ago by
(In [3043]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/
updated regarding reporting peptide modifications by performing a SpectrumSearch
database query. Fixed modification cvParam and userParam XML tags with information from a SpectrumSearch
database query are now only written for a peptide whose sequence contains the modified amino acid. Variable modification cvParam and userParam XML tags with information from a SpectrumSearch
database query are now only written for a peptide whose description indicates that the peptide is modified:
- Private method
void writePeptideModificationInfoFromSpectrumSearch(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated to write modification PRIDE cvParam and userParam XML tags for fixed modification if peptide contains affected amino acid, and to write modification PRIDE cvParam and userParam XML tags for variable modification if peptide description supports it. Calls new private methods String fetchPeptideSequenceFromHitDescription(Hit currentHit) and List<String> fetchPeptideModificationTargetListFromHitDescription(Hit currentHit).
- Private method
void writePeptideModificationInfoFromHitDescription(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated to call new private method String fetchPeptideSearchEngine(Hit currentHit) to obtain the search engine type.
- New private convenience method
String fetchPeptideSequenceFromHitDescription(Hit currentHit) added for obtaining the peptide sequence from the hit description.
- New private convenience method
List<String> fetchPeptideModificationTargetListFromHitDescription(Hit currentHit) added for obtaining a list of modification target strings (one-letter codes for modified amino acids) from the hit description. It calls new private method String fetchPeptideSearchEngine(Hit currentHit) to obtain the search engine type, and currently only supports retrieval of modification target strings from Mascot searches.
- New private convenience method
String fetchPeptideSearchEngine(Hit currentHit) added for obtaining the search engine type.
comment:49 Changed 14 years ago by
Summary of current (experimental) design for non-gel PRIDE XML export:
- Hit queries will be filtered to only return hits corresponding to the current local sample id and spectrum file (already implemented).
- A "
GelFreeIdentification
" XML tag should be used for each first score protein hit, instead of a "TwoDimensionalIdentification
" XML tag, which is used for gel-based PRIDE XML export.
comment:50 Changed 14 years ago by
Update of (experimental) design for non-gel PRIDE XML export:
- No filtering related to the combined search FDR of the hit will be performed. Instead a protein hit with score type "
Proteios Protein
" and that is primary combined will be denoted as a "first score protein" hit. - For a "first score protein" hit, a protein for a combined hit whose primary hit is the first score protein hit, will be denoted as an "indistinguishable protein".
comment:51 Changed 14 years ago by
(In [3070]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated regarding selection of "first score protein" and "indistinguishable protein" for non-gel based PRIDE XML export. Also some general additions:
- Private method
ItemQuery?<Hit> createProteinHitQuery(Project theProject, File thePeakListFile, double cutoff, String gelExternalIdStr, String localSampleIdStr, boolean externalIdOrderingFlag) updated for non-gel based PRIDE XML export to not filter protein hit queries for the combined search FDR, or whether the protein is primary combined.
- Public method
void doExport(File outCoreFile, ProgressReporter? progress) updated for non-gel based PRIDE XML export:
- A protein hit with score type "
Proteios Protein
" and that is
primary combined will be denoted as a "first score protein" hit.
- For a "first score protein" hit, a protein for a combined hit
whose primary hit is the first score protein hit, will be denoted as an "indistinguishable protein".
- Private method
void writePrideXmlIndistinguishableProteinInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated to write a PRIDE XML userParam with the protein hit description for an indistinguishable protein. The userParam is of the same type as that written for a "first score" protein. This addition concerns both gel based and non-gel based PRIDE XML export.
- Private method
String fetchSearchDatabaseInfoFromSpectrumSearch(Hit currentHit)
updated to return null
if no search file could be obtained for
the hit, instead of throwing a NullPointerException
.
comment:52 Changed 14 years ago by
(In [3071]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated by reporting accession number in cvParam for indistinguishable protein:
- Private method
void writePrideXmlIndistinguishableProteinInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit) updated by reporting accession number in cvParam for indistinguishable protein.
comment:53 Changed 14 years ago by
Update of (experimental) design for PRIDE XML export:
- An "additional" XML block should be added just before the end of the "Experiment" XML block, containing a PRIDE cvParam XML tag with information on the XML generation software, which will be reported as Proteios SE, with version and build number.
comment:54 Changed 14 years ago by
(In [3072]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/
updated by writing an "additional
" XML block just before the end
of the "Experiment
" XML block, containing a PRIDE cvParam XML tag
with information on the XML generation software.
- Public method
void doExport(File outCoreFile, ProgressReporter? progress)
updated by calling new private method
void writePrideXmlGeneratorInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl)
to write an "additional
" XML block just before the end
of the "Experiment
" XML block, containing a PRIDE cvParam XML tag
with information on the XML generation software.
- New private void
writePrideXmlGeneratorInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl)
added. It writea an "additional
" XML block containing a PRIDE
cvParam XML tag with information on the XML generation software,
which is reported as Proteios SE, with version and build number.
comment:55 Changed 14 years ago by
Update of (experimental) design for reporting peptides for non-gel PRIDE XML export:
- For a "first score protein" hit, only peptides with same external id as the first score protein, and that are primary combined (new added condition), will be reported as peptide items.
- For a primary combined peptide hit, a non-primary peptide hit whose primary hit is the former, will represent result for an alternative search engine, and will be written as a search result cvParam for the original peptide hit.
comment:56 Changed 14 years ago by
(In [3073]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/ updated regarding report of peptide items for non-gel based PRIDE XML export. Only primary combined peptides will be reported as separate peptide items. A non-primary peptide hit will represent result for an alternative search engine for a primary combined peptide hit, and will be written as a search result cvParam for the latter. Also removal of some debug output, in order to decrease the size of the log file:
- Public method
void doExport(File outCoreFile, ProgressReporter? progress) updated for non-gel export by only reporting peptide hits that are primary combined as separate peptide items. When calling updated private method void writePrideXmlPeptideInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit, ItemResultList?<Hit> peptideHitList) the peptide hit list is given as argument, indicating that the latter method should list non-primary peptide hits whose primary hit is the current peptide item hit, as an alternative search result cvParam for the latter.
- Private method
void writePrideXmlPeptideInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl,
Hit currentHit, ItemResultList?<Hit> peptideHitList)
updated with new argument ItemResultList<Hit> peptideHitList
.
If the latter differs from null, non-primary peptide hits whose
primary hit is the current peptide item hit, will be reported as
an alternative search result cvParam for the latter.
comment:57 Changed 14 years ago by
comment:58 Changed 14 years ago by
Update of (experimental) design for PRIDE XML export:
- The value of the "
SearchEngine
" XML tag for a first score protein hit is normally set to the score type for the hit, but when the latter equals "Proteios Protein
", it should be exchanged for the more informative "Proteios SE, combination of Mascot, X!Tandem and k-score
".
comment:59 Changed 14 years ago by
(In [3075]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/
updated when reporting the value of the "SearchEngine
" XML tag
for a first score protein hit. If the score type for the hit
equals "Proteios Protein
", the value reported should be
"Proteios SE, combination of Mascot, X!Tandem and k-score
":
- Private method
void writePrideXmlFirstScoreProteinEndInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
updated when reporting the value of the "SearchEngine
" XML tag
for a first score protein hit. If the score type for the hit
equals "Proteios Protein
", the value reported should be
"Proteios SE, combination of Mascot, X!Tandem and k-score
".
comment:60 Changed 14 years ago by
Update of (experimental) design for PRIDE XML export, when reporting a value of the "SearchEngine
" XML tag for a first score protein hit:
- The value of the "
SearchEngine
" XML tag for a first score protein hit is normally set to the score type for the hit, but when the latter equals "Proteios Protein
", it should be exchanged for a string reporting that it was produced by Proteios SE, and what search engines were combined. The latter list should be obtained by a database query, and therefore only include search engines actually used.
comment:61 Changed 14 years ago by
(In [3076]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/
updated when reporting the value of the "SearchEngine
" XML tag
for a first score protein hit. If the score type for the hit equals
"Proteios Protein
", it is reported that it was produced by
Proteios SE, and what search engines were combined. The latter list is obtained by a database query, and therefore only includes search engines actually used.
- Private method
void writePrideXmlFirstScoreProteinEndInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
updated when reporting the value of the "SearchEngine
" XML tag
for a first score protein hit. If the score type for the hit equals
"Proteios Protein
", , it is reported that it was produced by
Proteios SE, and what search engines were combined. The latter list
is obtained by calling new private method
List<String> fetchUsedScoreTypeList().
- New private method List<String> fetchUsedScoreTypeList() added.
It fetches a list of used score types by performing a database
query. The list only includes one entry for each search engine,
e.g. "Mascot peptide score
" and "Mascot protein score
" are
reported as "Mascot
". Unique score type "Proteios Protein
" is
skipped, and does not lead to an entry in the list.
comment:62 Changed 14 years ago by
Update of (experimental) design for PRIDE XML export:
- When a PRIDE XML file could be generated, but is not valid according to the PRIDE XSD (XML Schema Definition), the export job should still be considered successful, but a warning message should be appended to the job success message. This decision is based on the fact that the failure to pass the XSD validation test often is related to missing input data in XML tags, that optionally could be added later. Previously a job that created a non-valid export file resulted in the job completion status being set to "
ERROR
", which might indicate that the file generation was unexpectedly interrupted.
comment:63 Changed 14 years ago by
(In [3077]) Refs #405. Class/file plugins/PrideExportPlugin.java in plugin/
updated to set the job completion status to "DONE
" instead of
"ERROR
" for an export job where a PRIDE XML file could be
generated, but is not valid according to the PRIDE XSD
(XML Schema Definition). However, in the latter case a warning
message should be appended to the job success message.
- New private instance variable
String warningMessage
with
protected accessor methods added. Its default value is null
.
- Public method
void doExport(Directory outCoreDir, String filename, ProgressReporter? progress) updated to not throw a BaseException when validation of the generated PRIDE XML file fails, but set a warning message informing of the failure.
- Public method
void run(Request request, Response response, ProgressReporter? progress) updated to check if an optional warning message exists, and if so append it to the job success message.
comment:65 Changed 14 years ago by
Update of (experimental) design for PRIDE XML export:
- The user should have the option of selecting an XML file containing a protocol XML block of a PRIDE XML file. If a protocol file is selected, the protocol XML block will be copied to the exported PRIDE XML file, otherwise a dummy protocol XML block will be used (the current case).
comment:66 Changed 14 years ago by
Discussion of implications for code design induced by allowing selection of a PRIDE XML protocol file:
- The single form for setting PRIDE XML export parameter values need to be supplemented by a second form for selecting the optional PRIDE XML protocol file. Addition of a file selection form is a standard scenario, implemented by two extra classes, that sets parameters for the file selection and retrieves the selected file, respectively (the actual file selection is performed by
ViewActiveDirectory.class
). - Use of several classes in the chain between the first form and the class creating the export job, requires that parameter values from the first form has to be transferred as session attributes, forcing additional changes to be made in the old classes.
- Copying of the protocol XML block from the PRIDE XML protocol file to the exported PRIDE XML file can be performed analogously to copying the mzData XML block. However, the current method performing the latter task was designed specifically for copying an mzData XMl block, and therefore needs to be rewritten to copy a general XML block.
- A selected PRIDE XML protocol file needs to be validated against the PRIDE protocol XML Schema Definition (XSD) before use. XSD validation is already performed for the created PRIDE XML export file against the PRIDE XSD, but in order to avoid duplicated code, this code segment should be put into a separate method, where XML and XSD files can be chosen freely.
In summary, all components needed for optional copying of the protocol XML block from a protocol XML file exist, but the number of code changes will still be numerous.
comment:67 Changed 14 years ago by
(In [3082]) Refs #405. Refs #287. Refs #290. PRIDE XML export updated to allow selection of an optional PRIDE XML protocol file from which to copy the protocol XML block from:
- Class action/hit/PrideExport.java in client/servlet/ updated
by forwarding action to new class SelectPrideProtocolFileStep1a
instead of CreatePrideExportJob
. Name of "Next" button updated.
- New class/file action/hit/SelectPrideProtocolFileStep1a.java
in client/servlet/ added. It retrieves values from valid parameters
and stores them as session attributes, after which it forwards
the action to class ViewActiveDirectory
for optional selection
of a PRIDE protocol file.
- New class/file action/hit/SelectPrideProtocolFileStep1b.java
in client/servlet/ added. It retrieves the id for an optional
PRIDE protocol file from a valid parameter and stores it as
session attribute, after which it forwards the action to class
CreatePrideExportJob
.
- Class/file action/hit/CreatePrideExportJob.java in
client/servlet/ updated by retrieving parameter values from session parameters. Also transfer value of optional id for PRIDE protocol file to created job.
- Class/file plugins/PrideExportPlugin.java in plugin/ updated.
- Public method
void run(Request request, Response response, ProgressReporter? progress) update3d to retrieve optional PRIDE protocol XML file.
- Private method
void writePrideXmlHeader(XMLCrudeWriterImpl xmlCrudeWriterImpl) updated to check if a PRIDE protocol XML file is specified, and if its is valid according to the PRIDE protocol XSD, copies its protocol XML block to the created PRIDE XML file.
- Private convenience method
void copyMzDataXMLBlocks(XMLCrudeWriterImpl xmlCrudeWriterImpl, Integer aPeakListFileId) exchanged for more general convenience method void copySelectedXMLBlocks(XMLCrudeWriterImpl xmlCrudeWriterImpl, Integer sourceFileId, String selectedXmlTagName) for copying a specified XML block from an XML file.
- New private convenience methods
boolean xmlFileValidation(Integer xmlFileId, String xsdFilePathToUse, String xmlTypeName) and boolean xmlFileValidation(File xmlFile, String xsdFilePathToUse, String xmlTypeName) added, for checking if an XML file item is valid according to a specified XML Schema Definition (XSD) file.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new entries for various string keys. Warning message regarding experimental status of PRIDE XML export removed.
- Default icon settings file "default" in icons/ in client/servlet/
updated with icon assignments for various string keys.
comment:68 Changed 14 years ago by
(In [3084]) Refs #405. Class/file gui/form/FormFactory.java in client/servlet/ updated for PRIDE XML export form by placing selections for output filename after filter selections, in order to increase similarity with other forms for the Hits table:
- Public method
Form getPrideExportForm(Project project, String filenamePrefixDefault) updated by placing field set for output filename after field set for filter selections.
comment:69 Changed 14 years ago by
(In [7]) Proteios wiki page Working With Hits Reports updated with new section "Exporting hits data to a PRIDE XML file", with link to new wiki page PRIDE 2.1 XML Export.
comment:70 Changed 14 years ago by
(In [2]) Proteios wiki page PRIDE 2.1 XML Export updated with new section "Overview of the Generated PRIDE XML Export File" with link to new wiki page Overview of the Generated PRIDE XML Export File.
comment:71 Changed 14 years ago by
(In [4]) Wiki page List of Proteios Wiki Pages updated in section "Links to Proteios Wiki Pages" by adding link to wiki page Overview of the Generated PRIDE XML Export File to the list.
comment:72 Changed 14 years ago by
(In [3087]) Refs #405. Class/file action/hit/PrideExport.java in client/servlet/ updated with minor changes in layout of main form for PRIDE XML export:
- Protected method void runMe() updated:
- Title bar exchanged for layout title.
- Display of PRIDE XML version number moved from title to instruction text.
comment:73 Changed 14 years ago by
(In [3]) Proteios wiki page PRIDE 2.1 XML Export updated in section "How to Export Hits Data to PRIDE XML" regarding menu items.
comment:74 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Ticket closed as support for exporting hits table data to a PRIDE 2.1 XML file has been added. The ticket may be reopened for updates of the functionality, or a new ticket created.
comment:75 Changed 14 years ago by
(In [3307]) Refs #583. Refs #405. Class/file plugins/PrideExportPlugin.java
in plugin/ updated to re-use DbControl
items as much as possible:
- Public method
void run(Request request, Response response, ProgressReporter progress)
is updated to create a new DbControl
, which is given as argument
when calling other methods.
- The following methods were updated to take a
DbControl
item
as first argument, and to use this instead of creating a new
DbControl
item:
- Public method
void doExport(Directory outCoreDir, String filename, ...)
. A newDbControl
item is created aftercommit()
has been called for the initial DbControl
.
- Public method
void doExport(File outCoreFile, ProgressReporter progress)
. - Private method
void writePrideXmlHeader(XMLCrudeWriterImpl xmlCrudeWriterImpl)
. - Private method
void writePrideXmlFirstScoreProteinStartInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
. - Private method
void writePrideXmlFirstScoreProteinEndInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
. - Private method
List<String> fetchUsedScoreTypeList()
. - Private method
void writePrideXmlPeptideInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit, ...)
. - Private method
void writePeptideModificationInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
. - Private method
void writePeptideModificationInfoFromSpectrumSearch(XMLCrudeWriterImpl xmlCrudeWriterImpl, Hit currentHit)
. - Private method
String fetchSearchDatabaseInfoFromSpectrumSearch(Hit currentHit)
. - Private method
void copySelectedXMLBlocks(XMLCrudeWriterImpl xmlCrudeWriterImpl, ...)
. - Private method
boolean xmlFileValidation(Integer xmlFileId, String xsdFilePathToUse, ...)
.
comment:76 Changed 14 years ago by
comment:77 Changed 13 years ago by
comment:78 Changed 13 years ago by
comment:79 Changed 13 years ago by
comment:80 Changed 13 years ago by
comment:81 Changed 12 years ago by
comment:83 Changed 12 years ago by
comment:84 Changed 12 years ago by
comment:85 Changed 10 years ago by
(In [4472]) Refs #805. Refs #405. Support for simplifying ProteomeXchange submission by creating a ProteomeXchange Submission Summary *.px file updated in default file mappings for result and peaklist files:
File types written in italics are ProteomeXchange submission file types.
- A result file is mapped to all files in the
Hits
table, that are related to the peaklist file used to create the result file. In order to find the peaklist file used to create a PRIDE XML file, the latter should have an annotation to the name of the peaklist file. - A peaklist file is mapped to all raw files it is associated to via a sample, where the base name of the raw file equals that of the peaklist file. This will prevent a peaklist file to be mapped to all raw files that are technical replicates of a sample, but only to the raw file used to create it.
In order to simplify the necessary database queries, the following new public static methods are added:
- Class/file
core/Hit.java
inapi/core/
:List<File> getUniqueIdentificationResultFilesForPeakListFile(Project project, File peakListFile, DbControl dc)
SQL query XML file conf/common-queries.xml
in api/core/
is updated with new query with id "GET_UNIQUE_IDENTIFICATIONRESULTFILES_IN_HITS_FOR_PEAKLISTFILE_IN_PROJECT
".
Update of class/file plugins/PrideExportPlugin.java
in plugin/
:
- Public method
void doExport(DbControl dc, File outCoreFile, ProgressReporter progress)
is updated to annotate the created PRIDE XML file with the filename of the peaklist file.
Update of class/file plugins/ProteomeXchangeExportPlugin.java
in plugin/
:
- Private method
HashMap<Integer,List<Integer>> createFileIdFileMappingListHashMap(DbControl dc, HashMap<Integer,Integer> fileIdMapIndexHashMap)
is updated by mapping a result file to all files in theHits
table, that are related to the peaklist file used to create the result file, and mapping a peaklist file to all raw files it is associated to via a sample, where the base name of the raw file equals the peaklist file.
- New private convenience method
String fetchBaseFilename(File file)
added. It returns the base filename of a file (filename without file extension).
Discuss it to 2.5 release