Java implementation of the PSI-PI mzTab specification

jmzTab mzTab

View the Project on GitHub PRIDE-Utilities/jmzTab

jmzTab

The jmzTab library provide reading and writing capabilities, as well as supporting the validation of mzTab 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:

When you use jmzTab library, please cite the following publication:

Tools

As examples of implementation, two Utilities were developed:

Currently, 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>             Choose a file from input directory. This parameter should not be null!
 -convert <inFile, format>   Converts the given format file (PRIDE or mzIdentML) to an mztab file.
 -h,--help                   print help message
 -message <code>             print Error/Warn detail message based on code number.
 -outFile <arg>              Record error/warn messages into outfile. If not set, print message on the screen.

More information about the tools can be found in the Wiki

Using the jmzTab library

All components of the jmzTab library were developed as maven projects. For information of how to using jmzTab API, please visit the Wiki documents.

Maven

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.2</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.2</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>

The jmzTab library can currently only be found in the EBI's maven repository:

<repository>
    <id>nexus-ebi-repo</id>
    <name>The EBI internal repository</name>
    <url>http://www.ebi.ac.uk/intact/maven/nexus/content/repositories/ebi-repo/</url>
    <releases/>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>

News

jmzTab version 3.0.2 - (12. Febreruary 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.