I've come across an issue with InteractParser on some Comet data files. In
the PepXML that Comet produces sometimes the last
<search_result></search_result> block in the file is empty (no
peptide-spectrum match for the spectrum?). In this case InteractParser
fails to write the </msms_run_summary> and </analysis_summary> tags through
into the interact.pep.xml output.
E.g. from Comet last 10 lines are:
<search_score name="expect" value="0.00E+00"/>
</search_hit>
</search_result>
</spectrum_query>
<spectrum_query spectrum="HeLa_GluC_pH6_CID_3xload.37816.37816.6"
start_scan="37816" end_scan="37816" precursor_neutral_mass="7740.7671"
assumed_charge="6" index="32020" retention_time_sec="12964.2">
<search_result>
</search_result>
</spectrum_query>
</msms_run_summary>
</msms_pipeline_analysis>
After InteractParser this is truncated incorrectly to the last spectrum
query_block that had a search result, missing the final end tags to close
the pepxml.
<search_score name="expect" value="0.00E+00"/>
</search_hit>
</search_result>
</spectrum_query>
I've put a quick and dirty fix in InteractParser.cxx after line 630 which
fixes this, and doesn't appear to break anything. Not sure this is the
correct way to do it given the rest of the parsing logic though:
// DCT
// Always stop skipping if we hit an msms_run_summary closing tag.
// Fix for issue where end of file is not written if last search_result
// is empty, as observed on a Comet output file
if(! strcmp(tag->getName(), "msms_run_summary") ) {
if (tag->isEnd()) {
tag_cache->clear();
output = True;
skip_hit = False;
skip_spec = False;
}
}
--
You received this message because you are subscribed to the Google Groups
"spctools-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/spctools-discuss.
For more options, visit https://groups.google.com/groups/opt_out.