agentsclimarketplace

Feature detection in chromatographic ms data

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/feature-detection-in-chromatographic-ms-data

Use when you have vendor-independent centroided DDA mzML files from LC- or GC-HRMS and need to delineate chromatographic peaks across the mass-to-charge and retention-time dimensions before applying mass defect analysis, diagnostic fragment matching, or other prioritization rules.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill feature-detection-in-chromatographic-ms-data

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

feature-detection-in-chromatographic-ms-data

Summary

Automated extraction of chromatographic features (m/z, retention time, intensity, charge state, isotope pattern) from centroided data-dependent acquisition mzML files using pyOpenMS, forming the input foundation for downstream PFAS prioritization and non-target screening workflows.

When to use

You have vendor-independent centroided DDA mzML files from LC- or GC-HRMS and need to delineate chromatographic peaks across the mass-to-charge and retention-time dimensions before applying mass defect analysis, diagnostic fragment matching, or other prioritization rules. Apply this skill when raw spectra have not yet been converted into a structured feature table.

When NOT to use

  • Input is already a curated feature table (e.g., from vendor software or external tool); use external feature list pathway instead via 'Browse SampleFeatures.xlsx'
  • Raw mzML data contain profile (non-centroided) spectra; centroiding must precede this skill
  • MS data were acquired in data-independent (DIA/SWATH) or MS1-only mode without ddMS2; feature detection requires DDA scans for downstream MS2 analysis

Inputs

  • centroided data-dependent acquisition (DDA) mzML file from LC- or GC-HRMS
  • optional: blank control mzML file (same format and acquisition mode)

Outputs

  • structured feature table (CSV or featureXML format) with columns: m/z, retention time, intensity, charge state, isotope pattern
  • extracted features suitable for MS2 alignment and prioritization

How to apply

Load the centroided DDA mzML file using pyOpenMS MSExperiment reader, then initialize the FeatureFinder algorithm with peak-picking parameters appropriate for high-resolution MS1 data (e.g., signal-to-noise thresholds, isotope pattern detection). Execute feature detection to identify and delineate peaks across both m/z and retention-time dimensions. Extract feature attributes (m/z, retention time, intensity, charge state, isotope pattern) and construct a feature table. Export the table to tabular format (CSV or featureXML) for downstream prioritization workflow. The overall runtime is typically short (e.g., <1 minute for 4000 spectra per sample), allowing convenient parameter adjustment.

Related tools

Evaluation signals

  • Feature table contains expected columns (m/z, retention time, intensity, charge state) with no null values for core attributes; row count is reasonable (10s to 1000s of features, not 0 or >1M)
  • m/z values fall within instrument range (typically 50–2000 m/z); retention times are monotonically increasing or show realistic chromatographic profile
  • Intensity values are positive and show expected distribution (orders of magnitude variation across features, not all identical or all zero)
  • Charge state assignments are consistent with isotope patterns (e.g., singly-charged features show ~1.0 m/z spacing between isotopologues; doubly-charged show ~0.5)
  • Feature count in sample is significantly higher than in blank control (if blank provided), confirming ability to distinguish signal from noise

Limitations

  • Feature detection assumes centroided spectra; profile mode data will yield spurious or missed peaks and require external centroiding step (e.g. via MSConvert)
  • FeatureFinder performance depends on appropriate selection of peak-picking parameters (signal-to-noise threshold, isotope pattern model); incorrect settings can cause mass bias or false positives
  • Data-dependent acquisition mode is required; data-independent or targeted MS modes are not supported and will produce incomplete or invalid feature lists
  • Complex chromatographic coelution or highly overlapped peaks may be incorrectly split into or merged as single features, particularly in high-complexity non-target screening samples
  • No explicit changelog or version history provided; parameter defaults and algorithm behavior may vary between pyOpenMS releases without documentation

Evidence

  • [intro] 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"
  • [intro] Raw data format and acquisition mode specification: "Raw mass spectrometric data can be included vendor-independently in the mzML format (data-dependent acquisition with centroided spectra"
  • [other] Feature extraction workflow steps: "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] Runtime performance characteristic: "The overall rather short runtime (e.g., less than one minute in case of 4000 spectra per sample for the whole workflow), allows a convenient adjustment of input parameters."
  • [readme] Input specification and optional alternatives: "In case another feature finding procedure (e.g., from vendor software) is desired, custom feature lists (see external_feature_list.xlsx) together with the respective mzML files can instead be"
  • [readme] Centroiding and DDA requirement: "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."

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.