Findable Accessible Interoperable Reusable
The FAIR Guiding Principles, published in 2016, aim to improve the Findability, Accessibility, Interoperability and Reusability of digital research objects for both humans and machines. In the Towards FAIR principles for research software paper, the FAIR principles and how they can be applied to software, are explored.
BioExcel Building Blocks is a Findable software library
The library is easy to find from many different sources, thanks to its presence in software registries, a rich metadata description, and a central landing website.
- Published in a software registry: bio.tools
- Globally unique and persistent identifier: biobb
- Technically monitored by openebench
- Source code and documentation in GitHub
- Central landing website and every library module with BioSchemas
BioExcel Building Blocks is an Accessible software library
The library software is openly and broadly accessible from many different sources and URLs, including Docker and Singularity containers, BioConda packages, Jupyter Notebooks tutorials, and Graphical User Interfaces (GUIs).
- Conda Packages: BioConda
- Containers: Docker & Singularity
- GUIs: Jupyter Notebooks, Google Colab, Galaxy, Web server, KNIME*
- Swagger RESTful API
* Work in progress
BioExcel Building Blocks is an Interoperable software library
BioExcel Building Blocks wrappers are organized in layers:
- Tool Execution Layer
- Python Compatibility Layer
- Workflow Managers Adaptation Layer
The inner layer (1, yellow) corresponds to the original tool, unaltered. Command-line tools, web services, software containers, or even remote calls to HPC systems, can be included here.
A second one, the compatibility layer (2, grey), provides the module with a well-defined interface for input, output, configuration, and provenance. It performs internally the necessary format conversions at input and output and launches the tool.
A third layer (3, blue), the adaptor, is used for the integration of execution engines or e-infrastructures such as Galaxy, PyCOMPSs, or CWL compliant managers. This architecture provides a uniform and stable interface, allowing to plug the components into interoperable workflows.
BioExcel Building Blocks is a Reusable software library
The library software is reusable thanks to the standard tools chosen to document, define and describe the building blocks and workflows assembled from them, including readthedocs, Common Workflow Language (CWL), and OpenAPI. Besides, packaging of modules using BioConda or Docker and Singularity containers adds an extra point on reproducibility.
- Documentation: readthedocs
- RESTful API: openAPI, Swagger
- Building blocks and workflows description & specification: CWL
- Reproducibility: Docker / Singularity containers, BioConda packages, CWL