Skip to content

biocorecrg/PHIND_course_nextflow_Feb_2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Courses@PHIND_course_nextflow_Feb_2022

Reproducible research and data analysis using Linux Containers and Nextflow pipelines

About the course

This slow-paced hands-on course is designed for absolute beginners who want to start using Linux Containers (Docker and Singularity) and Nextflow to achieve reproducibility of data analysis.

Outline

The course will train participants to build Nextflow pipelines and run them with Linux 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 on the server) or to be able to use an editor able to connect remotely. For sake of information, below the basics of "nano": https://wiki.gentoo.org/wiki/Nano/Basics_Guide

Having a GitHub account is recommended.

Dates, time, location

  • Dates: February 07-11, 2022

  • Location: virtual, via Zoom.

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

Acknowledgements

  • Sphinx. The publication system for our course pages.
  • ELIXIR Workshop Hackathon. Joined initiative with other colleagues to exchange materials for courses and approaches for courses like this.