This PR adds support for multiple variable modifications, and peptide/protein-terminal modifications that are specific to individual amino acids. This also overhauls both the internal data representation of Peptide, and how modifications are applied. This speeds up fragment index creation significantly (and should reduce memory usage), but it is still somewhat slow for large numbers of variable modifications - something to improve in the future!
This PR adds support for multiple variable modifications, and peptide/protein-terminal modifications that are specific to individual amino acids. This also overhauls both the internal data representation of
Peptide
, and how modifications are applied. This speeds up fragment index creation significantly (and should reduce memory usage), but it is still somewhat slow for large numbers of variable modifications - something to improve in the future!The new syntax looks like this:
Either a single floating point number (
-18.0
) or a list of floating point numbers ([-18.0, -15.2]
) can be supplied as modifications.Modification strings without the "X" will be treated as before - applied to the N/C-terminus of the peptide itself.