Program
May 3-4: Containers
Day 1: Docker
- Containers: introduction and history.
- Docker hub: find existing containers.
- Fetch (and build) an image from public registries (Docker Hub, Quay.io, etc.)
- Discover relevant base images
- Run Docker container based on an existing image (also run it interactively).
- Build an image from an existing recipe:
- Sections and keywords.
- Build options (e.g. cache or build variables).
- Write a Docker recipe and build an image from it.
Day 2: Docker + Singularity
- Docker:
- Work with volumes and ports.
- Upload image to registries.
- Singularity:
- Singularity versus Docker.
- Differences, pros and cons for each system.
- Fetch (and build) a Singularity images.
- Build from existing public registries.
- Build from local Docker instances.
- Run a Singularity container (interactively).
- Understanding and working with volumes.
- Singularity build recipes.
- Advanced features: services, etc.
May 10-11: Nextflow
Day 3: Understand the code, run, modify
- Introduction to Nextflow.
- Scripting.
- Basic concepts:
- Channels, processes and workflows.
- The work folder and its structure.
- The log file.
- Resuming pipelines.
Day 4: Write and share
- Decoupling configuration and main script.
- Run Nextflow with containers.
- Run Nextflow on a computing cluster (e.g. HPC):
- Definition of computing requirements and queues.
- Profiles.
- Modules, subworkflows, and how to reuse the code.
- Share Nextflow pipelines.