agentsclimarketplace

Open modification mass shift detection

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/open-modification-mass-shift-detection

Use when query mass spectra do not confidently match unmodified peptides in the spectral library, or when you suspect the sample contains unknown or unexpected post-translational modifications.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill open-modification-mass-shift-detection

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

7.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

open-modification-mass-shift-detection

Summary

Identifies peptide spectral matches with unexpected post-translational modifications by allowing variable mass shifts during library search, rather than enforcing exact mass matching. This skill enables discovery of both known and novel modifications while maintaining strict false discovery rate control.

When to use

Apply this skill when query mass spectra do not confidently match unmodified peptides in the spectral library, or when you suspect the sample contains unknown or unexpected post-translational modifications. Use it as a secondary search stage after exhausting exact-match strategies, particularly when analyzing complex proteomes where modification diversity is high or modification types are not pre-specified.

When NOT to use

  • Input spectra are already confidently matched to unmodified peptides with high cosine similarity—use exact library search instead.
  • Modifications are known and pre-defined with exact mass values—use targeted modification search with fixed mass lists.
  • Sample contains only unmodified peptides and modification discovery is not relevant to the analysis goal.

Inputs

  • Query mass spectra (in mzML or similar format)
  • Spectral library (reference peptide spectra)
  • Approximate nearest neighbor index built on library spectra

Outputs

  • List of identified matches (unmodified and modified peptides)
  • Matched spectra with assigned mass shifts
  • FDR-controlled confidence scores (spectrum-level or peptide-level)
  • Final identifications with FDR values

How to apply

After retrieving candidate library spectra via approximate nearest neighbor indexing, perform a cascade search that first attempts exact unmodified peptide matching using cosine similarity scoring. For spectra without confident unmodified matches, apply open modification search on the same candidates, allowing variable mass shifts (no pre-defined modification list required). Score all matches using the shifted dot product, which sensitively accounts for mass shifts between query and library spectra. Rank identified matches (unmodified and modified) by score and apply false discovery rate control via spectrum-level or peptide-level FDR filtering to assign confidence thresholds and output final identifications with FDR values.

Related tools

  • ANN-SoLo (Spectral library search engine that combines approximate nearest neighbor indexing with cascade search strategy and shifted dot product scoring to perform open modification identification) — https://github.com/bittremieux/ANN-SoLo
  • Faiss (Dependency for building and querying approximate nearest neighbor indices on spectral library vectors) — https://github.com/facebookresearch/faiss

Evaluation signals

  • FDR values for output identifications are ≤ the specified threshold (e.g., 1% spectrum-level or peptide-level FDR) and are correctly computed from the ranked match list.
  • Modified peptide identifications have mass shifts within a physically plausible range (typically ±500 Da for common PTMs) and are supported by shifted dot product scores above the confidence cutoff.
  • Spectrum-level or peptide-level FDR filtering produces a non-empty set of high-confidence matches and correctly removes low-scoring spurious matches.
  • Unmodified matches are preferred over modified matches when both have similar scores (cascade strategy prioritization), verified by inspecting the ranking of identified matches.
  • Identified mass shifts correspond to known or chemically reasonable modifications (e.g., phosphorylation ~79.97 Da, acetylation ~42.01 Da, oxidation ~15.99 Da).

Limitations

  • Requires pre-built spectral library and approximate nearest neighbor index; not suitable for de novo sequencing without reference spectra.
  • Computational cost scales with library size and query spectrum count; ANN indexing trades exact nearest neighbor retrieval for speed, potentially missing rare but correct matches.
  • Python 3.6–3.9 support only; Python 3.10+ not currently supported (as of README documentation).
  • GPU-powered version requires Linux with NVIDIA CUDA-enabled GPU; CPU-only version supports Linux and OSX.
  • Open modification search allows arbitrary mass shifts, risking false positives if FDR filtering is misconfigured or if query spectra are very noisy; careful tuning of FDR cutoffs and spectral quality thresholds is essential.

Evidence

  • [intro] Cascade search strategy combined to maximize the number of identified unmodified and modified spectra while strictly controlling the false discovery rate: "This is combined with a cascade search strategy to maximize the number of identified unmodified and modified spectra while strictly controlling the false discovery rate"
  • [intro] Shifted dot product score sensitively matches modified spectra to unmodified counterparts: "shifted dot product score to sensitively match modified spectra to their unmodified counterpart"
  • [intro] ANN indexing selects limited relevant candidates for comparison, enabling fast open modification searching: "ANN-SoLo uses approximate nearest neighbor indexing to speed up open modification searching by selecting only a limited number of the most relevant library spectra to compare to an unknown query"
  • [readme] Python 3.6–3.9 required; GPU version Linux-only; CPU version supports Linux and OSX: "ANN-SoLo requires Python 3.6 to 3.9 (Python 3.10 and newer are currently not supported yet). The GPU-powered version of ANN-SoLo can be used on Linux systems with an NVIDIA CUDA-enabled GPU device,"
  • [other] Cascade search applies open modification search to candidates without confident unmodified matches: "For spectra without confident unmodified matches, perform open modification search on the same candidates, allowing variable mass shifts"

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.