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 spctools-discuss+unsubscr...@googlegroups.com.
To post to this group, send email to spctools-discuss@googlegroups.com.
Visit this group at http://groups.google.com/group/spctools-discuss.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to