Skip to content
Back to skills

Exact Mass Accuracy Calculation

ASecurity

Use when you have feature pairs identified by temporal correlation in

  • 16 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 12, 2026
ai-agentspythongogitperformance

Security analysis

A100/100

Scanned September 12, 2026

npx -y skills add HolobiomicsLab/asb-skill-collections --skill exact-mass-accuracy-calculation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Exact Mass Accuracy Calculation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Exact Mass Accuracy Calculation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/holobiomicslab-exact-mass-accuracy-calculation/badge)](https://www.skillsdirectory.com/skills/holobiomicslab-exact-mass-accuracy-calculation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: exact-mass-accuracy-calculation
description: Use when you have feature pairs identified by temporal correlation in
  direct-injection MS data and need to confirm their relationship is consistent with
  known adduct/fragment mass shifts.
license: CC-BY-4.0
metadata:
  edam_operation: http://edamontology.org/operation_3632
  edam_topics:
  - http://edamontology.org/topic_3520
  - http://edamontology.org/topic_0121
  tools:
  - DBDIpy
  - Python
  techniques:
  - LC-MS
  license_tier: open
  provenance_tier: literature
derived_from:
- doi: 10.1093/bioinformatics/btad088
  title: DBDIpy
evidence_spans:
- DBDIpy is an open-source Python library for the curation and interpretation of dielectric
  barrier discharge ionisation mass spectrometric datasets
- DBDIpy is an open-source Python library
claims: []
provenance:
  collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v2
  assembled_by: scripts/collect_metabolomics_collection.py
  sources:
  - build: coll_dbdipy_cq
    doi: 10.1093/bioinformatics/btad088
    title: DBDIpy
  dedup_kept_from: coll_dbdipy_cq
schema_version: 0.2.0
attribution:
  generator: AgenticScienceBuilder
  original_doi: 10.1093/bioinformatics/btad088
  all_source_dois:
  - 10.1093/bioinformatics/btad088
  zenodo_doi: 10.5281/zenodo.20794027
  curators: []
  promoter: Louis-Félix Nothias
  sponsor: CNRS & Université Côte d'Azur
---

# Exact Mass Accuracy Calculation

## Summary

Calculate and evaluate mass accuracy of observed m/z differences against reference adduct and fragment masses to refine ion-species candidate assignments in direct-injection mass spectrometry. This refinement step disambiguates correlations by matching measured mass differences to expected adduct/fragment patterns within user-specified ppm tolerance.

## When to use

You have feature pairs identified by temporal correlation in direct-injection MS data and need to confirm their relationship is consistent with known adduct/fragment mass shifts. Apply this skill when you possess an observed m/z difference between two features and a reference table of expected adduct or in-source fragment mass deltas (e.g., [M-H₂O+H]⁺, [M+nO+H]⁺), and want to assign biochemical meaning and validate mass accuracy before accepting the correlation.

## When NOT to use

- Input features are already separated by liquid chromatography (retention time dimension removes ambiguity about fragment/adduct identity).
- You do not have a curated reference table of expected adduct/fragment masses for your analyte class and ionization method.
- Feature m/z values have low mass accuracy (>>5 ppm error) or low mass resolution (>0.1 Da at m/z 200), making exact mass matching unreliable.

## Inputs

- Correlation-identified feature pairs (m/z_A, m/z_B, correlation coefficient)
- User-supplied adduct/fragment reference table with mass differences (Δm/z, adduct label)
- Mass spectrometric feature table (m/z values with intensity profiles)

## Outputs

- Refined candidate table with feature pairs, observed mass differences, matched adduct/fragment labels, and mass accuracy metrics
- Mass accuracy report (observed vs. theoretical mass differences)
- Unassigned or ambiguous feature pairs (failed to match reference list within tolerance)

## How to apply

Load correlation-identified feature pairs (from the temporal correlation step) and a user-defined reference table listing adduct/fragment types with their exact mass differences. For each feature pair, calculate the observed mass difference (m/z_feature_B − m/z_feature_A). Match this observed difference against the reference adduct/fragment list using exact mass matching, allowing for a user-specified ppm tolerance window (typical values are 2–5 ppm depending on instrument resolution). When a match is found, assign the adduct or fragment label to that feature pair and record the mass accuracy (difference between observed and theoretical mass shift). Features failing to match any reference adduct/fragment within tolerance are flagged as unassigned or ambiguous. Output a refined candidate table listing feature pairs, observed mass differences, matched adduct/fragment annotations, and calculated mass accuracy metrics.

## Related tools

- **DBDIpy** (Implements the second refinement step via identify_adducts() function; handles exact mass difference matching against user-definable adduct/fragment reference tables and reports mass accuracy) — https://github.com/leopold-weidner/DBDIpy
- **Python** (Programming language for implementing mass difference calculations, ppm tolerance filtering, and reference table matching logic)

## Examples

```
search_res = dbdi.identify_adducts(df=specs_imputed, masses=feature_mz, custom_adducts=adduct_rule, method='pearson', threshold=0.9, mass_error=2)
```

## Evaluation signals

- All matched feature pairs have observed mass differences within the specified ppm tolerance of theoretical values (e.g., ±2 ppm).
- Mass accuracy values reported for each match are consistent with the mass resolution of the instrument used (e.g., <5 ppm for high-resolution FT-ICR-MS).
- Number and distribution of assigned adducts/fragments are chemically plausible for the ionization method (e.g., [M+O+H]⁺ and [M+2O+H]⁺ are common for plasma ionization).
- Feature pairs assigned to the same adduct type show similar mass accuracy distributions, suggesting systematic calibration quality.
- Unassigned feature pairs are examined for potential false correlations (high correlation but no biochemical basis in the adduct/fragment reference).

## Limitations

- Mass accuracy matching is sensitive to instrument calibration; poor calibration (>5 ppm systematic error) can cause valid adducts to be rejected or false matches to be accepted.
- Reference table completeness is critical; if expected adducts/fragments for a given ionization method are not listed, valid feature relationships will be missed.
- The method does not distinguish isomers or constitutional isomers; multiple adduct types may have overlapping or identical mass differences, requiring MS/MS or additional orthogonal data.
- Performance depends on user-selected ppm tolerance; excessively loose tolerance (>10 ppm) risks false positives; excessively tight tolerance (<1 ppm) risks false negatives on lower-resolution instruments.

## Evidence

- [other] For each feature pair, calculate the observed mass difference (m/z_feature_B − m/z_feature_A). 3. Match the observed mass difference against the reference adduct/fragment list using exact mass matching (within user-specified ppm tolerance).: "For each feature pair, calculate the observed mass difference (m/z_feature_B − m/z_feature_A). Match the observed mass difference against the reference adduct/fragment list using exact mass matching"
- [other] DBDIpy implements a second refinement step in which exact mass differences are compared against a user-definable list of in-source fragments (e.g., [M-H2O+H]+) and adducts (e.g., [M+nO+H]+) to refine the nature of potential ion-species candidates identified by temporal correlation.: "DBDIpy implements a second refinement step in which exact mass differences are compared against a user-definable list of in-source fragments (e.g., [M-H2O+H]+) and adducts (e.g., [M+nO+H]+)"
- [other] Assign adduct or fragment labels to feature pairs where a match is found, and record the mass accuracy.: "Assign adduct or fragment labels to feature pairs where a match is found, and record the mass accuracy."
- [other] Output a refined candidate table listing feature pairs, observed mass differences, matched adduct/fragment annotations, and mass accuracy metrics.: "Output a refined candidate table listing feature pairs, observed mass differences, matched adduct/fragment annotations, and mass accuracy metrics."
- [readme] By default, identify_adducts() searches for [M-H<sub>2</sub>O+H]<sup>+</sup>, [M+1O+H]<sup>+</sup> and [M+2O+H]<sup>+</sup>. For demonstrational purposes we also want to search for [M+3O+H]<sup>+</sup> in this example.: "By default, identify_adducts() searches for [M-H₂O+H]⁺, [M+1O+H]⁺ and [M+2O+H]⁺"
- [readme] (exact) mass differences are used to refine the nature of potential candidates.: "(exact) mass differences are used to refine the nature of potential candidates."

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.