BioFlows Bioinformatics Pipeline Engine

BioFlows engine enables researchers to run bioinformatics pipelines on multiple Cloud Platforms , Operating Systems and different Cloud Containers.

shape

BioFlows is the best of all worlds combined...

BioFlows is a distributed pipeline engine for expressing , designing and running scalable reproducible and distributed computational bioinformatics workflows in cloud containers. BioFlows engine consists of software tools and cloud microservices that communicate together to achieve a highly distributed , highly coordinated and fault tolerant environment to run parallel bioinformatics pipelines onto cloud containers and cloud servers.

Portable

BioFlows engine enables researchers to run massively parallel bioinformatics pipelines on multiple Cloud Platforms , Operating Systems and different Cloud Containers.

Extensible

BioFlows engine is highly Extensible engine which allows researchers to extend its functionalities by providing alternative implementation to its different layered components.

Fault Tolerance

BioFlows engine ensures a seamless and highly consistent execution environment for bioinformatics tools. Tools execution in BioFlows is managed by two highly coordinated microservices.

Reproducible

BioFlows engine enables researchers to write self-contained computational pipelines that are sufficient to run on different Environments with zero configuration.

Shareable

BioFlows Pipelines and Tools could be shared online on GitHub or public servers. BioFlows Command Line could use a remotely shared pipeline or tool definition file

Idempotent

BioFlows ensures seamless error-free multiple runs of the same pipeline either locally or on a cluster. This is due to its smart distributed in-memory cache. It starts from where it stopped.

BioFlows Design Process

BioFlows has BioFlows Description Language (BDL) which is an imperative and declarative standard for describing and expressing computational bioinformatics tools and pipelines, BDL is flexible , easy to use and a human readable language that enables researchers to design reproducible and scalable computational pipelines.

1
Know your tools

The first step is to have experience running bioinformatics tools.

2
Express Them in a pipeline

Author new pipelines by linking different tools together in a YAML file.

3
Run the pipeline

You can run your pipeline either locally or in a cluster. Moreover, you can run the tools directly on the host or inside a container

4
Share Your work

BioFlows tools and pipelines could be shared on public websites, i.e. GitHub, BitBucket or On BioFlows Hub Platform

How to install Bioflows

There is a convenient script to automatically install bioflows.

  1. $ curl -OL http://bioflows.github.io/bioflows.install.sh

  2. $ chmod a+x bioflows.install.sh

  3. $ ./bioflows.install.sh

And then please visit the documentation from the main menu.