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.
Luca Cozzuto |
Toni Hermoso |
Julia Ponomarenko |
---|---|---|
Dates, time, location
Dates: From 12th of September to 15th of September 2023.
Time: 12/09/23 9:30 - 17:00h (CET)
Time: 13-14-15 09/23 9:30 - 13:00h (CET)
Location: Training room, CRG.
Program
Day 1: Understand and run a basic Nexflow pipeline
09:30-11:00 Introduction to Nextflow
11:00-11:30 Coffee 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 Coffee break
16:00-17:00 Directive and resuming
Day 2: Linux containers
09:30-11:00 - Linux containers: Docker & Singularity/Apptainer
11:00-11.30 - Coffee break
11:30-13.00 - Decoupling resources, parameters and main script
Day 3: Run a Nextflow pipeline in different environments
09:30-11:00 Singularity and more processes
11:00-11:30 Coffee break
11:30-13:00 Profiles and cloud
Day 4: Nextflow modules and Tower
09:30-11:00 Modules
11:00-11:30 Coffee break
11:30-13: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.
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.