agentsclimarketplace

Chromatogram peak boundary detection

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/chromatogram-peak-boundary-detection

Use when when you have loaded a TransitionGroup (extracted ion chromatogram or mobilogram from DIA-MS data) and need to identify precise peak boundaries and apex positions for feature extraction.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill chromatogram-peak-boundary-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

8.0 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

chromatogram-peak-boundary-detection

Summary

Automated detection of peak boundaries (start, apex, end retention time) in extracted ion chromatograms and mobilograms using deep learning inference via onnxruntime. This skill produces quantitative peak parameters and quality scores for downstream feature integration and validation in DIA-MS workflows.

When to use

When you have loaded a TransitionGroup (extracted ion chromatogram or mobilogram from DIA-MS data) and need to identify precise peak boundaries and apex positions for feature extraction. Use this skill when automated, reproducible peak detection is required across many transitions, or when you want to experiment with neural network-based peak picking models instead of traditional signal processing heuristics.

When NOT to use

  • Input is raw, unextracted MS/MS spectrum data (not a chromatogram or mobilogram trace).
  • You require real-time or ultra-low-latency peak detection and cannot support onnxruntime inference overhead.
  • The peak picking algorithm has already been applied and boundaries are already present in the input feature records.

Inputs

  • TransitionGroup object (extracted ion chromatogram or mobilogram data)
  • Data1D structure (intensity values indexed by retention time or ion mobility)
  • onnxruntime InferenceSession with loaded model weights
  • Model artifact (ONNX model file for conformer-based peak detection)

Outputs

  • TransitionGroupFeature records
  • Peak boundary parameters (start, apex, end retention time)
  • Peak intensity values and quality scores

How to apply

Initialize a ConformerPeakPicker instance with a pre-trained onnxruntime model session and the corresponding model weights for conformer-based peak detection. Load the TransitionGroup (a Data1D structure containing intensity values keyed by retention time or ion mobility) into memory. Preprocess the signal by normalizing intensity values and handling missing or zero data points. Run onnxruntime inference on the preprocessed signal to predict peak regions and apex positions; the model outputs predicted peak boundaries and confidence scores. Extract peak boundaries (start, apex, end retention time) and intensity values from the model output tensors. Construct TransitionGroupFeature records populated with the detected peak parameters, quality metrics, and metadata. Return the populated TransitionGroupFeature as the output for downstream validation and integration.

Related tools

  • massdash (Python package providing ConformerPeakPicker class and TransitionGroup/TransitionGroupFeature data structures; hosts peak picking workflows and integration with onnxruntime inference) — https://github.com/Roestlab/massdash
  • onnxruntime (Executes inference on the conformer-based peak detection model to predict peak boundaries and apex positions from preprocessed signal data)
  • Pytest (Executes unit and integration tests to validate peak boundary detection correctness and model output consistency)
  • Syrupy (Snapshot testing plugin for pytest; compares peak detection output (TransitionGroupFeature records) to previously recorded expected output states to detect regressions) — https://github.com/syrupy-project/syrupy

Evaluation signals

  • TransitionGroupFeature records are non-empty and contain peak_start, peak_apex, and peak_end retention time values in ascending order (start < apex < end).
  • Intensity values extracted from model output are numeric, non-negative, and peak apex intensity is ≥ intensities at start and end boundaries.
  • Quality scores (if provided) are within expected range (e.g. [0, 1]); low quality scores should correlate with ambiguous or noisy signal regions.
  • Snapshot tests (via Syrupy) pass, confirming detected peak boundaries match expected output on reference test data.
  • Peak boundaries align visually with manual inspection of the extracted chromatogram trace in the MassDash Bokeh/interactive visualization.

Limitations

  • ConformerPeakPicker performance depends on the quality and representativeness of the onnxruntime model weights; model must be pre-trained on chromatographic data similar in origin and preprocessing to your input.
  • Preprocessing step (normalization, missing data handling) can significantly affect inference results; edge cases such as negative intensities, zero traces, or extreme noise may not be handled gracefully.
  • Model inference via onnxruntime introduces computational overhead and memory requirements proportional to trace length; may become a bottleneck for very large datasets or real-time applications.
  • No adaptive thresholding or parameter tuning for peak detection; model outputs fixed peak boundaries without sensitivity analysis or uncertainty quantification per transition.

Evidence

  • [other] The ConformerPeakPicker is a massdash.peakPickers class that operates using onnxruntime to identify peak boundaries on TransitionGroup objects and produces TransitionGroupFeature records as output.: "The ConformerPeakPicker is a massdash.peakPickers class that operates using onnxruntime to identify peak boundaries on TransitionGroup objects and produces TransitionGroupFeature records as output."
  • [other] Initialize ConformerPeakPicker with onnxruntime session and model weights for conformer-based peak detection. Load a TransitionGroup (chromatogram or mobilogram data) into memory as a Data1D structure. Preprocess the signal by normalizing intensity values and handling missing data points. Run the onnxruntime inference on the preprocessed signal to predict peak regions and apex positions. Extract peak boundaries (start, apex, end retention time) and intensity values from model output. Construct TransitionGroupFeature records containing detected peak parameters and quality scores.: "1. Initialize ConformerPeakPicker with onnxruntime session and model weights for conformer-based peak detection. 2. Load a TransitionGroup (chromatogram or mobilogram data) into memory as a Data1D"
  • [other] Peak-picking can also be applied as in the first workflow, specifically for the extracted ion chromatograms: "Peak-picking can also be applied as in the first workflow, specifically for the extracted ion chromatograms"
  • [readme] On the fly parameter optimization - Adjust peak picking parameters on the fly or experiment with novel deep learning based peak picking approaches.: "On the fly parameter optimization - Adjust peak picking parameters on the fly or experiment with novel deep learning based peak picking approaches."
  • [other] Syrupy is used to compare output to previous expected output states: "Syrupy is used to compare output to previous expected output states"

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.