Release 1.0.2 of the jmzTab-m library was published to Maven Central
Please find the full release notes at https://github.com/lifs-tools/jmzTab-m/releases/tag/release-1.0.2 and in the next paragraphs:
It implements the draft of mzTab-m 2.0 at https://github.com/HUPO-PSI/mzTab.
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.
Release 1.0.2 should be backwards compatible to 1.0.1. However, due to fixes in the handling of optional columns using CV parameters, files written with the old version may need to be updated to follow the optional column specification for CV parameters, namely only the value for the affected row MUST be reported in the table. The column header name must follow the opt_global_cv_MS_MS:12189_parameter_name pattern or the opt_assay[1]_cv_MS_MS:12189_parameter_name pattern (please change the values accordingly).
Also, the MZTabFileParser
class has been renamed to MzTabFileParser
and was moved from the uk.ac.ebi.pride.jmztab2.utils
package to the de.isas.mztab2.io package
.
The mapping file has been updated to use the https://www.ebi.ac.uk/ols/ontologies/msio[Metabolomics Standards Society MSIO ontology] for sample processing related terms and the https://www.ebi.ac.uk/ols/ontologies/chebi[CHEBI ontology] for derivatization groups to replace the SEP and XLMOD ontologies. Semantic validation should in this case report a warning to alert you to these changes. Please update your files and implementations accordingly.
To access the release artefacts, please go to Maven Central:
https://search.maven.org/#search%7Cga%7C1%7Cde.isas.mztab
For everyone who is working off any generated code, please update to the latest version:
Please note that these packages do not include parser or writer code yet. However, the JSON created can be converted to proper mzTab using the Java CLI.
The CLI package bundles parser and semantic validator and contains sample files and the latest mapping file:
Running
java -jar jmztabm-cli-1.0.2.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.2.jar -check inFile=examples/MTBLS263.mztab
Run a basic parse and validation followed by applying a provided mapping file on Error level:
java -jar jmztabm-cli-1.0.2.jar -check inFile=examples/MTBLS263.mztab -checkSemantic mappingFile=cv-mapping/mzTab-M-mapping.xml
Running the same on Info level yields additional messages (for optional parameters):
java -jar jmztabm-cli-1.0.2.jar -check inFile=examples/MTBLS263.mztab -checkSemantic mappingFile=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.2</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.2</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.
The validator web-application has been updated to release 1.0.14, which includes jmzTab-m 1.0.2 as well.