Open stanstrup opened 3 years ago
Note that the HUPO-PSI people have been discussing on peak annotation format for a while: https://github.com/HUPO-PSI/mzSpecLib/issues/23 https://docs.google.com/document/d/1yEUNG4Ump6vnbMDs4iV4s3XISflmOkRAyqUuutcCG2w
Their current proposition is a NIST-like fomat, and encoded in a regex:
^(?:(?<analyte_reference>[^/\s]+)@)?(?:(?:(?<series>[axbycz]\.?)(?<ordinal>\d+))|(?<series_internal>[m](?<internal_start>\d+):(?<internal_end>\d+))|(?<precursor>p)|(:?I(?<immonium>[ARNDCEQGHKMFPSTWYVIL])(?:\[(?<immonium_modification>(?:[^\]]+))\])?)|(?<reporter>r(?:(?:\[(?<reporter_label>[^\]]+)\])))|(?:f\{(?<formula>[A-Za-z0-9]+)\})|(?:_(?<external_ion>[^\s,/]+)))(?<neutral_losses>(?:[+-]\d*(?:(?:[A-Z][A-Za-z0-9]*)|(?:\[(?:(?:[A-Za-z0-9:\.]+))\])))+)?(?:(?<isotope>[+-]\d*)i)?(?:\^(?<charge>[+-]?\d+))?(?:\[M(?<adducts>(:?[+-]\d*[A-Z][A-Za-z0-9]*)+)\])?(?:/(?<mass_error>[+-]?\d+(?:\.\d+)?)(?<mass_error_unit>ppm)?)?(?:\*(?<confidence>\d*(?:\.\d+)?))?
https://docs.google.com/document/d/1yEUNG4Ump6vnbMDs4iV4s3XISflmOkRAyqUuutcCG2w
A (currently still open) pull request for an annotation parser: https://github.com/HUPO-PSI/mzSpecLib/pull/28
I had proposed a less "encoded" and more easily machine-readable alternative (see https://github.com/HUPO-PSI/mzSpecLib/issues/23#issuecomment-654237467 ), this was somewhat favorably received, but seems to not have gone any further.
Hi,
I was looking into the proper way to annotate fragments and losses, e.g. "[M+H-NH3]+". The specifications say "Contributors freely define the record format by using appropriate terms. ", which leads me to expect a list of terms. But that seems not to be there. So are the allowed terms those from the examples?
I looked through the current DB on github and the most common column name seems to be "type". There are a few records with "ion". The only records that use "annotation" as the specs say put in an m/z value....
Isotopes
Then I was looking for isotope annotation and it seems the specs suggest to use the same field for isotopes and fragment/adduct annotation. The example
Some confusing things for me here
[M+H]([M])
and[M+H]+([M+1])
make sense? That is more similar to what CAMERA does.