OpenMS/OpenMS — pull request #804 by grosenberger (2014-04-24 10:04:55+00:00)
Title: [FIX] MRMDecoy: Fix neutral losses for higher charge states

This is a pull request for @hroest.

This patch is mainly fixing the broken annotation of fragment ion neutral losses and provides other changes:

- broken annotation of fragment ion neutral losses
If the option -enable_losses is selected, for each precursor in an assay library an ion series including losses was generated. Unfortunately, the losses were only correct for fragment ion charge state +1. This was fixed and the rounded masses were replaced by the monoisotopic masses providing higher accuracy. Further, in some cases, losses are only generated if the specific residues are present in the whole sequence.

- controls to ensure correct representation of targets
Errors are now thrown if a target assay can not be correctly annotated or if decoy assays can not represent the targets accurately. Users need to decided whether it makes in this case sense to enable losses or removal of terminal modifications

- removal of a-ion series and isotopes
I have removed the a-ion series annotation and isotopes because they have never been used in any workflow and no tests existed to check whether they actually work.

- change of tests
I changed test TOPP_OpenSwathDecoyGenerator_test_1 to exclude terminal modifications and further commented out TOPP_OpenSwathDecoyGenerator_test_2 because there seems to be an invalid transition in a target assay in line 165 of ./src/tests/topp/OpenSwathDecoyGenerator_input_2.TraML

Error: Unexpected internal error (Target fragment ion with m/z 1066 of peptide ADVTPADFSEWSK with precursor charge 2 could not be mapped. Please check whether it is a valid ion and enable losses or removal of terminal modifications if necessary.)

Thank you for your review and comments!