Applications on BioLib range from small bioinformatics utilities (e.g. for conversions between FASTA and FASTQ file formats) to state-of-the-art machine learning algorithms for predicting characteristics of biological molecules.
BioLib applications consist of one or more modules. An application on BioLib can contain modules (e.g., preprocessing or other tasks) coded in different languages allowing developers to mix languages and modules as they see fit. Currently, on BioLib, there are executors for Python, R, C, C++, and Rust with more to come. Being able to run and combine tools written in different languages gives users flexibility when analyzing biological data.
Running Applications on BioLib
On BioLib users can either run applications using a graphical UI (i.e. without having to write code) or by calling applications from a script or command-line. Applications or individual modules can be executed in one of two ways: 1) locally using the user's browser or 2) using a BioLib Encrypted Cloud, where the code runs inside a trusted execution environment (TEE). When executed locally, the code is run on the user's machine inside a WebAssembly sandbox where no data can leave ensuring the security of the user's data. This, however, requires the source code to be shipped to the end-user's machine. In situations where the code itself is sensitive, running the application in a TEE allows the end-user of the application and the application developer to protect their data and code respectively.
Developing Applications on BioLib
On BioLib, developers can turn their scripts into user-friendly applications, without having to do front-end development, dealing with Docker containers, or setting up servers.