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 is encapsulated in a dedicated 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,Spectra(from Spectra) -
MsExperiment(from MsExperiment) -
XcmsExperiment(from xcms)
-
β
Alabaster (AlabasterParam)
- Structured archival using HDF5 and JSON (via
alabaster.base) - Compatible with
MsExperiment,Spectra,XcmsExperiment, etc.
β
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
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/