agentsclimarketplace

Modification notation interpretation

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v1/skills/modification-notation-interpretation

Use when you have a ProForma 2.0 peptidoform string (e.g., DLTDYLM[Oxidation]K) and need to extract the underlying peptide sequence and map modification positions to enable fragment ion annotation, mass calculation, or spectral matching.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill modification-notation-interpretation

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.7 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

modification-notation-interpretation

Summary

Parse and interpret standardized peptide modification notation (ProForma 2.0) to extract sequence and modification positions for downstream annotation and analysis. This skill enables computational tools to understand and work with complex modified peptidoforms deposited in public repositories.

When to use

You have a ProForma 2.0 peptidoform string (e.g., DLTDYLM[Oxidation]K) and need to extract the underlying peptide sequence and map modification positions to enable fragment ion annotation, mass calculation, or spectral matching. Use this skill when working with publicly deposited mass spectra where peptide modifications are represented using controlled vocabularies (Unimod, PSI-MOD).

When NOT to use

  • Input is unmodified peptide sequence only — use raw sequence parsing instead
  • Modification notation uses non-standard or proprietary formats not aligned with ProForma 2.0 specification
  • Modification identifiers are not defined in accessible controlled vocabularies (Unimod, PSI-MOD, XL-MOD)

Inputs

  • ProForma 2.0 peptidoform string (e.g., 'DLTDYLM[Oxidation]K')
  • Controlled vocabulary identifier (Unimod accession or PSI-MOD term)

Outputs

  • Parsed peptide sequence (bare amino acid string)
  • Modification position map (list of residue indices and modification types)
  • Resolved modification objects (lookup results from controlled vocabulary)

How to apply

Use spectrum_utils.proforma to parse the ProForma 2.0 peptidoform string, which extracts both the bare peptide sequence and the positions and types of modifications. The parser resolves modification identifiers (e.g., [Oxidation]) against controlled vocabularies (Unimod, PSI-MOD, XL-MOD, Glycan Naming Ontology) to obtain standard modification properties. Once parsed, the sequence and modification map are ready for input to downstream functions such as MsmsSpectrum.annotate_proforma(), which uses them to compute theoretical fragment ion m/z values. Verify that all modification terms in the input string are recognized by the vocabulary and that the sequence is valid (standard amino acids only in the bare sequence).

Related tools

Examples

from spectrum_utils.spectrum import MsmsSpectrum
from spectrum_utils import proforma
peptide_str = 'DLTDYLM[Oxidation]K'
parsed = proforma.ProForma(peptide_str)
print(parsed.sequence, parsed.modifications)

Evaluation signals

  • Parsed sequence matches the bare amino acid substring of the input ProForma string (no brackets or modification markers)
  • All modification terms in the input are successfully resolved against the integrated controlled vocabulary (no unrecognized tokens)
  • Modification positions are within valid range for the sequence length (1 to sequence length)
  • Resolved modification properties (mass delta, chemical formula, etc.) match Unimod/PSI-MOD definition for the assigned term
  • Downstream annotation functions (e.g., annotate_proforma) accept the parsed output and produce annotated ion lists without errors

Limitations

  • Parsing depends on the availability and correctness of the ProForma 2.0 grammar implementation in spectrum_utils; edge cases in notation (e.g., ambiguous bracket placement, nested modifications) may not be handled consistently
  • Modification resolution requires access to up-to-date Unimod, PSI-MOD, XL-MOD, and Glycan Naming Ontology databases; offline or outdated versions may fail to resolve recent modifications
  • ProForma 2.0 supports standard amino acids and a fixed set of vocabularies; custom or non-standard modifications not in these vocabularies cannot be parsed
  • The skill does not validate modification plausibility (e.g., whether oxidation at a specific site is biochemically reasonable); it only performs syntactic and vocabulary lookup

Evidence

  • [other] Parse the ProForma 2.0 peptidoform string using spectrum_utils.proforma to extract the peptide sequence and modification positions.: "Parse the ProForma 2.0 peptidoform string (e.g. DLTDYLM[Oxidation]K) using spectrum_utils.proforma to extract the peptide sequence and modification positions."
  • [other] fragment ions can be annotated based on the ProForma 2.0 specification: "fragment ions can be annotated based on the ProForma 2.0 specification"
  • [other] Modifications are defined by controlled vocabularies including Unimod, PSI-MOD, and support for cross-linking and glycans.: "Modifications are defined by controlled vocabularies (CVs), including Unimod, PSI-MOD, including support for modifications from"
  • [intro] spectrum_utils enables annotating observed spectrum fragments using ProForma 2.0 specification for modified peptidoforms.: "spectrum_utils enables annotating observed spectrum fragments using ProForma 2.0 specification for modified peptidoforms"
  • [other] Call MsmsSpectrum.annotate_proforma with parsed peptide to compute theoretical b and y ion m/z values.: "Call MsmsSpectrum.annotate_proforma(peptide, fragment_tol_mass, fragment_tol_mode, ion_types='by') to compute theoretical b and y ion m/z values and match them to observed spectrum peaks"

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.