NOTE: If you are looking for the reference implementation for mzTab-M for Metabolomics (2.0), please go here.
The jmzTab library provide reading and writing capabilities, as well as supporting the validation of mzTab (1.0) for Proteomics MS data and the conversion of PRIDE XML and mzIdentML files to mzTab. Currently, the library contains converter for
In addition, it is important to highlight that jmzTab is already integrated and used in external software such as the LipidDataAnalyzer, and in an mzQuantML to mzTab converter included in the mzq-lib library.
The jmzTab library is divided in different modules:
The latest versions of these modules from version 3.0.9 onwards can be downloaded individually from the ISAS Artifactory repository.
When you use jmzTab library, please cite the following publication:
As examples of implementation, two Utilities were developed:
From version 3.0.9 on, both tools can be downloaded from:
For version prior to 3.0.9, both tools can be downloaded from:
In mzTabCLI Demo, we provide a couple of examples to help user call command line interface quickly.
java -jar mzTabCLI.jar -help
The output will like following:
usage: jmztab
-check inFile=<inFile> Choose a file from input directory. This parameter should not be null!
-convert inFile=<inFile format=<format> Converts the given format file (PRIDE or mzIdentML) to an mztab file.
-h,--help print help message
-message code=<code> print Error/Warn detail message based on code number.
-outFile <arg> Dump output data to the given file. If not set, output data will be dumped on stdout.
More information about the tools can be found in the Wiki
All components of the jmzTab library were developed as maven projects. For information of how to using jmzTab API, please visit the Wiki documents.
The jmzTab library can easily be used in Maven projects. You can include the following snippets in your Maven pom file.
For parsing and writing mzTab
<properties>
<jmztab.version>3.0.4</jmztab.version>
</properties>
<dependency>
<groupId>uk.ac.ebi.pride</groupId>
<artifactId>jmztab-modular-model</artifactId>
<version>${jmztab.version}</version>
<!-- based on mzTab specification version 1.0 -->
</dependency>
<dependency>
<groupId>uk.ac.ebi.pride</groupId>
<artifactId>jmztab-modular-util</artifactId>
<version>${jmztab.version}</version>
<!-- based on mzTab specification version 1.0 -->
</dependency>
For converting to mzTab
<properties>
<jmztab.version>3.0.4</jmztab.version>
</properties>
<dependency>
<groupId>uk.ac.ebi.pride</groupId>
<artifactId>jmztab-modular-converters</artifactId>
<version>${jmztab.version}</version>
<!-- based on mzTab specification version 1.0 -->
</dependency>
Since version 3.0.9, the jmzTab library is available from the LIFS Bintray repository. To retrieve it from there, please adapt your pom.xml / settings.xml as follows:
<profile>
<id>lifs-repos</id>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>bintray-lifs</id>
<name>bintray-lifs</name>
<url>https://dl.bintray.com/lifs/maven</url>
</repository>
</repositories>
</profile>
To compile mzTab against the LIFS Bintray repository, please add the following entry to you ~/.m2/settings.xml
file:
<activeProfiles>
<activeProfile>lifs-repos</activeProfile>
</activeProfiles>
or use the -Plifs-repos
command line switch when running Maven to enable the LIFS Bintray maven repositories for parent pom
and artifact resolution.
The jmzTab library versions prior to 3.0.9 can currently only be found in the EBI's maven repository. In order to work against those versions, please adapt your pom.xml / settings.xml as follows:
<profile>
<id>ebi-repos</id>
<repositories>
<repository>
<id>nexus-ebi-release-repo</id>
<url>http://www.ebi.ac.uk/Tools/maven/repos/content/groups/ebi-repo/</url>
</repository>
<repository>
<id>nexus-ebi-snapshot-repo</id>
<url>http://www.ebi.ac.uk/Tools/maven/repos/content/groups/ebi-snapshots/</url>
</repository>
</repositories>
</profile>
To compile mzTab against the EBI repositories, please add the following entry to your ~/.m2/settings.xml
file:
<activeProfiles>
<activeProfile>ebi-repos</activeProfile>
</activeProfiles>
or use the -Pebi-repos
command line switch when running Maven to enable the ebi maven repositories for parent pom
and artifact resolution.
jmzTab version 3.0.9 - (25. September 2019)
jmzTab version 3.0.4 - (18. October 2016)
jmzTab version 3.0.2 - (12. February 2015)
MZTabColumnFactory prh = MZTabColumnFactory.getInstance(Section.Protein_Header);
prh.addDefaultStableColumns();
// add other optional columns
prh.addBestSearchEngineScoreOptionalColumn(ProteinColumn.BEST_SEARCH_ENGINE_SCORE, 1);
MZTabColumnFactor peh = MZTabColumnFactory.getInstance(Section.Peptide_Header);
peh.addDefaultStableColumns();
// add other optional columns
peh.addBestSearchEngineScoreOptionalColumn(ProteinColumn.BEST_SEARCH_ENGINE_SCORE, 1);
MZTabColumnFactory psh = MZTabColumnFactory.getInstance(Section.PSM_Header);
psh.addDefaultStableColumns();
// add other optional columns
psh.addSearchEngineScoreOptionalColumn(PSMColumn.SEARCH_ENGINE_SCORE, 1, null);
MZTabColumnFactory smh = MZTabColumnFactory.getInstance(Section.PSM_Header);
smh.addDefaultStableColumns();
// add other optional columns
smh.addSearchEngineScoreOptionalColumn(PSMColumn.SEARCH_ENGINE_SCORE, 1, null);
jmzTab version 3.0.0 - (1. August 2014)
mzTab Specification Document 1.0 RC 5 - (11. December 2013)
For more information please see the ReleaseNote.