Use when you have OnDiskMSnExp CE-MS objects with known marker compounds (e.g., Paracetamol EOF marker) and need to extract their migration time positions to establish a calibration reference.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill migration-time-extraction --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Migration Time Extraction?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-migration-time-extraction-asb-skill-collections)More formats (shields.io, HTML) on the badges page.
---
name: migration-time-extraction
description: Use when you have OnDiskMSnExp CE-MS objects with known marker compounds (e.g., Paracetamol EOF marker) and need to extract their migration time positions to establish a calibration reference.
license: CC-BY-4.0
metadata:
edam_operation: http://edamontology.org/operation_3632
edam_topics:
- http://edamontology.org/topic_3520
- http://edamontology.org/topic_0121
tools:
- R
- MobilityTransformR
- msdata
- MetaboCoreUtils
- xcms
- MSnbase
- Spectra
techniques:
- LC-MS
- CE-MS
derived_from:
- doi: 10.1093/bioinformatics/btac441
title: MobilityTransformR
evidence_spans:
- there is no implementation in R that performs effective mobility transformation of CE-MS(/MS) data
- Description and usage of MobilityTransformR
- compute Procaine's effective mobility using mobilityTransform
- The CE-MS test data are from the `r BiocStyle::Biocpkg("msdata")` package
- The transformation is performed using functionality from the packages `r BiocStyle::Biocpkg("MetaboCoreUtils")`
- The transformation is performed using functionality from the packages `r BiocStyle::Biocpkg("xcms")`
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v2
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_mobilitytransformr_cq
doi: 10.1093/bioinformatics/btac441
title: MobilityTransformR
dedup_kept_from: coll_mobilitytransformr_cq
schema_version: 0.2.0
attribution:
generator: AgenticScienceBuilder
original_doi: 10.1093/bioinformatics/btac441
all_source_dois:
- 10.1093/bioinformatics/btac441
zenodo_doi: 10.5281/zenodo.20794027
curators: []
promoter: Louis-Félix Nothias
sponsor: CNRS & Université Côte d'Azur
---
# migration-time-extraction
## Summary
Extract migration time (MT) coordinates of marker peaks (e.g., EOF markers) from CE-MS data files by generating Extracted Ion Electropherograms (EIE) and applying xcms peak detection with specified m/z and MT range constraints. This preprocessing step is essential for calibrating and normalizing migration time scales before effective mobility transformation.
## When to use
Apply this skill when you have OnDiskMSnExp CE-MS objects with known marker compounds (e.g., Paracetamol EOF marker) and need to extract their migration time positions to establish a calibration reference. Specifically, use it when you require per-file MT values to correct for electroosmotic flow variations that cause migration time drift across replicate analyses.
## When NOT to use
- Input data are already effective mobility–transformed or already contain pre-computed migration time values; use getMtime only on raw OnDiskMSnExp CE-MS objects.
- No known internal standard or marker peak is available; getMtime requires a reference compound with known m/z to anchor the extraction.
- Migration time ranges are extremely broad or poorly constrained; wide MT-range parameters lead to spurious peak detection.
## Inputs
- OnDiskMSnExp object (CE-MS raw data)
- m/z range (numeric vector or single value with tolerance)
- Migration time range (numeric vector defining lower and upper MT bounds)
- Known marker compound mass and approximate migration time
## Outputs
- Per-file migration time table (file identifier × MT value)
- Structured output file (e.g., CSV or tabular format) with MT values and file metadata
## How to apply
Load CE-MS test files from the msdata package into R as OnDiskMSnExp objects. Call the getMtime() function, supplying the object, a narrow m/z range (mz-range parameter) centered on the marker's known mass, and a plausible migration time window (MT-range parameter). The function generates an Extracted Ion Electropherogram (EIE) by filtering the raw data to the specified m/z tolerance, then invokes xcms::findChromPeaks() to locate the peak within the MT range. Narrow m/z and MT ranges are critical to ensure correct peak detection and avoid false positives. Compile the extracted MT values into a per-file table with file identifiers. Export the result as a structured output file for use in downstream effective mobility calibration workflows.
## Related tools
- **MobilityTransformR** (Package providing getMtime() function for extraction of migration time from CE-MS OnDiskMSnExp objects) — https://github.com/LiesaSalzer/MobilityTransformR
- **xcms** (Provides findChromPeaks() algorithm for peak detection in Extracted Ion Electropherograms)
- **MSnbase** (Supplies OnDiskMSnExp class and spectral data handling for CE-MS files)
- **Spectra** (Provides spectral data representation and filtering infrastructure)
- **msdata** (Supplies CE-MS test data files for validation and example workflows)
- **MetaboCoreUtils** (Supplies core metabolomics data transformation and utility functions)
## Examples
```
getMtime(OnDiskMSnExp_object, mz = c(151.04, 151.08), mt = c(8.0, 12.0))
```
## Evaluation signals
- Extracted MT values fall within the specified MT-range parameter and are reproducible across replicate files.
- Per-file MT table contains no missing values (NA) for successfully processed files, indicating peak detection succeeded.
- MT values cluster around the expected migration time of the marker compound; outliers or bimodal distributions suggest m/z or MT range misconfiguration.
- Comparison of extracted MT values across replicate files shows expected drift consistent with electroosmotic flow variation, not random noise.
- Output file structure matches expected schema (file identifier column, MT value column, metadata columns); schema validation passes without errors.
## Limitations
- getMtime() requires narrow m/z and MT ranges to ensure correct peak detection; overly broad ranges cause false positives or missed detections.
- Migration time extraction depends on the quality and signal intensity of the marker peak; low-abundance or noisy peaks may not be detected reliably.
- The function is specific to CE-MS data; it cannot be applied to LC-MS or other chromatographic techniques.
- Effective mobility transformation for CE-MS data is not straightforward as in CE-UV, and migration time alone does not account for electroosmotic flow variations; extracted MT values must be combined with effective mobility calibration for reproducibility.
## Evidence
- [other] The getMtime() function accepts an OnDiskMSnExp object, mz-range, and MT-range as inputs and determines the migration time of a marker peak by generating an Extracted Ion Electropherogram (EIE) and using findChromPeaks from xcms to pick the peak, with narrow mz and mt ranges required to ensure correct peak detection.: "The getMtime() function accepts an OnDiskMSnExp object, mz-range, and MT-range as inputs and determines the migration time of a marker peak by generating an Extracted Ion Electropherogram (EIE) and"
- [intro] the effective mobility µ_eff of a compound remains stable in the same electrophoretic system. The use of an effective mobility scale instead of a migration time scale circumvents the drawback of MT: "the effective mobility µ_eff of a compound remains stable in the same electrophoretic system. The use of an effective mobility scale instead of a migration time scale circumvents the drawback of MT"
- [intro] Effective mobility transformation for CE-MS data is not as straightforward as in CE-UV and until now and to our knowledge there is no implementation in R that performs effective mobility: "Effective mobility transformation for CE-MS data is not as straightforward as in CE-UV and until now and to our knowledge there is no implementation in R that performs effective mobility"
- [intro] The CE-MS test data are from the `r BiocStyle::Biocpkg("msdata")` package: "The CE-MS test data are from the `r BiocStyle::Biocpkg("msdata")` package"
- [readme] To install MobilityTransformR, use the stable version available at Bioconductor.: "To install MobilityTransformR, use the stable version available at Bioconductor."
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!