Docker and Singularity for Reproducible Research: Getting Started with Containers
12 April 2023
12 April 2023
For-profit: 500 CHF
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 material are in the dedicated GitHub page.
Application
SIB courses usually open for applications 1-2 months before the course takes place. If not yet done, I suggest you sign up for our mailing list here so that you are informed when the courses accept applications as some courses fill up very quickly.
Registration fees for academics are 100 CHF and 500 CHF for for-profit companies. While participants are registered on a first come, first served basis, exceptions may be made to ensure diversity and equity, which may increase the time before your registration is confirmed.
Applications will close as soon as the places will be filled up. Deadline for free-of-charge cancellation is set to 12/04/2023. Cancellation after this date will not be reimbursed.
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.
Venue and Time
This course will only 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: Diana Marek
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.