# Peak Picking Algorithm Selection

> Use when at the entry point of SLAW processing when you have centroided mzML or netCDF LC-MS files and need to decide which peak-picking algorithm to use. Trigger this skill when: (1) raw LC-MS data must be converted into a feature matrix;

- Skill: `holobiomicslab/peak-picking-algorithm-selection` (Agent Skill)
- Install (CLI): `npx skillmds@latest add holobiomicslab/peak-picking-algorithm-selection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/holobiomicslab/peak-picking-algorithm-selection/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: CC-BY-4.0
- Author: HolobiomicsLab (https://skillmd.com/u/holobiomicslab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/holobiomicslab/peak-picking-algorithm-selection

---


# peak-picking-algorithm-selection

## Summary

Select and route untargeted LC-MS data through one of three wrapped peak-picking algorithms (Centwave, FeatureFinderMetabo, or ADAP) via configuration-driven dispatch, producing standardized feature matrices with m/z, retention time, and intensity columns. This skill encapsulates the conditional logic that allows users to choose the most suitable algorithm for their LC-MS data characteristics without reimplementing each algorithm wrapper.

## When to use

Apply this skill at the entry point of SLAW processing when you have centroided mzML or netCDF LC-MS files and need to decide which peak-picking algorithm to use. Trigger this skill when: (1) raw LC-MS data must be converted into a feature matrix; (2) you can specify which of the three algorithms (Centwave, FeatureFinderMetabo, ADAP) best matches your chromatography type, sample complexity, or prior tuning experience; (3) you want the output features normalized to a common schema for downstream alignment and grouping steps. Do not use if you already have a pre-computed peak table or if your MS data are in profile (non-centroided) format.

## When NOT to use

- Input LC-MS data are in profile (non-centroided) format; centroid conversion must precede this skill.
- A feature table has already been generated by external peak picking; use alignment and grouping skills directly.
- MS data are DIA (data-independent acquisition) mode; SLAW and its three peak pickers support DDA only.

## Inputs

- centroided LC-MS data files in mzML or netCDF format (MS1 ± DDA-MS2)
- algorithm selection parameter (string: 'Centwave', 'FeatureFinderMetabo', or 'ADAP')
- algorithm-specific parameters (ppm tolerance, chromatographic peak width, minimum signal intensity, etc.)
- sample metadata including polarity (positive or negative) and sample type (QC, sample, MS2, blank)

## Outputs

- standardized feature matrix with columns: m/z, retention time, peak intensity
- algorithm metadata (algorithm name, parameters applied, execution time)
- peak detection quality metrics (number of features detected, signal-to-noise ratio estimates)
- feature-level annotations (e.g., isotope patterns, adduct assignments from algorithm output)

## How to apply

Configure the SLAW parameters.txt file to specify the target peak-picking algorithm (Centwave, FeatureFinderMetabo, or ADAP) by name. The routing mechanism reads this configuration key and instantiates the corresponding algorithm wrapper module. Load your centroided LC-MS data (mzML or netCDF) and associated metadata (polarity, sample type from samples.csv). Invoke the selected algorithm wrapper with optimized or user-specified parameter sets (e.g., ppm tolerance, minimum intensity threshold, chromatographic peak width). Execute the peak picking on the raw data, producing an algorithm-specific output (e.g., feature table with detector-dependent columns). Standardize this output to the SLAW internal format by extracting and aligning m/z, retention time, and peak intensity columns. Return the standardized feature matrix and algorithm metadata (algorithm name, parameters used, execution timestamp) to the caller for continuation through alignment, grouping, and gap-filling stages.

## Related tools

- **Centwave** (One of three wrapped peak-picking algorithms; uses continuous wavelet transform for feature detection in mzML/netCDF data.)
- **FeatureFinderMetabo** (One of three wrapped peak-picking algorithms; optimized for metabolomic LC-MS data with emphasis on small molecules.)
- **ADAP** (One of three wrapped peak-picking algorithms; adaptive data analysis approach for complex chromatographic peak detection.)
- **SLAW** (Container and orchestration framework that wraps the three peak pickers and routes data through selected algorithm based on configuration.) — https://github.com/zamboni-lab/SLAW

## Examples

```
docker run --rm -v /path/to/input:/input -v /path/to/output:/output zambonilab/slaw:latest  # After editing parameters.txt to set algorithm='Centwave' and optimization enabled
```

## Evaluation signals

- Output feature matrix contains exactly three required columns (m/z, retention time, peak intensity) with valid numeric ranges (m/z > 0, retention time >= 0, intensity >= 0).
- Number of detected features is consistent with prior runs on the same algorithm or within expected range for sample type (QC samples typically yield more reproducible features than blanks).
- Algorithm metadata includes the selected algorithm name, parameters used, and execution timestamp; metadata matches the configuration.txt settings.
- Standardized feature matrix schema is identical regardless of which algorithm was selected; downstream alignment and grouping steps process output identically.
- Feature intensity distributions and m/z clustering patterns are visually distinct between Centwave, FeatureFinderMetabo, and ADAP outputs on the same input (e.g., Centwave detects fewer but more intense peaks; FeatureFinderMetabo emphasizes low-mass metabolites).

## Limitations

- Only DDA (data-dependent acquisition) MS2 are supported; DIA-MS2 spectra will be skipped or cause processing errors.
- All LC-MS data must be centroided and of a single polarity per run; mixed-polarity or profile-mode data require preprocessing outside SLAW.
- Algorithm selection is static per SLAW execution; switching algorithms requires rerunning the container with modified parameters.txt.
- Peak-picking output quality depends critically on algorithm-specific parameter tuning; poor parameter choices can yield feature tables with low feature reproducibility across QC replicates.
- The three wrapped algorithms have different computational footprints and runtimes; Centwave is fastest, FeatureFinderMetabo and ADAP may require more memory and wall-clock time on thousands of samples.

## Evidence

- [other] SLAW wraps three independent peak picking algorithms—Centwave, FeatureFinderMetabo, and ADAP—enabling configurable selection among them for the peak-picking stage: "SLAW wraps three independent peak picking algorithms—Centwave, FeatureFinderMetabo, and ADAP—enabling configurable selection among them for the peak-picking stage of untargeted LC-MS processing."
- [other] Route the data to the corresponding algorithm wrapper module based on the configuration key. Execute the selected peak-picking algorithm on the input data with the specified parameters. Standardize the output peak table to a common internal format (e.g., feature matrix with m/z, retention time, intensity columns).: "Route the data to the corresponding algorithm wrapper module based on the configuration key. Execute the selected peak-picking algorithm on the input data with the specified parameters. Standardize"
- [readme] Raw MS data in mzML format. Files can include MS1 and DDA-MS2 scans. DIA-MS is not supported. All data must be centroided and of unique polarity.: "Raw MS data in mzML format. Files can include MS1 and DDA-MS2 scans. DIA-MS is not supported. All data must be centroided and of unique polarity."
- [readme] Wrapping of three main peak picking algorithms: Centwave, FeatureFinderMetabo, ADAP: "Wrapping of three main peak picking algorithms: Centwave, FeatureFinderMetabo, ADAP"
- [other] Return the standardized peak table and algorithm metadata to the caller for downstream SLAW stages (alignment, grouping, gap-filling).: "Return the standardized peak table and algorithm metadata to the caller for downstream SLAW stages (alignment, grouping, gap-filling)."

