mzTab-M is a lightweight, tab-delimited file format for reporting mass spectrometry-based metabolomics results. Initially an extension of mzTab for proteomics (version 1.0), mzTab-M has evolved significantly in version 2.0 and beyond, supporting detailed quantitative and qualitative data reporting for metabolomics workflows. With version 2.1, we intend to expand the format, to modularize it and support FAIR data use cases and integrate better with tools.
The mzTab-M 2.1+ development now takes place in this repository (split from the original mzTab repository).
mzTab-M is designed for a wide range of users, including bioinformaticians, but also researchers outside of metabolomics, such as systems biologists. Its goal is to provide a lightweight, easy-to-parse file format that presents the results of mass spectrometry experiments in a clear and accessible way.
A key design principle is usability: even a non-expert should be able to open an mzTab-M file in Excel and intuitively understand the data. At the same time, the format supports machine-readability and links to controlled vocabularies and ontologies, making it highly suitable for AI/ML applications.
As MS-based methods and data volumes grow more complex, mzTab-M continues to evolve to keep pace. In version 2.1.0, the format is being extended to:
- Support intermediate analysis outputs
- Enable submission-ready exports to repositories like MetaboLights and Metabolomics Workbench
- Integrate more effectively with a growing ecosystem of tools
📬 Want to contribute or stay updated?
Join our working group via the mzTab-M mailing
list
-
Specification:
AsciiDoc -
Example files:
GitHub Examples -
Reference Implementation & Validator:
jmzTab-m (Java) to read, write and validate mzTab-M 2.X.+) -
CI Validation Workflow:
GitHub Actions YAML, using the aforementioned validator. -
Online Validator App:
jmzTab-m Web Validator -
More Information on the object: jmzTab-m project README and the Maven site for an introduction to the object model, creation of custom mzTab-M files and mzTab-M validation.
Version 2.0.0 for Metabolomics (March 2019):
-
Repository: Original repo
-
Examples: Wiki | GitHub Examples
-
Validator & Reference Tool: jmzTab-m (Java)
If you want information regarding prior version of this format, please check the mzTab 1.0 repository
- Lipid Data Analyzer 2 (LDA2) has support for mzTab-M as output (Examples).
- GNPS can import mzTab-M since late 2019.
- MS-Dial has support for mzTab-M as output (Examples).
- MetaboAnalyst can import mzTab-M since April 2020.
- jmzTab-M provides the reference implementation to read, write and validate mzTab-M 2.0.
- MzMine 3 provides feature input and output support via mzTab-M, implemented during GSoC 2020.
- LipidXplorer 2 provides preliminary mzTab-M output of identified and quantified lipid features.
- xcms has a prototype mzTab-M export.
- rmztab-m provides support in R for reading, writing and validation of mzTab-M files.
- Work with the Lipidomics Standards Initiative to map the reporting checklist to mzTab-M metadata.
- Semantic validation using Custom mapping file for lipidomics.
- Help wanted
- Add export of mzTab-M from Skyline.
- Finalize the Python mzTab-M library.
If you use mzTab-M 2.0, please cite:
If you use jmzTab-m, please cite:
Hoffmann et al., Analytical Chemistry, 2019 (Sep)
DOI | PubMed
The main specification for mzTab-M is maintained in the form of an OpenAPI 3.1.1
compatible YAML file schema/mzTab_m_openapi.yml You can edit, view and
validate this file using either the swagger web editor at
https://editor-next.swagger.io/ or using the docker container (instructions at
https://swagger.io/docs/open-source-tools/swagger-editor-next/#docker):
docker pull swaggerapi/swagger-editor:next-v5
docker run -d -p 8080:80 docker.swagger.io/swaggerapi/swagger-editor:next-v5
mzTab-M supports semantic validation based on an XML mapping file. An example is
available in the schema/mzTab_2_1-M_mapping.xml
The specification_document folder contains the latest version of the AsciiDoc
source for the mzTab-M specification document. It is built automatically and is
deployed in different formats to the mzTab-M documentation website.
The repository includes example mzTab-M files in the examples/ directory that
are automatically validated using GitHub Actions on every push and pull request.
examples/MTBLS263.mztab- A metabolomics dataset exampleexamples/minimal-m-2.0.mztab- A minimal mzTab-M file (demonstrates validation errors)
The validation workflow:
- Downloads the latest stable jmzTab-m CLI validator
- Validates all
.mztabfiles in the repository - Reports validation results with Info-level logging
The workflow uses the command mentioned in issue #4:
java -jar jmztabm-cli-<VERSION>.jar -c examples/MTBLS263.mztab -l Info