Rabix

[Reproducible Analysis for Bioinformatics]

What is Rabix?

Rabix is an open-source development project for creating and running computational workflows. It was founded by Seven Bridges with the goal of empowering researchers and developers to easily run reproducible analyses at scale.

The Rabix project is currently supporting two efforts:

The Rabix Executor (Project Bunny)

The Rabix Executor supports the Common Workflow Language (CWL) and is currently runnable from the command line. It is suitable for local testing and development. Rabix also supports the Global Alliance for Genomics Health (GA4GH) Task Execution Server (TES) as a way to scale to cloud environments.

The Rabix Composer (Project Cottontail)

The Rabix Composer is a standalone integrated development environment for workflow description languages that enables rapid workflow composition, testing, and integration with online services like DockerHub. A beta release is expected in the first half of 2017.

Speed

Rabix tools are designed to be easy to install and run. Start using tools and workflows described in CWL at scale in minutes.

Reproducibility

The Rabix Executor gives you full control over how to run workflows, including management of intermediate results, parallelization, and software containers.

Flexibility

The primary goal of Rabix is to further reproducibility. With Rabix tools, you can leverage our version control tools, task and error logs, and have the ability to restart and reuse tools and workflows.

Getting Started

Full instructions on how to download and install the Rabix Executor (Mac OSX/Linux) can be found on GitHub. These include example tools and workflows to demonstrate how to use CWL.

More example CWL tools and workflows can be found on the public GitHub repo.

Our mission

Computational reproducibility is incredibly challenging. Complicated software dependencies, poor documentation/communication, and human error leads to a great deal of disharmony and can impede scientific progress.

In recent years, a technology which makes it easier to share software and run everywhere in exactly the same way has become increasingly popular - software containers. Containers allow developers to package software into a discrete environment with its own virtual file system and dependencies. This means that whole teams can operate in a “single environment”, which minimizes errors when sharing and testing code, making it easier to scale. Recent technologies such as Docker (est. 2013) have automated the process of creating and sharing software containers, spurring much broader adoption and lowering the technical barrier to entry.

However, a major hurdle to reproducible software deployment persists - software containers may contain all the “pieces” to perform an analysis (besides data), but not the instructions on how to use them. It’s like having a box of ingredients without a recipe - every chef makes a different dish. To help solve this issue, the concept of workflow descriptions has been applied to containers to further enhance reproducibility, simplify software sharing/publication, and reducing the activation energy needed to start using a new algorithm or verify a scientific finding.


Simply put, our mission of the Rabix project is to further the reproducibility of biomedical computing.

This is why much of the Rabix team are proud to be founding members of the Common Workflow Language, a community-driven effort to create a standard specification for reproducible workflows. Created in 2014, CWL is now widely- adopted among academic centers and industrial partners. The Rabix Executor is an open-source technology for implement Common Workflow Language to its fullest potential.

FAQs

Which open-source licenses are used?

Currently, all Rabix projects use the Apache 2.0 license.

Why is it called Rabix?

Rabix is a portmanteau of Reproducible Analyses for Bioinformatics. It contains, in brief, our guiding mission statement. ‘Rabix’ has the added benefit of sounding like “rabbits,” a species known for its speed, flexibility and, um, reproducibility.

How do I cite Rabix?

We have a publication outlining the feature set within the Rabix Executor, including how we enable persistence, tracking of jobs, job groups, memoization, parallelization, and scaling. It is available on PubMed and bioRxiv.

Who are we?

The Rabix project was founded by Seven Bridges in 2015. The team includes Nebojsa Tijanić (a co-author of the Common Workflow Language), Janko Simonović, Luka Stojanović, Siniša Ivković, Maja Nedeljković, Adrian Sharma and Gaurav Kaushik. We are proud to have collaborators involved in the Global Alliance for Genomic Health (GA4GH) and academic and non-profit institutions

How can you contact us?

The best way for developers to get in contact is through Gitter at Gitter.

For bug fixes or feature requests, please create a GitHub issue at https://github.com/rabix/bunny.

If you’re interested in joining the CWL community or learning how to leverage Rabix for your computing needs, you can reach us at rabix@sevenbridges.com (a more public forum is coming soon!).