MRMhub MRMhub logo

MRMhub is an open-source, one-stop framework for reproducible, automated processing of targeted metabolomics and lipidomics data acquired by liquid chromatography–mass spectrometry (LC–MS) in Multiple Reaction Monitoring (MRM) mode. Addressing well-known gaps in the robustness and scalability of existing software, it takes an experiment from raw instrument data to quality-controlled quantitative results, processing population-scale studies within minutes on standard hardware while recording a full digital footprint of every step for reproducibility and traceability. Built for both analytical and bioinformatics scientists, MRMhub provides modular functions and defined data structures that adapt to diverse study designs and data formats, supporting customizable, fully documented end-to-end workflows across two complementary modules:


MRMhub processing overview: four pipeline stages. Peak Integration (retention time alignment, peak identification and selection, peak border refinement, integration, reporting) is performed by INTEGRATOR; Quantitation, Quality Control, and Reporting are performed by QUANT.

Installation

Getting started

→ Browse analyses - MRMhub-workflows ↗ shows annotated, end-to-end data-processing reports from large-scale lipidomics analyses and a fully quantitative assay.

→ Run the demo - download the latest release ↗ and follow the bundled readme.txt to process the demo project end-to-end with both modules.

Documentation

QUANT module usage

INTEGRATOR runs as a desktop app (see Quick Start ↗). QUANT is an R package. The example below runs on the bundled demo data and can be extended in the same way to quantitation, drift/batch correction, QC metrics, and feature filtering:

library(mrmhub)

demo_file <- system.file("extdata", "MRMhub_demo.tsv", package = "mrmhub")

# `mexp` is the container holding all data and results across the script
mexp <- MRMhubExperiment() |>
  import_data_mrmhub(path = demo_file, import_metadata = TRUE) |>
  normalize_by_istd()

# Inspect ISTD-normalized signal for selected lipid classes (2 x 3 panel)
plot_runscatter(
  mexp,
  variable = "norm_intensity",
  rows_page = 2, cols_page = 3,
  include_feature_filter = "^(Cer|PC)"   # names as a vector or regex
)

# Export a multi-sheet QC report
save_report_xlsx(mexp, path = "results.xlsx")

Authors & Contact

Contributing

Bug reports and feature requests are welcome via GitHub issues. The project follows the Contributor Code of Conduct.

Citation

Burla B., Teo G. et al. (2026). MRMhub: a scalable data-processing framework for large-scale targeted metabolomics. Nature Metabolism. doi:10.1038/s42255-026-01629-2

The analyses in the paper used MRMhub v0.9.9.

License

Dual-licensed - non-commercial under GNU AGPLv3. For commercial use contact Jonathan Tan (jonathan_tan@nus.edu.sg).