agentsclimarketplace

Isotopologue mass offset calculation

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v1/skills/isotopologue-mass-offset-calculation

Use when you have a peak-picked feature table (HDF5 format with m/z, drift_time, retention_time, intensity columns) and need to identify and label isotopic signatures within singly charged species.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill isotopologue-mass-offset-calculation

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.7 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Isotopologue Mass Offset Calculation

Summary

Detect and enumerate C13 isotopologue patterns in multidimensional mass spectrometry data by computing mass deltas between monoisotopic and isotopically substituted peaks, constrained by m/z, drift time, and retention time tolerances. This skill enables annotation of feature tables with isotope membership, count, and offset mass for improved metabolite characterization.

When to use

Apply this skill when you have a peak-picked feature table (HDF5 format with m/z, drift_time, retention_time, intensity columns) and need to identify and label isotopic signatures within singly charged species. Use it to enrich feature annotations for downstream metabolite identification or to filter out isotopically redundant features before alignment or statistical analysis.

When NOT to use

  • Input is already a fully annotated metabolite table with isotope identities resolved — further enumeration would be redundant.
  • Data originates from instruments with poor mass accuracy (>50 ppm m/z error) or low temporal resolution (drift time or retention time not reliably measured) — isotope detection will fail to constrain search space adequately.
  • Analysis targets multiply charged species (z > 1) without adjusting m/z delta calculation for charge state — the 1.003355 Da offset applies only to singly charged ions.

Inputs

  • Peak-picked feature table in HDF5 format with columns: m/z, drift_time, retention_time, intensity
  • Charge state specification (default +1 for singly charged species)
  • Tolerance parameters: m/z tolerance, drift_time tolerance, retention_time tolerance

Outputs

  • Isotope-annotated feature table (HDF5 format) with added columns: monoisotopic label, isotope count, offset mass
  • List of detected isotopic signatures with ≥3 member peaks

How to apply

Load the peak-picked feature table into memory using deimos.load() specifying the required columns (m/z, drift_time, retention_time, intensity). Apply deimos.isotopes to enumerate C13 substitutions by specifying an m/z delta of 1.003355 Da (the monoisotopic mass difference), allowing up to 5 isotopic substitutions for charge state +1 species. The algorithm constrains the search using m/z tolerance, drift time tolerance, and retention time tolerance parameters, then applies a maximum m/z error of 50 ppm for final downselection of isotopic peaks. Filter the detected isotopic signatures to retain only those with at least 3 member peaks using a membership threshold criterion, to eliminate spurious isotope assignments. Annotate the feature table with isotope metadata columns (monoisotopic designation, isotope count, offset mass) and export the enriched table as HDF5.

Related tools

  • DEIMoS (Core Python API and CLI tool for isotope detection via deimos.isotopes(); loads and exports HDF5 feature tables) — http://github.com/pnnl/deimos
  • Python (Runtime environment for deimos library and data manipulation)
  • ProteoWizard msconvert (Optional upstream format conversion tool to standardize raw MS data to mzML before DEIMoS processing)

Examples

ms1_peaks = deimos.load('example_data_peaks.h5', key='ms1', columns=['mz', 'drift_time', 'retention_time', 'intensity']); isotopes = deimos.isotopes(ms1_peaks, mz_tol=0.01, dt_tol=2, rt_tol=0.5); isotopes_filtered = isotopes[isotopes['isotope_count'] >= 2]

Evaluation signals

  • Isotope-annotated feature table contains no null values in isotope metadata columns (monoisotopic designation, isotope count, offset mass) for assigned peaks.
  • All isotopic signatures retained in final output contain ≥3 member peaks; no spurious single or doublet isotope clusters remain.
  • Monoisotopic peak mass + computed offset (isotope_count × 1.003355 Da) equals observed m/z of each isotopic member peak within stated 50 ppm m/z error threshold.
  • Drift time and retention time differences between monoisotopic and isotopic member peaks remain within user-specified tolerance bounds (confirming they co-elute and are true isotopic pairs, not background noise).
  • Downstream feature alignment or metabolite matching shows improved specificity (reduced false positive matches) when isotopically redundant features are filtered using the isotope count annotation.

Limitations

  • Isotope detection is constrained to singly charged species (z = +1); multiply charged ions require separate handling with charge-state-adjusted m/z deltas.
  • The 1.003355 Da offset enumeration assumes C13 substitution only; other isotopes (N15, S34, O18) are not detected by this workflow without separate parameter specification.
  • Search space filtering depends critically on accurate m/z, drift_time, and retention_time measurements; instruments with poor mass accuracy (>50 ppm) or weak multidimensional resolution will yield high false negative rates for isotope detection.
  • The 3-member minimum threshold is heuristic and may filter true but low-intensity isotopic signatures in low-abundance metabolites; users must balance sensitivity against specificity for their study design.
  • No changelog documented for version tracking and parameter evolution across DEIMoS releases.

Evidence

  • [other] DEIMoS isotope detection enumerates C13 isotopologue offsets by specifying an m/z delta of 1.003355 Da with up to 5 isotopic substitutions for singly charged species, using m/z tolerance, drift time tolerance, and retention time tolerance to constrain the search before applying a maximum m/z error of 50 ppm for final downselection.: "DEIMoS isotope detection enumerates C13 isotopologue offsets by specifying an m/z delta of 1.003355 Da with up to 5 isotopic substitutions for singly charged species, using m/z tolerance, drift time"
  • [other] Load peak-picked feature table from HDF5 file using deimos.load() with columns for m/z, drift_time, retention_time, and intensity.: "Load peak-picked feature table from HDF5 file using deimos.load() with columns for m/z, drift_time, retention_time, and intensity."
  • [other] Filter detected isotopic signatures to retain only those with at least 3 members using a membership threshold criterion.: "Filter detected isotopic signatures to retain only those with at least 3 members using a membership threshold criterion."
  • [results] A good first screening is to only consider those isotopic signatures with at least 3 members.: "A good first screening is to only consider those isotopic signatures with at least 3 members."
  • [readme] algorithm implementations simultaneously utilize all dimensions to (i) offer greater separation between features, thus improving detection sensitivity, (ii) increase alignment/feature matching confidence among datasets: "algorithm implementations simultaneously utilize all dimensions to (i) offer greater separation between features, thus improving detection sensitivity, (ii) increase alignment/feature matching"

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.