Much like other pipeline/workflow managers, bio_pype offers improvements in scalability, reproducibility while also simplifying the daily use of bioinformatic analyses.

Bio_pype provides a modular framework for building analysis pipelines. Three major components define the behavior of the system: Snippets, Pipelines and Profiles.


Snippets represent the basic unit of the pipeline. Snippets essentially act as wrappers that are responsible for packaging command-line arguments, performing any required preprocessing, and executing the target tool. Most importantly, they provide a uniform interface that is used by bio_pype to concatenate analysis steps into a pipeline.


A pipeline is a sequential series of steps required to execute a multi-stage analysis. In bio_pype, a pipeline is defined using a YAML file that outlines the order and combination of snippets required.


Profiles provide a list of dependencies available to the snippets and pipelines. Information such as the location of genomes, annotation databases, and applications are contained within the profile file. Profiles provide a mechanism for switching between versions of a pipeline that utilise different dependencies while still maintaining the structure of the pipeline.