bioconductor-metabocoreutils
MetaboCoreUtils defines metabolomics-related core functionality provided as low-level functions to allow a data structure-independent usage across various R packages. This includes functions to calculate between ion (adduct) and compound ma
Try your first task
bioconductor-metabocoreutils
Start a fresh conversation. Replace the highlighted placeholders.
Use bioconductor-metabocoreutils to standardize [chemical formulas] to Hill notation and calculate their exact masses, flagging invalid formulas.
Required inputs
- [chemical formulas]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: bioconductor-metabocoreutilsdescription: MetaboCoreUtils defines metabolomics-related core functionality provided as low-level functions to allow a data structure-independent usage across various R packages. This includes functions to calculate between ion (adduct) and compound mawhen_to_use: "Use when: Mass and m/z Conversions: Converting between exact compound masses and ion mass-to-charge ratios ($m/z$) using mass2mz and mz2mass.; Chemical Formula Manipulation: Standardizing chemical formulas to Hill notation (standardizeFormula), adding/subtracting elements (addElements, subtractElements), and calculating exact masses (calculateMass).; Signal Drift Adjustment: Modeling and adjusting for injec. Not for: Full LC-MS Preprocessing: For end-to-end raw data processing (peak picking, alignment, grouping); use high-level packages like xcms instead because MetaboCoreUtils only provides low-level utility functions.; Complex Statistical Modeling: For modeling"user-invocable: falseMetaboCoreUtils
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.20.1 · Bioconductor: 3.23 · R: ≥ 4.6
- Imports: MsCoreUtils, BiocParallel
- Install:
BiocManager::install("MetaboCoreUtils")
When to Use
- Mass and m/z Conversions: Converting between exact compound masses and ion mass-to-charge ratios ($m/z$) using
mass2mzandmz2mass. - Chemical Formula Manipulation: Standardizing chemical formulas to Hill notation (
standardizeFormula), adding/subtracting elements (addElements,subtractElements), and calculating exact masses (calculateMass). - Signal Drift Adjustment: Modeling and adjusting for injection order-dependent signal drift in LC-MS feature abundances using
fit_lmandadjust_lm. - Kendrick Mass Defect Calculation: Identifying homologous series (e.g., lipids) by calculating Kendrick mass defects using
calculateKmdandcalculateRkmd.
When NOT to Use
- Full LC-MS Preprocessing: For end-to-end raw data processing (peak picking, alignment, grouping); use high-level packages like
xcmsinstead becauseMetaboCoreUtilsonly provides low-level utility functions. - Complex Statistical Modeling: For modeling non-linear batch effects or complex multi-covariate experimental designs; use dedicated statistical modeling packages because
fit_lmis designed for simple linear drift adjustments.
Data Requirements
- Input Format: Character vectors for chemical formulas (e.g.,
"C6H12O6"), numeric vectors for masses or $m/z$ values, and matrices for feature abundances. - Retention Indexing: A
data.framecontaining retention times and corresponding index values is required forindexRtimeandcorrectRindex. - Signal Drift: A matrix of feature abundances (features in rows, samples in columns) and a
data.frameof covariates (e.g., injection index).
Key Parameters
- adduct: Character string or vector specifying the ESI ion adduct (e.g.,
"[M+H]+"or"[M+Na]+") for mass conversions. - data: A
data.framecontaining the covariates (e.g.,injection_index) passed tofit_lmandadjust_lm. - minVals: The minimum number of non-missing values required in QC samples to fit a linear model in
fit_lm. - y: The response variable (e.g., log2-transformed abundances) passed to
fit_lm. - lm: A list of fitted linear models passed to
adjust_lmto correct the data.
Best Practices
- Always standardize chemical formulas using
standardizeFormulabefore comparing them or counting elements (countElements) to ensure consistent formatting. - Use
adductNamesto view the exact spelling of all supported ESI ion adduct definitions before performing $m/z$ conversions. - When adjusting for signal drift, fit the linear models (
fit_lm) exclusively on QC samples to ensure the estimated drift is independent of biological covariates. - Evaluate the estimated signal drifts (e.g., check p-values and R-squared) and filter out poor fits (e.g., p-value > 0.05) before applying
adjust_lm.
Common Pitfalls
- Unstable Drift Models: Fitting linear models on features with too few QC measurements leads to unstable adjustments; Fix: Increase the
minValsparameter infit_lmto require a strict minimum of non-missing QC values. - Adjusting Non-Drifting Features: Blindly applying
adjust_lmto all features can introduce noise to features without true signal drift; Fix: Filter the list of models returned byfit_lmto remove fits with poor p-values before adjustment. - Incorrect Adduct Syntax: Conversions fail if the adduct string is misspelled; Fix: Query
adductNames()to verify the exact string format (e.g.,"[M+H]+").
Alternatives
- xcms: Provides a comprehensive, high-level framework for LC-MS data preprocessing (peak picking, retention time alignment) rather than low-level utilities.
- MsCoreUtils: Offers core utilities specifically for mass spectrometry data (e.g., spectra processing, noise estimation) rather than chemical formula and adduct calculations.
- enviPat: Focuses on fine-grained isotopic pattern calculations and profile simulations rather than basic exact mass and $m/z$ conversions.
Citations
- Rainer, M., Vicini, P., & Sigurdsson, S. (2022). MetaboCoreUtils: Core Utils for Metabolomics Data.
- Wehrens, R., et al. (2016). Improved batch correction in untargeted MS-based metabolomics. Metabolomics, 12(5), 88.
References
- Homepage: https://bioconductor.org/packages/MetaboCoreUtils
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/MetaboCoreUtils/inst/doc/MetaboCoreUtils.html
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use metabocoreutils. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.