## 4 Working with OpenBio.eu  
Before presenting the basics of how to create, install, and/or import a new tool, data, or workflow in OpenBio.eu, we will highlight a few substantial features of the platform, aiming to reveal what differentiates OpenBio.eu from other similar platforms. A full list of features is available on the project's documentation page. Firstly, OpenBio.eu is able to \"run\" objects. In the biomedical domain, there are many repositories that store and give access to tools, data, and workflows. Examples are biotools [55] and OSF [56]. These repositories offer rich annotations of imported objects, but they lack one crucial component: the execution of the imported object (i.e., tool, workflow) on a computer that you have access to. OpenBio.eu is a repository for research objects that offers this ability. In OpenBio.eu, the importing of a new tool, data, or workflow is performed by providing explicit instructions on how to install, validate, and execute an object. Secondly, the computer language that OpenBio.eu utilizes for object installation and execution is BASH (www.gnu.org/software/bash, accessed on 11 October 2021). Since we need to provide explicit instructions on how to install a tool, download data, or execute a workflow, we need a computer language to do so. OpenBio.eu uses BASH. Even if one may find it difficult or outdated, BASH is the defacto glue language of most Unix-like operating systems (the \"nix universe), and by hosting code in BASH we ensure that it is directly executable in as many environments as possible. This does not mean that the hosting of code in BASH excludes other languages. On the contrary, BASH was chosen exactly because it enables the linkage of different computer languages, programs, and scripts into a common script. It is important to note that OpenBio.eu acts as a repository for user-provided BASH scripts. These scripts are self-dependent, meaning that other users who want to run these scripts do not have to install or download any other software. Moreover, OpenBio.eu offers a mechanism for linking these user-provided scripts together. For example, if user U1 submits tool T1, and user U2 submits tool T2, and declares that this tool has T1 as a dependency, OpenBio.eu makes sure that whenever T2 is downloaded, the scripts for T1 are also downloaded and both are executed in the right order. The same process occurs when different tools and data are combined through the graphical user interface to form workflows. In that sense, OpenBio.eu acts as a repository for BASH scripts, making sure that two or more scripts are compatible when linked in the same workflow. A fair criticism of the choice of BASH is that it is not a \"write once run everywhere\" language, such as Java or Python. However, BASH was not chosen as an implementation language (as in, \"everything should be in BASH\"), but as a gluing language (as in, \"connect your  
Figure 2: An example workflow in OpenBio.eu for annotating the NCBI disease corpus with the BeCAS annotation tool. components with BASH\"). Finally, every script may be rated (upvoted or downvoted) by any user on the platform. This forces users to provide qualitative scripts that run on the majority of \"nix systems. Thirdly, in OpenBio.eu, tools, data, and workflows are the same type of object. Most WfMSs and open science environments distinguish between data, tools, and workflows. Users have to declare different properties for each, store them in different structures and tables, etc. OpenBio.eu does not make this distinction. Data, tools, and workflows are ROs of the same type (hereafter we use the term TDW to denote the common RO types: tools, data, and workflows). This is because, semantically, and in the context of a WfMS, there are no differences between Tools, Data and Workflows. Tools and workflows have dependencies, but data are useless without the presence of other data.