Bioinformatics workflow management tools

We use two main tools for managing bioinformatics workflows: Snakemake and Nextflow. These tools allow you to define complex workflows in a simple and reproducible way, making it easy to run and share your analyses.

Nextflow is a workflow manager that enables the development of portable and reproducible workflows. Nextflow takes care of managing the execution of the processes and the flow of data between them, making it easy to develop and run complex workflows. The nf-core project provides a collection of curated Nextflow pipelines for bioinformatics analysis. These pipelines are designed to be easy to use, scalable, and reproducible.

Snakemake is a workflow management system that allows you to define workflows in a simple and readable way using a Python-like syntax. Snakemake automatically determines the order of execution of the rules based on the input and output files, making it easy to parallelize and optimize your workflows. Snakemake is particularly well-suited for bioinformatics workflows, as it integrates seamlessly with popular bioinformatics tools and languages. Snakemake is a good choice for smaller, more focused workflows that do not require the full power of Nextflow. It has a lower learning curve and is easier to get started with.

Nextflow and nf-core

Nextflow is a workflow manager that enables the development of portable and reproducible workflows. Nextflow takes care of managing the execution of the processes and the flow of data between them, making it easy to develop and run complex workflows.

Install Nextflow


#| eval: false

## Install sdk to manage Java
curl -s https://get.sdkman.io | bash
## Log out, then log in again
## Install java
sdk install java

## Install Nextflow
curl -s https://get.nextflow.io | bash
chmod +x nextflow
mkdir -p $HOME/.local/bin/
mv nextflow $HOME/.local/bin/

## Confirm install
nextflow info

To update the version of nextflow:

#| eval: false
nextflow self-update

You can also temporarily switch to a specific version of Nextflow with the NXF_VER environment variable. For example:

#| eval: false

NXF_VER=23.10.0 nextflow info

You can also use NXF_VER to temporarily switch to any edge release. For example:

#| eval: false

NXF_VER=24.06.0-edge nextflow info

nf-core

nf-core is a community-driven collection of Nextflow pipelines for bioinformatics. These pipelines are curated and developed by the community, and are designed to be easy to use, scalable, and reproducible. You can find a list of available pipelines at nf-co.re.

To install a pipeline from NF-Core, you can use the nextflow pull command. For example, to install the nf-core/rnaseq pipeline:

#| eval: false
#| tag: nf-core
#| file: nf-core

nextflow pull nf-core/rnaseq

You can then run the pipeline with the following command:

#| eval: false

nextflow run nf-core/rnaseq --input samplesheet.csv --genome GRCh38

See the nf-core documentation for more information on how to run pipelines.

nf-core tools

NF-Core also provides a set of tools to help you manage your Nextflow pipelines. You can install these tools with conda:

#| eval: false

## Install with conda
conda install -c bioconda nf-core