Psaroudakis Dennis, Liu Feng, König Patrick, Scholz Uwe, Junker Astrid, Lange Matthias, Arend Daniel
Leibniz Institute of Plant Genetics and Crop Plant Research (IPK) Gatersleben, Seeland, 06466, Germany.
Hochschule Mittweida, University of Applied Sciences, Mittweida, 09648, Germany.
F1000Res. 2020 Dec 3;9. doi: 10.12688/f1000research.27188.1. eCollection 2020.
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.
实验数据只有在具备可查找、可访问、可互操作和可重复使用(FAIR)的特性时,才对其他研究人员有用。ISA-Tab框架使科学家能够以一种纯文本、机器可读的格式发布有关其实验的元数据,旨在实现这种互操作性和可重复使用性。目前正在开发一个Python软件包(isatools),用于以编程方式生成这些元数据文件。对于基于Java的环境,目前还没有等效的解决方案。虽然isatools包为Python生态系统提供了很大的灵活性和丰富的不同功能,但一个基于JVM的应用程序包可能会提供编写非常大的ISA-Tab文件所需的速度和可扩展性,使ISA框架能够在更广泛的情况和环境中使用。在这里,我们展示了一个轻量级且可扩展的Java库(isa4j),用于生成ISA-Tab格式的元数据文件,它能优雅地集成到现有的JVM应用程序中,尤其在生成非常大的文件时表现出色。它以ISA核心规范为模型,并按照isatools的约定进行设计,使其对社区来说使用起来既一致又直观。isa4j用Java(JDK11+)实现,可在中央Maven仓库(https://mvnrepository.com/artifact/de.ipk-gatersleben/isa4j)根据MIT许可免费获取。源代码、详细文档、使用示例和性能评估可在https://github.com/IPK-BIT/isa4j上找到。