Overview
MsIO provides flexible, language-agnostic import and export capabilities for mass spectrometry (MS) data objects in R. It facilitates interoperability by supporting various open file formats such as JSON, HDF5, plain text, and domain-specific standards like mzTab-M or MetaboLights archives.
While Rβs native save()/load() functions allow object serialization, they rely on R-specific binary formats, making cross-platform data exchange difficult. MsIO addresses this by introducing standardized file formats and programmatic interfaces, simplifying integration between R-based tools and external software ecosystems.
Key Features
- π¦ Export/import MS analysis results objects across interoperable file formats
- π§© Modular design via S4 parameter classes and generic methods
- π Integration with Bioconductor packages like Spectra, MsExperiment, xcms, and alabaster.base
- π§ Support for plain text, JSON+HDF5, mzTab-M, and MetaboLights repository data
Package Architecture
Generic Methods
saveMsObject(object, param)readMsObject(object, param)
These methods delegate the actual file handling based on the class of the supplied param object (e.g., PlainTextParam, AlabasterParam).
Parameter Classes
Each format can be configured with their respective S4 class:
| Class | Purpose |
|---|---|
PlainTextParam |
Text-based tabular storage |
AlabasterParam |
HDF5/JSON archival via alabaster |
mzTabParam |
Export to mzTab-M (MS metabolomics) |
MetaboLightsParam |
Import from MetaboLights repository |
Corresponding logic is implemented in dedicated .R files (e.g.Β XcmsExperiment.R, Spectra.R), with new formats expected to follow the same structure.
Supported Formats
β
Plain Text (PlainTextParam)
- Tab-delimited export/import for key objects:
-
MsBackendMzR,MsBackendCached,Spectra(from Spectra) -
MsBackendOfflineSql(from MsBackendSql) -
MsExperiment(from MsExperiment) -
XcmsExperiment(from xcms)
-
β
Alabaster (AlabasterParam)
- Structured archival using HDF5 and JSON (via
alabaster.base) - Supported for
XcmsExperiment,MsExperiment,Spectra,MsBackendMzR,MsBackendCached,MsBackendOfflineSql.
β
mzTab-M Export (mzTabParam)
- Export of
XcmsExperimentpreprocessing results to mzTab-M (HUPO PSI metabolomics standard)
β
MetaboLights (MetaboLightsParam)
- Import of complete experiments (including raw MS files) from MetaboLights as
MsExperimentobjects.
Planned Features & Contributions Welcome
Future development directions include:
- π Import mzTab-M into
SummarizedExperiment - π Import mzTab-M into
QFeatures - π Generic ISA-tab import integration (if justified)
We welcome and encourage contributions β see below for how to get involved!
Contributing
We appreciate contributions of all kinds β from bug fixes and tests to documentation and new format support.
If youβre planning to contribute:
- Read our contribution guidelines
- Follow the RforMassSpectrometry style guide
- Fork the repo, create a branch, implement your changes, and submit a pull request
- For new formats, implement:
- A
*ParamS4 class - A
readMsObject()and/orsaveMsObject()method Tests in
tests/testthat/
- A
License
This package is licensed under the Artistic 2.0 License: π https://opensource.org/licenses/Artistic-2.0
Documentation (manuals, vignettes) is licensed under CC BY-SA 4.0: π https://creativecommons.org/licenses/by-sa/4.0/