About the course

This slow-paced hands-on internal course is designed for absolute beginners who want to start using Nextflow DSL2 to achieve reproducibility of the data analysis.

Main instructors:

Luca Cozzuto

Toni Hermoso

Julia Ponomarenko

Alternative text

Alternative text

Alternative text

Dates, time, location

  • Dates: From 6th of February to 9th of February 2024.

  • Location: ALBA.

Program

Day 1: Understand and run a basic Nexflow pipeline

  • 10:00-11:00 Introduction to Nextflow

  • 11:00-11:30 Break

  • 11:30-13:00 Making simple scripts: channels operators and workflows

Day 1: Write, modify, and run a complex pipeline

  • 14:30-15:30 More complex scripts

  • 15:30-16:00 Break

  • 16:00-17:30 Directive and resuming

Day 2: Linux containers

  • 14:00-15:00 - Linux containers. Docker introduction and running

  • 15:00-15.30 - Break

  • 15:30-17.00 - Building Docker containers. Singularity/Apptainer

Day 3: Run a Nextflow pipeline in different environments

  • 14:00-15:00 Singularity and more processes

  • 15:00-15.30 Break

  • 15:30-17.00 Profiles and cloud

Day 4: Nextflow modules and Tower

  • 14:00-15:00 Modules

  • 15:00-15.30 Break

  • 15:30-17.00 Tower

Outline

This Nextflow course will train participants to build Nextflow pipelines and run them with Linux containers.

Learning objectives

  • Execute/Run a Nextflow pipeline.

  • Describe and explain Nextflow basic concepts.

  • Test and modify a Nextflow pipeline.

  • Implement short blocks of code into a Nextflow pipeline.

  • Understand, run and build Linux containers

  • Use containers in Nextflow processes

  • Develop a Nextflow pipeline from scratch.

  • Run a pipeline in diverse computational environments (local, HPC, cloud).

  • Share a pipeline.

Prerequisite / technical requirements

Being comfortable working with the CLI (command-line interface) in a Linux-based environment. Knowledge of containers is not mandatory. The course materials is online in the dedicated GitHub page for self-learning.

Having a GitHub account is recommended.