Containers: Achieving Portability & Reproducibility of Research Computational Environments (python stream)
Authors
Lesson overview
Description
This course explores several different approaches to provide an end user with a software environment that ensures successful execution of scientific analysis software in a reproducible manner. It then focuses upon an examplar - Software Containers (Specifically implemented using Docker).
Prerequisites
To be able to follow this course, learners should have knowledge in:
- Familiarity with using a text editor to create and edit plain ASCII text files.
- Basic experience in using command-line Linux.
- Additionally, students will find it beneficial to have an overview of how software is installed under Linux.
Learning Outcomes:
By the end of the course, learners will be able to:
- State several approaches to reproducible software environments and critically debate the strengths and weaknesses of each approach.
- Identify the roles of particular commands in a Dockerfile and create simple functional Docker containers.
Target Audience: Researchers, undergraduate students, postgraduate students, etc…
Level: Beginner/Intermediate
License: Creative Commons Attribution 4.0 International License
Funding: This project has received funding from [name of funders].
Contributors
Citing this lesson
Please cite as:
- Mark Fernandes, Pen-Yuan Hsing, Naeem Muhammad, Alexander Botzki. (2024). The ELIXIR Code Reproducibility lesson - Software Containers for computational reproducibility. Zenodo DOI: {here}
- Geert van Geest, Elin Kronander, Jose Alejandro Romero Herrera, Nadja Žlender, & Alexia Cardona. (2023). The ELIXIR Training Lesson Template - Developing Training Together (v1.0.0-alpha). Zenodo. https://doi.org/10.5281/zenodo.7913092.
Setup
Data setup
To run this lesson you need to install code and data from here
Software setup
To run this course you need to install Docker on your computer Instructions here and have access to a text editor program that can edit and save ASCII text documents (Not a word processor like Word).
NB Course examples assume an Intel architecture computer (i386). The author has ssucessfully run the exercises on an Apple Silicon Macintosh
by creating a UTM Debian linux Virtual machine with Intel emulation.
Blank Sillouette from User Icon Vectors by Vecteezy