About the course

This slow-paced hands-on 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

Kais Ghedira

Alternative text

Alternative text

Alternative text

Alternative text

Outline

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

It is designed to provide trainees with short and frequent hands-on sessions, while keeping theoretical sessions to a minimum.

The course will be fully virtual via the Zoom platform.

Learning objectives

  • Locate and fetch Docker/Singularity images from dedicated repositories.

  • Execute/Run a Docker/Singularity container from the command line.

  • Locate and fetch Nextflow pipelines from dedicated repositories.

  • 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.

  • 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.

Practitioners will need to connect during the course to a remote server via the “ssh” protocotol. You can learn about it here

Those who follow the course should be able to use a command-line/screen-oriented text editor (such as nano or vi/vim, which are already available in the server) or to be able to use an editor able to connect remotely. For sake of information, below the basics of nano

Having a GitHub account is recommended.

Dates, time, location

  • Dates: February 07-11, 2022

  • First day: 12:00-16:00 CET

  • Rest of the days: 10:00-16.00 CET

  • Location: virtual, via Zoom.

Suggested program

Day 1: Introduction to Linux containers and Docker

  • 12:00-13:30 Introduction to containers

  • 13:30-14:30 Lunch

  • 14:30-16:00 Introduction to Docker

Day 2: Docker and Singularity

  • 10:00-11:30 Docker

  • 11:30-12:00 Coffee break

  • 12:00-13:30 Docker follow-up and Introduction to Singularity

  • 13:30-14:30 Lunch

  • 14:30-16:00 Singularity

Day 3: Understand and run a basic Nexflow pipeline

  • 10:00-11:30 Introduction to Nextflow

  • 11:30-12:00 Coffee break

  • 12:00-13:30 Channels and Operators

  • 13:30-14:30 Lunch

  • 14:30-16:00 More complex scripts

Day 4: Write, modify and run a complex pipeline

  • 10:00-11:30 Decoupling resources and parameters

  • 11:30-12:00 Coffee break

  • 12:00-13:30 Using public pipelines

  • 13:30-14:30 Lunch

  • 14:30-16:00 Using Singularity

Day 5: Run a Nextflow pipeline in different environments, share and report

  • 10:00-11:30 Profiles

  • 11:30-12:00 Coffee break

  • 12:00-13:30 Deployment in the AWS cloud

  • 13:30-14:30 Lunch

  • 14:30-16:00 Modules and reporting