agentsclimarketplace

Lcims msms data preprocessing peak detection

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v1/skills/lcims-msms-data-preprocessing-peak-detection

Use when you have loaded mzML.gz or HDF5-formatted raw LC-IMS-MS/MS data and need to identify discrete peaks before feature alignment. Use it if your goal is to reduce noise, increase signal-to-noise ratio, and prepare multi-dimensional data for cross-sample feature matching and CCS calibration.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill lcims-msms-data-preprocessing-peak-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.4 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

LC-IMS-MS/MS Data Preprocessing and Peak Detection

Summary

Detect and characterize peaks in high-dimensional mass spectrometry data by applying intensity thresholding and leveraging simultaneous utilization of all acquisition dimensions (m/z, drift time, retention time) to improve detection sensitivity and separation between features. This preprocessing step converts raw or loaded spectral data into a peaked feature table suitable for downstream alignment and characterization.

When to use

Apply this skill when you have loaded mzML.gz or HDF5-formatted raw LC-IMS-MS/MS data and need to identify discrete peaks before feature alignment. Use it if your goal is to reduce noise, increase signal-to-noise ratio, and prepare multi-dimensional data for cross-sample feature matching and CCS calibration.

When NOT to use

  • Input is already a feature table (aligned across samples) — proceed directly to feature characterization steps (CCS calibration, isotope detection)
  • You require untargeted detection of very low-abundance features below your instrument's baseline noise — consider alternative noise modeling or MS/MS signal enhancement before peak detection
  • Data lacks complete multi-dimensional metadata (e.g., drift_time or retention_time fields are missing) — first reconcile data format with DEIMoS accession requirements

Inputs

  • mzML.gz files (raw LC-IMS-MS/MS spectra with MS1 and MS2 data)
  • HDF5 datasets (pre-loaded spectral data with keys ms1 or ms2, containing columns: m/z, drift_time, retention_time, intensity)
  • Example files: example_data.mzML.gz, example_data.h5

Outputs

  • Peaked feature table (HDF5 format, key ms1_peaks or equivalent)
  • Multi-dimensional peak array with columns: m/z, drift_time, retention_time, intensity
  • Example file: example_data_peaks.h5

How to apply

Load raw MS data (mzML.gz or HDF5 format) into the DEIMoS API with explicit dimension accessions (retention_time, drift_time, m/z). Apply intensity-based thresholding using deimos.threshold() with an appropriate threshold parameter (e.g., 500–1000 counts) to remove low-intensity noise and retain signal peaks. DEIMoS peak detection algorithms simultaneously utilize all dimensions to achieve greater separation between features and improved detection sensitivity compared to single-dimension approaches. Verify completion by confirming the output peaked table contains expected dimensions and has non-zero row counts with intensity values above the threshold. The exact threshold value should be empirically determined from your instrument's noise floor and calibration data.

Related tools

  • DEIMoS (Python API and CLI for multi-dimensional peak detection, thresholding, and feature preprocessing on N-dimensional MS data) — https://github.com/pnnl/deimos
  • Snakemake (Workflow orchestration engine that executes DEIMoS peak detection rules within the complete feature alignment DAG)
  • ProteoWizard (Pre-processing utility to convert raw MS formats to mzML for input to DEIMoS)
  • conda (Environment and dependency manager for installing DEIMoS and its Python runtime prerequisites)
  • Python (Runtime language for DEIMoS API; enables programmatic threshold filtering and data loading)

Examples

ms1 = deimos.load('example_data.mzML.gz', accession={'retention_time': 'MS:1000016', 'drift_time': 'MS:1002476'}); ms1_peaks = deimos.threshold(ms1, threshold=500)

Evaluation signals

  • Output HDF5 file is present in output/ directory and contains the 'ms1_peaks' (or equivalent) key with non-zero row count
  • All peaks in output table have intensity values strictly greater than the applied threshold parameter (e.g., > 500 or > 1000)
  • Dimensions (m/z, drift_time, retention_time, intensity) are present and non-null in the peaked feature table
  • Peak count is lower than the raw spectral point count, confirming that thresholding removed noise points
  • Downstream feature alignment (via deimos.alignment or Snakemake feature_alignment rule) proceeds without error, indicating the peaked data schema is compatible with next-stage processing

Limitations

  • Peak detection threshold is user-specified and instrument-dependent; incorrect threshold values may either remove true low-abundance features or retain excessive noise, affecting downstream alignment and detection sensitivity.
  • Algorithm performance relies on complete multi-dimensional data; missing drift_time or retention_time fields will degrade feature separation and alignment confidence.
  • N-dimensional peak detection does not inherently resolve isobaric or co-eluting species; isotope detection and MS/MS deconvolution are separate downstream steps required for full characterization.
  • DEIMoS is agnostic to instrumentation, but raw data must be converted to mzML format with correct accession tags; unconventional or vendor-proprietary formats may require ProteoWizard pre-processing.

Evidence

  • [intro] Feature detection, feature alignment, collision cross section (CCS) calibration, isotope detection, and MS/MS spectral deconvolution: "Functionality includes feature detection, feature alignment, collision cross section (CCS) calibration, isotope detection, and MS/MS spectral deconvolution"
  • [intro] Multi-dimensional approach improves detection sensitivity: "algorithm implementations simultaneously utilize all dimensions to (i) offer greater separation between features, thus improving detection sensitivity"
  • [results] Intensity threshold of 500 applied to raw data: "ms1 = deimos.threshold(ms1, threshold=500)"
  • [results] Intensity threshold of 1000 applied to peaked data: "ms1_peaks = deimos.threshold(ms1_peaks, threshold=1000)"
  • [intro] DEIMoS operates on N-dimensional data agnostic to instrument: "DEIMoS operates on N-dimensional data, largely agnostic to acquisition instrumentation"
  • [results] Loading raw mzML.gz with dimension accessions: "data = deimos.load('example_data.mzML.gz', accession={'retention_time': 'MS:1000016', 'drift_time': 'MS:1002476'})"
  • [other] Peak detection output formats: "ms1_peaks = deimos.load('example_data_peaks.h5', key='ms1', columns=['mz', 'drift_time', 'retention_time', 'intensity'])"

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.