Docker and Singularity for Reproducible Research: Getting Started with Containers

*This course is now full with a long waiting list. If you do not want to miss your chance to be part of the next session and remain informed about all training activities at SIB, we highly recommend you to keep an eye on our list of upcoming events and subscribe to our courses mailing list here (if not yet done). Thank you for your understanding. *

Overview

Reproducible analysis in bioinformatics goes beyond good documentation and sharing code. Often, analyses depend on an entire environment with many different programs, libraries and settings. For the sake of reproducibility, but also for productivity, you might want to store, reuse, and share your environments using container software such as Docker and Singularity. Containerization is a lightweight and scalable way of working with such isolated environments. For example, with Docker you can develop, store and manage environments based on Linux operating systems which can run in mostly any computer.

Often, bioinformatic calculations also require large memory and CPU resources, therefore you might want to use a shared computer environment (e.g. a HPC cluster). However, to run Docker you need to have privileged rights (i.e. as root), which is not the case for Singularity, a program that enables you to run environments from a wide range of resources (including Docker) in a safe manner without the need for privileged access. Combining Singularity and Docker thus makes you extremely flexible in how, when and where you use your computer environments and those of others.

To introduce you to working with containers in the context of bioinformatics research, we will take a practical approach with several hands-on exercises to go through the basics of using, developing and sharing containers.

The course materials can be found in the dedicated GitHub page.

Audience

This course is addressed to bioinformaticians and life scientists that are doing bioinformatic analyses and want to get introduced to containers.

Learning outcomes

At the end of the course, the participants are expected to:
* Understand the basic concepts and terminology associated with virtualization with containers
* Customize, store, manage and share containerized environments with Docker
* Describe and understand the essential differences between Docker and Singularity
* Use Singularity to run containers on a shared computer environment (e.g. a HPC cluster)

Prerequisites

Knowledge / competencies

This course is designed for those interested to work with containers in the context of bioinformatics. Practical experience on the basic UNIX commands is required. You can test your skills with Unix with the quiz here. If you do not feel comfortable with UNIX commands, you can refresh your knowledge with our Unix fundamentals e-learning module.

Technical

You are required to bring your own laptop with Docker pre-installed, and have created an account on dockerhub. Note that you need admin rights in your computer to install and use Docker. In addition, Windows users require a recent version of Windows.

Schedule

The schedule and course materials are in the dedicated GitHub page.

Application

*This course is now full with a long waiting list. If you do not want to miss your chance to be part of the next session and remain informed about all training activities at SIB, we highly recommend you to keep an eye on our list of upcoming events and subscribe to our courses mailing list here (if not yet done). Thank you for your understanding. *

The registration fees for academics are 60 CHF and 300 CHF for for-profit companies.

You will be informed by email of your registration confirmation. Upon reception of the confirmation email, participants will be asked to confirm attendance by paying the fees within 5 days.

Applications will close as soon as the places will be filled up. Deadline for free-of-charge cancellation is set to 30/09/2021. Cancellation after this date will not be reimbursed. Please note that participation in SIB courses is subject to our general conditions.

Venue and Time

This course will be streamed.

The course will start at 9:00 CET and end around 17:00 CET. Precise information will be provided to the participants in due time.

Additional information

Coordination: Patricia Palagi

We will recommend 0.25 ECTS credits for this course (given a passed exam at the end of the course).

You are welcome to register to the SIB courses mailing list to be informed of all future courses and workshops, as well as all important deadlines using the form here.

Please note that participation in SIB courses is subject to our general conditions.

SIB abides by the ELIXIR Code of Conduct. Participants of SIB courses are also required to abide by the same code.

For more information, please contact training@sib.swiss.

Keywords: reproducibility, container, data management, data security, high-performance computing

Authors: Geert van Geest and Marco Kreuzer, SIB Swiss Institute of Bioinformatics


Activity log