1.2 About the course

1.2.1 Outline

The 4-day Containers and Nextflow course will train participants to use and build Docker and Singularity containers and Nextflow pipelines. It is designed to provide trainees with short and frequent hands-on sessions, while keeping theoretical sessions to a minimum.

The course is delivered online via the Zoom platform.

Trainees will work in a dedicated AWS environment.

1.2.2 Learning objectives

About Linux containers:

  • Locate and fetch Docker/Singularity images from dedicated repositories.
  • Execute/Run a Docker/Singularity container from the command line.
  • Build a Docker container from an existing recipe.
  • Design/Write a Docker recipe.
  • Convert Docker to a Singularity image.

About Nextflow:

  • Locate and fetch Nextflow pipelines from dedicated repositories.
  • Execute/Run a Nextflow pipeline.
  • Describe and explain Nextflow’s basic concepts.
  • Test and modify a Nextflow pipeline.
  • Implement short blocks of code into a Nextflow pipeline.
  • Develop a Nextflow pipeline from scratch.
  • Run pipeline in diverse computational environments (local, HPC, cloud )

1.2.3 Prerequisite / technical requirements

1.2.3.1 Prerequisite

  • Being comfortable working with the CLI (command-line interface) in a Linux-based environment.
  • Applicants are not expected to have used Linux containers or Nextflow before.

1.2.3.2 Technical requirements

  • You should be able to work in a terminal on your machine to access the cloud via ssh:
    • on Linux and Mac operating systems it is there by default.
    • on Windows, you could install a Windows terminal or an application like putty.
      If you are not familiar with the ssh protocol, you can learn about it here.
  • You should also be able to use a command-line/screen-oriented text editor (such as nano or vi/vim) or to be able to use an editor able to connect remotely like Visual studio, emacs or bbedit. If you are not sure what text editor to use, we recommend that you learn the basics of “nano”.
  • During the course, we will use the Slack platform for discussion and troubleshooting. You can either install the Slack app before the course, or you will be able to access Slack from a web browser.
  • We also encourage you to create a Github account and an associated Docker hub account.

1.2.3.3 Provided infrastructure

Each participant will access a dedicated Amazon EC2 instance, using SSH. That instance runs Amazon Linux 2 with all the necessary software for the course.

Every instance has a S3 bucket storage mounted at /mnt. If you need to save any file after the end of the 2nd day and in the end of the course, copy files there and then you can retrieve them via a web browser, using the URL https://bucketname.s3.eu-central-1.amazonaws.com/copiedfile.txt, where bucketname is the name of the directory in /mnt and copiedfile.txt is the name of the file to download.

1.2.4 Dates, time, location

  • Dates: May 2021:
  • Containers: Monday 3rd, Tuesday 4th
  • Nextflow: Monday 10th, Tuesday 11th
  • Time: 9:30-17:30:
    • Morning coffee break: 11:00-11:30am
    • Lunch break: 1pm-2pm
    • Afternoon coffee break: 3:30-4:00pm
  • Location: virtual, via Zoom.

You can find all information in the dedicated course page of the Moodle platform.