agentsclimarketplace

Mass to charge retention time feature mapping

Skill HolobiomicsLab/asb-skill-collections/packs/metabolomics/lc-ms/skills/mass-to-charge-retention-time-feature-mapping

Curated, evidence-grounded skill and software-tool collections for scientific AI agents, generated by the AgenticScienceBuilder

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill mass-to-charge-retention-time-feature-mapping

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

  • 14 stars14 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 author says it does

Copied from the file, not written here

Use when you have centroided data-dependent acquisition (DDA) mzML files from LC- or GC-HRMS measurements and need to convert continuous raw mass spectrometric signals into discrete, quantifiable chromatographic features (m/z, RT, intensity, charge, isotope) before PFAS-specific prioritization or.

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

8.0 KB, as published. Nobody here has run it

mass-to-charge-retention-time-feature-mapping

Summary

Extraction and delineation of chromatographic features from centroided high-resolution MS1 data by mapping signal intensity across the m/z and retention-time dimensions, producing tabular feature lists with mass, retention time, intensity, charge state, and isotope pattern annotations. This foundational step enables downstream feature prioritization in non-target screening workflows.

When to use

You have centroided data-dependent acquisition (DDA) mzML files from LC- or GC-HRMS measurements and need to convert continuous raw mass spectrometric signals into discrete, quantifiable chromatographic features (m/z, RT, intensity, charge, isotope) before PFAS-specific prioritization or other analytical workflows. Use this skill when vendor software feature detection is unavailable or when reproducible, open-source feature extraction is required.

When NOT to use

  • Input is already a preprocessed feature table (e.g., from vendor software); re-running this skill would be redundant.
  • Raw data is in profile (non-centroided) mode without prior centroiding; pyOpenMS FeatureFinder is optimized for centroided input.
  • Data is from low-resolution MS (unit or nominal mass accuracy) where m/z–RT separation is insufficient to resolve overlapping features reliably.

Inputs

  • centroided mzML file (DDA mode, MS1 spectra)
  • optional: blank/control mzML file (same format)
  • FeatureFinder algorithm parameters (peak-picking thresholds, m/z tolerance, RT window)

Outputs

  • feature table (CSV or featureXML format)
  • feature attributes: m/z, retention time, intensity, charge state, isotope pattern
  • feature intensity matrix (features × samples)

How to apply

Load the centroided DDA mzML file using pyOpenMS MSExperiment reader, then initialize the FeatureFinder algorithm with peak-picking parameters tuned for high-resolution MS1 data (typical settings balance signal-to-noise and feature width in both m/z and RT dimensions). Execute feature detection to identify connected peaks across the m/z–RT plane, then extract and annotate each feature's attributes (m/z, retention time, intensity, assigned charge state, isotope pattern). Export the resulting feature table to CSV or featureXML format for downstream processing. The rationale is that pyOpenMS provides vendor-independent, reproducible feature delineation by treating the MS1 data as a 2D intensity landscape and segmenting regions that exceed local noise thresholds, preserving chromatographic resolution and isotope information needed for later filtering or prioritization steps.

Related tools

  • pyOpenMS (Python interface to OpenMS FeatureFinder algorithm; loads centroided mzML and performs m/z–RT peak delineation) — https://github.com/OpenMS/OpenMS
  • OpenMS (C++ library providing the underlying FeatureFinder algorithm and mzML I/O routines) — https://github.com/OpenMS/OpenMS
  • MSConvert (Converts vendor raw formats to mzML and performs centroiding if needed)
  • PFΔScreen (Integrates this feature-mapping skill within a complete non-target PFAS screening workflow) — https://github.com/JonZwe/PFAScreen

Evaluation signals

  • Feature table schema: all rows have valid m/z (> 0, typically 100–1000 Da), RT (non-negative, in acquisition order), intensity (> 0), charge state (≥ 1), and isotope pattern columns.
  • Feature count and m/z–RT distribution match expectations for the sample complexity and chromatographic separation; visual inspection via interactive m/z vs. RT plot should show reasonable clustering (coeluting species, expected isotope spacing).
  • Isotope pattern annotation: detected C13 or other isotopologue features align with theoretical monoisotopic m/z shifts (e.g., ~1 Da for singly charged compounds) and intensity ratios.
  • Reproducibility: re-running the same mzML file with identical peak-picking parameters yields identical feature lists (bit-for-bit or within numerical precision of floating-point I/O).
  • Blank correction (if control included): features in the blank are flagged or reported separately, enabling downstream filtering of contaminants (sample/blank intensity ratio > 3 is typical threshold in non-target screening).

Limitations

  • FeatureFinder performance depends on peak-picking parameter tuning; suboptimal thresholds may miss weak features or merge overlapping peaks, particularly in crowded m/z regions or at low RT resolution.
  • pyOpenMS FeatureFinder assumes centroided input; uncorrected profile-mode data or improperly centroided spectra will degrade feature detection quality.
  • Charge state and isotope pattern annotation rely on algorithm heuristics and may be ambiguous for multiply charged or overlapping isotope clusters; manual review of borderline cases is recommended.
  • Data-dependent acquisition (DDA) MS2 information is preserved in mzML but not used during feature detection; MS2 alignment and fragment annotation occur in downstream prioritization steps.
  • Runtime increases with spectral count (e.g., < 1 minute for 4000 spectra per sample on typical hardware), but very large datasets or complex matrix samples may require parameter optimization or memory management.

Evidence

  • [readme] pyOpenMS (Python interface to the C++ OpenMS library) is used for feature detection in MS raw data: "pyOpenMS (Python interface to the C++ OpenMS library) is used for feature detection in MS raw data"
  • [other] Load centroided DDA mzML; initialize FeatureFinder; execute feature detection; extract attributes; export to CSV or featureXML: "Load centroided DDA mzML file using pyOpenMS MSExperiment reader. 2. Initialize FeatureFinder algorithm in pyOpenMS with appropriate peak-picking parameters for high-resolution MS1 data. 3. Execute"
  • [readme] Raw data acceptance: vendor-independent mzML with DDA and centroided spectra: "Raw mass spectrometric data can be included vendor-independently in the mzML format (data-dependent acquisition with centroided spectra"
  • [readme] Sample and blank measured under DDA with centroided spectra, ideally one collision energy per precursor: "Sample and blank for raw data input in PFΔScreen should have been measured under data-dependent acquisition (ddMS2) with centroided spectra, ideally with one collision energy per precursor."
  • [other] Feature extraction includes m/z, retention time, intensity, charge state, isotope pattern: "Extract feature attributes (m/z, retention time, intensity, charge state, isotope pattern) and construct feature table."

Keep looking

Skills are one crate of 328,083. 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.