agentsclimarketplace

Noise smoothing chromatographic signals

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/noise-smoothing-chromatographic-signals

Use when when you have raw LC-HRMS profile-mode data (rt × mz intensity matrices) and need to detect chromatographic peaks using gradient-descent or local-maxima algorithms.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill noise-smoothing-chromatographic-signals

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

6.7 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

noise-smoothing-chromatographic-signals

License: noncommercial — confirm your use is a permitted (noncommercial) purpose before applying; commercial use requires a separate license (see metadata.tool_license). <!-- asb-license-banner -->

Summary

Apply smoothing filters to LC-HRMS chromatographic signals (retention time × m/z matrices) to reduce noise prior to peak detection. This preprocessing step is essential for accurate gradient-descent peak localization and feature extraction in untargeted metabolomics workflows.

When to use

When you have raw LC-HRMS profile-mode data (rt × mz intensity matrices) and need to detect chromatographic peaks using gradient-descent or local-maxima algorithms. The smoothing step is mandatory before peak border and center estimation to reduce false positives from background noise and instrument artifacts.

When NOT to use

  • If you already have centroided or deconvoluted peak lists (not profile-mode raw data)
  • If your LC-HRMS signal-to-noise ratio is already very high (e.g., SIM or MRM mode with minimal baseline noise); smoothing may become unnecessary and risk peak distortion
  • If you are working with already-feature-extracted data or vendor-processed peak tables

Inputs

  • raw LC-HRMS chromatogram data (retention time × m/z intensity matrix, typically NetCDF or mzML format)
  • training chromatogram dataset

Outputs

  • smoothed chromatographic signal (rt × mz matrix with attenuated noise)
  • intermediate representation ready for gradient-descent peak detection

How to apply

Load your training chromatogram data in retention time × m/z matrix format. Apply a smoothing filter (specific kernel and window size are implementation-dependent; PeakBot's approach is designed for two-dimensional LC-HRMS data) to attenuate high-frequency noise while preserving peak shape integrity. The smoothed signal is then fed directly into a gradient-descent algorithm to locate chromatographic peak maxima and estimate peak borders and centers. The choice of smoothing strength should balance noise reduction against peak shape distortion; too aggressive smoothing will broaden or merge nearby peaks, while insufficient smoothing will leave noise-driven false maxima. Verify post-smoothing by visual inspection of a subset of chromatograms to confirm peaks remain well-resolved.

Related tools

  • PeakBot (Python package that implements smoothing as a preprocessing step before gradient-descent peak detection in LC-HRMS chromatograms) — https://github.com/christophuv/PeakBot
  • TensorFlow (Machine-learning framework used by PeakBot for CNN-based peak classification after smoothing and peak detection) — https://www.tensorflow.org/

Examples

python quickExample_GPU.py  # PeakBot example that includes smoothing as part of the training pipeline; or manually: from peakbot import preprocessing; smoothed_chromatogram = preprocessing.smooth_chromatogram(raw_rt_mz_matrix, kernel_size=5)

Evaluation signals

  • Visual inspection: smoothed chromatogram shows reduced high-frequency noise while preserving peak maxima and shoulders
  • Peak detection consistency: gradient-descent algorithm successfully locates expected number of local maxima without spurious noise-driven peaks
  • Peak shape integrity: FWHM and peak asymmetry metrics of known reference peaks remain within ±10% of theoretical values post-smoothing
  • Matching success rate: when matched against user-defined reference list, smoothed peaks exhibit rt and m/z alignment error < ±1 scan / ±5 ppm
  • Signal recovery: intensity of smoothed peaks should not deviate >5% from raw peak area when integrated across the smoothed window

Limitations

  • Smoothing strength is not quantitatively parameterized in the README; users must empirically validate for their instrument and sample type
  • Two-dimensional smoothing (across both rt and m/z dimensions) may blur isomeric peak doublets or co-eluting features if applied too aggressively
  • Performance depends on LC-HRMS data quality; severely noisy or poorly-calibrated instruments may require manual parameter tuning or preprocessing steps before smoothing
  • Smoothing alone does not resolve true co-elution; downstream peak matching and CNN classification are required to distinguish overlapping peaks

Evidence

  • [readme] searching for chromatographic peaks using a smoothing and gradient-descend algorithm: "searching for chromatographic peaks using a smoothing and gradient-descend algorithm"
  • [readme] uses local-maxima in the LC-HRMS dataset each of which is then exported as a standarized two-dimensional area (rt x mz): "uses local-maxima in the LC-HRMS dataset each of which is then exported as a standarized two-dimensional area (rt x mz)"
  • [readme] The peaks' borders and centers are also estimated in this step: "The peaks' borders and centers are also estimated in this step"
  • [other] Load training chromatogram data (retention time × m/z matrix format). Apply smoothing filter to the chromatographic signal to reduce noise.: "Load training chromatogram data (retention time × m/z matrix format). Apply smoothing filter to the chromatographic signal to reduce noise."
  • [readme] matched with a user-defined reference list (the ground-truth; isolated single chromatographic peaks) with the aim of using the same chromatographic peak but from different samples: "matched with a user-defined reference list (the ground-truth; isolated single chromatographic peaks)"

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.