A new java library to support the creation of ISA-Tab documents ISA4J: a scalable Java library for creating ISA-Tab metadata
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. The source code, detailed documentation, usage examples and performance evaluations can be found on the github repository of the group: https://github.com/IPK-BIT/isa4j.
Get in touch with the authors:
- Dennis Psaroudakis - Roles: Conceptualization, Investigation, Software, Writing – Original Draft Preparation, Writing – Review and Editing
- Feng Liu - Roles: Conceptualization, Investigation, Software, Writing – Review and Editing
- Patrick König - Roles: Conceptualization, Writing – Original Draft Preparation, Writing – Review and Editing
- Uwe Scholz - Roles: Funding Acquisition, Project Administration, Writing – Review and Editing
- Astrid Junker - Roles: Funding Acquisition, Project Administration, Writing – Review and Editing
- Matthias Lange - Roles: Conceptualization, Writing – Review and Editing
- Daniel Arend - Roles: Conceptualization, Investigation, Software, Supervision, Writing – Original Draft Preparation, Writing – Review and Editing
The manuscript is available from F1000Research with the following DOI: 10.12688/f1000research.27188.1