Skip to content

Release 1.0.6 of jmztab-m

Latest
Compare
Choose a tag to compare
@nilshoffmann nilshoffmann released this 02 Jan 17:39
· 41 commits to master since this release

This is release 1.0.6 of the jmztab-m libraries that was published to Maven Central.

It implements the mzTab-m 2.0 specification for metabolomics at https://github.com/HUPO-PSI/mzTab.

Major Changes:

  • This release requires at least Java 11 to run.

Minor Changes:

  • The internal data model was changed to simplify generation of OpenAPI clients in R and Python concerning the IndexedElement class. This change should not affect users of the JAVA version, unless you are using mzTab-M JSON data generated before version 1.0.6. You can convert the data by serializing it to mzTab-M format first and then saving it to JSON with the 1.0.6 version library (e.g. using the command line interface).

Features:

  • Added MzTabAccess to simplify accessing objects by id.

Bug Fixes:

Release 1.0.6 should be backwards compatible to 1.0.5, 1.0.4, 1.0.3 and 1.0.2.

However, due to a stricter validation of the ms scan id referencing, files that have validated before may now fail to validate. Please contact us if you need help fixing your files.

This release also includes any amendments that were made as a result of the publication reviewers' feedback and the feedback from the PSI document review process. We have substantially updated the API documentation and have added examples from the specification document and have increased the unit test coverage.

To access the release artefacts, please go to Maven Central:

https://search.maven.org/#search%7Cga%7C1%7Cde.isas.mztab

To access the latest JavaDoc, please to the project's Maven page:

https://lifs-tools.github.io/jmzTab-m/

For everyone who is working off any generated code, please update to the latest version:

R: https://search.maven.org/remotecontent?filepath=de/isas/mztab/jmztabm-api/1.0.6/jmztabm-api-1.0.6-r.zip,
The reference implementation for R is now being developed here: https://github.com/lifs-tools/rmzTab-m

Python: https://search.maven.org/remotecontent?filepath=de/isas/mztab/jmztabm-api/1.0.6/jmztabm-api-1.0.6-python.zip
The reference implementation for Python 3 is now being developed here: https://github.com/lifs-tools/pymzTab-m

The CLI package bundles parser and semantic validator and contains sample files and the latest mapping file:

https://search.maven.org/remotecontent?filepath=de/isas/mztab/jmztabm-cli/1.0.6/jmztabm-cli-1.0.6-bin.zip

Running

java -jar jmztabm-cli-1.0.6.jar

on your command line will show you the possible arguments (staying close to the old jmztab).

Run a basic parse and validation on Error level:

java -jar jmztabm-cli-1.0.6.jar -c examples/MTBLS263.mztab

Run a basic parse and validation followed by applying the default mapping file on Error level for semantic validation:

java -jar jmztabm-cli-1.0.6.jar -c examples/MTBLS263.mztab -s

Run a basic parse and validation followed by applying a provided mapping file on Error level for semantic validation:

java -jar jmztabm-cli-1.0.6.jar -c examples/MTBLS263.mztab -s cv-mapping/mzTab-M-mapping.xml

Running the same on Info level yields additional messages (for optional parameters):

java -jar jmztabm-cli-1.0.6.jar -c examples/MTBLS263.mztab -s cv-mapping/mzTab-M-mapping.xml -level Info

To use the IO libraries (reading, writing and structural and logical validation) in your own Maven projects, use the following dependency:

<dependency>
    <groupId>de.isas.mztab</groupId>
    <artifactId>jmztabm-io</artifactId>
    <version>1.0.6</version>
</dependency>

To use the semantic validation with the mapping file in your own Maven project, use the following dependency:

<dependency>
    <groupId>de.isas.mztab</groupId>
    <artifactId>jmztabm-validation</artifactId>
    <version>1.0.6</version>
</dependency>

The semantic validation requires access to EBI's Ontology Lookup Service to resolve child terms in the mzTab file against their potential parents in the mapping file.