MsStash

Store your mass spectrometry result objects in a safe place

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Test-R-universe codecov :name status badge years in bioc license


Overview

MsStash 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. MsStash addresses this by introducing standardized file formats and programmatic interfaces, simplifying integration between R-based tools and external software ecosystems.


Key Features


Package Architecture

Generic Methods

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

Implementation of the import/export methods for individual MS data structures are implemented in the corresponding R packages.


Supported Formats

βœ… Plain Text (PlainTextParam)

βœ… Alabaster (AlabasterParam)


Planned Features & Contributions Welcome

Future development directions include:

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:

  1. Read our contribution guidelines
  2. Follow the RforMassSpectrometry style guide
  3. Fork the repo, create a branch, implement your changes, and submit a pull request
  4. For new formats, implement:
    • A *Param S4 class
    • A readMsObject() and/or saveMsObject() method
    • Tests in tests/testthat/

License

This package is licensed under the GPL 3.0 License: πŸ“„ https://opensource.org/license/gpl-3.0

Documentation (manuals, vignettes) is licensed under CC BY-NC-SA 4.0: πŸ“„ https://creativecommons.org/licenses/by-nc-sa/4.0/


Funding information

Part of this work was funded by the European Union under the HORIZON-MSCA-2021 project 101073062: HUMAN – Harmonising and Unifying Blood Metabolic Analysis Networks, by the Autonomous Province of Bolzano under the MetaRbolomics4Galaxy project (CUP: D53C25001030003) from the Joint Projects South Tyrol–Germany 2025 funding program and by the DFG grant no. 564004112.

EU Logo

funding