isa4j: a scalable Java library for creating ISA-Tab metadata

F1000Res. 2020 Dec 3:9:ELIXIR-1388. doi: 10.12688/f1000research.27188.1. eCollection 2020.

Abstract

Experimental data is only useful to other researchers if it is findable, accessible, interoperable, and reusable (FAIR). The ISA-Tab framework enables scientists to publish metadata about their experiments in a plain text, machine-readable format that aims to confer that interoperability and reusability. A Python software package (isatools) is currently being developed to programmatically produce these metadata files. For Java-based environments, there is no equivalent solution yet. While the isatools package provides a lot of flexibility and a wealth of different features for the Python ecosystem, a package for JVM-based applications might offer the speed and scalability needed for writing very large ISA-Tab files, making the ISA framework available in an even wider range of situations and environments. Here we present a light-weight and scalable Java library (isa4j) for generating metadata files in the ISA-Tab format, which elegantly integrates into existing JVM applications and especially shines at generating very large files. It is modeled after the ISA core specifications and designed in keeping with isatools conventions, making it consistent and intuitive to use for the community. isa4j is implemented in Java (JDK11+) and freely available under the terms of the MIT license from the Central Maven Repository ( https://mvnrepository.com/artifact/de.ipk-gatersleben/isa4j). The source code, detailed documentation, usage examples and performance evaluations can be found at https://github.com/IPK-BIT/isa4j.

Keywords: FAIR data; ISA-Tab; Java; framework; metadata; object-oriented programming; reproducible research.

Publication types

  • Research Support, Non-U.S. Gov't

MeSH terms

  • Metadata*
  • Software*
  • Writing

Grants and funding

This work was supported by the German Ministry of Education and Research (BMBF) through the grants FKZ 031A053B ‘DPPN’ (assigned to Matthias Lange, Uwe Scholz, and Astrid Junker), FKZ 031A536A ‘de.NBI’ (assigned to Matthias Lange and Uwe Scholz) and supported by ELIXIR.