Introduction to Containers and Snakemake for Reproducible Research
Overview
Reproducible data analysis in bioinformatics goes beyond good documentation and sharing code. Often, analyses depend on different compute environments and workflows with many programs, libraries, and settings. Containers and workflow management systems can help you organizing your environments and workflows, and therefore make your work more reproducible and efficient. Container software like Docker and singularity enable you to store, reuse, and share your environments, while workflow management systems like Snakemake enable you to integrate environments and scripts in a single scalable and reproducible workflow.
To introduce you to working with containers and workflow management systems 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 and workflows.
Audience
This course is addressed to bioinformaticians and life scientists that are doing bioinformatic analyses and want to get introduced to containers and pipelines.
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
* Use Singularity to run containers on a shared computer environment (e.g. a HPC cluster)
* Understand the basic concepts and terminology associated with workflow management systems
* Create a computational workflow that uses containers with Snakemake
Prerequisites
Knowledge / competencies
This course is designed for those interested to work with containers and pipelines 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. Windows users will find a recent version of Docker Desktop here.
You should also have a modern code editor installed, like Sublime Text or VScode.
Application
Registration fees for academics are 200 CHF and 1000 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 September 22, 2023. Cancellation after this date will not be reimbursed. Please note that participation in SIB courses is subject to our general conditions.
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 be held at the Swiss Institute of Allergy and Asthma Research (SIAF) in Davos.
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: Monique Zahn, SIB Training Group.
We will recommend 0.5 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: container, data management, high-performance computing, reproducibility, workflows, marc robinson-rechavi group, training
Activity log