Use when when processing LC-MS data with multiple overlapping m/z scan windows and observing sawtooth-pattern distortions in EICs during tardisPeaks() execution.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill scan-window-routing-mass-spectrometry --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Scan Window Routing Mass Spectrometry?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-scan-window-routing-mass-spectrometry)More formats (shields.io, HTML) on the badges page.
---
name: scan-window-routing-mass-spectrometry
description: Use when when processing LC-MS data with multiple overlapping m/z scan windows and observing sawtooth-pattern distortions in EICs during tardisPeaks() execution.
license: CC-BY-4.0
metadata:
edam_operation: http://edamontology.org/operation_3633
edam_topics:
- http://edamontology.org/topic_0121
- http://edamontology.org/topic_3520
tools:
- xcms
- Spectra
- R
- knitr
- TARDIS
derived_from:
- doi: 10.1021/acs.analchem.5c00567
title: tardis
evidence_spans:
- It makes use of an established retention time correction algorithm from the `xcms` package
- loads MS data as `Spectra` objects so it's easily integrated with other tools
- R package for *TArgeted Raw Data Integration In Spectrometry*
- knitr::include_graphics
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_tardis
doi: 10.1021/acs.analchem.5c00567
title: tardis
dedup_kept_from: coll_tardis
schema_version: 0.2.0
---
# scan-window-routing-mass-spectrometry
## Summary
A quality-control technique for LC-MS targeted metabolomics that segregates overlapping m/z scan windows by mass range to eliminate sawtooth artefacts in extracted ion chromatograms (EICs). Proper routing ensures clean peak profiles during automated integration in TARDIS.
## When to use
When processing LC-MS data with multiple overlapping m/z scan windows and observing sawtooth-pattern distortions in EICs during tardisPeaks() execution. This artefact appears because empty spectra within TARDIS filtering cause discontinuities in the chromatographic signal across scan windows that share m/z ranges without separation logic.
## When NOT to use
- When LC-MS data contains only non-overlapping m/z scan windows (sawtooth artefact will not occur)
- When input files are already in processed feature-table format rather than raw mzML
- When peak integration is not the downstream goal; mass_range separation is not needed for screening-mode visibility checks alone
## Inputs
- centroided mzML files
- Spectra object loaded from mzML vignettes
- target list data.frame with columns: compound ID, compound name, m/z, RT (minutes), polarity
## Outputs
- EIC (Extracted Ion Chromatogram) plots without sawtooth artefacts
- clean chromatographic peak profiles suitable for automated integration
- results list containing data.frame with AUC per target per run
## How to apply
After loading centroided mzML data as Spectra objects and defining a target list with compound ID, name, m/z, RT, and polarity columns, execute tardisPeaks() with an explicitly configured mass_range argument that assigns each scan window to a distinct m/z range rather than allowing windows to overlap without separation. The mass_range parameter must route scan windows so that filtering of empty spectra does not create gaps in the EIC trace. Re-run tardisPeaks() with the corrected mass_range configuration and visually compare the resulting EIC plots against the original artefactual output to confirm elimination of sawtooth profiles and restoration of continuous peak shape.
## Related tools
- **TARDIS** (Executes tardisPeaks() function with mass_range routing to separate overlapping scan windows and generate EICs) — https://github.com/pablovgd/TARDIS
- **xcms** (Provides retention time correction algorithm used within TARDIS for peak detection)
- **Spectra** (R class for loading and managing MS data from mzML files prior to tardisPeaks() execution)
- **knitr** (Visualization and output of EIC plots for comparison of artefact presence/absence)
## Examples
```
tardisPeaks(file_paths = c('sample1.mzML', 'sample2.mzML'), target_list = targets_df, mass_range = list(c(100, 250), c(250, 400)), screening_mode = FALSE)
```
## Evaluation signals
- EIC plots show continuous, smooth chromatographic peak profiles without sawtooth discontinuities after mass_range segregation
- Comparison of before/after EIC outputs demonstrates visual elimination of the sawtooth pattern
- Peak quality metrics (AUC, max intensity, SNR, peak_cor) are stable and unaffected by scan-window filtering
- No gaps or missing data points appear in the extracted ion trace across the retention time window of interest
- Results data.frame contains non-zero AUC values for all targets without spurious intensity drops caused by empty-spectra filtering
## Limitations
- Sawtooth artefacts only manifest when multiple m/z scan windows overlap without mass_range separation; proper parameter configuration is prerequisite knowledge
- The fix requires manual re-execution and visual comparison of EIC plots; automated artefact detection is not provided in TARDIS
- No changelog is documented in the TARDIS repository, limiting traceability of mass_range routing behavior changes across versions
## Evidence
- [other] Peaks display a sawtooth profile when tardisPeaks() processes data with multiple overlapping m/z scan windows without mass_range separation, due to filtering of empty spectra within TARDIS.: "Peaks display a sawtooth profile when tardisPeaks() processes data with multiple overlapping m/z scan windows without mass_range separation, due to filtering of empty spectra within TARDIS."
- [other] Does the sawtooth artefact appear in extracted ion chromatogram (EIC) output when tardisPeaks() is run on LC-MS data with multiple overlapping m/z scan windows without proper mass_range separation?: "Does the sawtooth artefact appear in extracted ion chromatogram (EIC) output when tardisPeaks() is run on LC-MS data with multiple overlapping m/z scan windows without proper mass_range separation?"
- [other] Re-execute tardisPeaks() with correct mass_range argument routing to segregate scan windows by mass range, producing clean chromatographic peak profiles.: "Re-execute tardisPeaks() with correct mass_range argument routing to segregate scan windows by mass range, producing clean chromatographic peak profiles."
- [intro] compound ID, a unique identifier; A compound Name; Theoretical or measured *m/z*; Expected RT (in minutes); A column that indicates the polarity: "compound ID, a unique identifier; A compound Name; Theoretical or measured *m/z*; Expected RT (in minutes); A column that indicates the polarity"
- [intro] Input files need to be converted to the .mzML format and have to be centroided: "Input files need to be converted to the .mzML format and have to be centroided"
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!