Docker and Reproducibility [closed]
| - |
Important Dates
- Deadline for applications: 17-05-2019
- Course selection will be done on a first-come first-served basis and chosen participants will be immediately notified
- Course date: 13-14 June 2019
Venue
University of Turin
Molecular Biotechnology Center
Via Nizza, 52
10126 Torino, Italy
https://www.mbc.unito.it/it
Fee
The course includes a fee of 60 Euros, covering 4 coffee breaks and 2 lunches. Participants are expected to pay their own travel and accommodation costs (if any).
Selection
A maximum of 15 candidates will be selected based on their need for the course and their prerequisites as emerging from the Application form - Registration. Priority will be given to candidates from ELIXIR-IIB member institutions (see the list at the bottom) and ELIXIR nodes.
Laptop
Participants will be requested to bring their own laptop; in case of need we can provide a computer to participants.
The mandatory requirements for the laptop are the presence of an ethernet plug/adapter and VNC client installation.
Instructors
- Marco Beccuti - Dep. of Molecular Biotechnology and Health Sciences, University of Torino, IT
- Raoul Bonnal - Istituto Nazionale Genetica Molecolare “Romeo ed Enrica Invernizzi” (INGM), Milano, IT
Helpers
- Raffaele A. Calogero - Dep. of Molecular Biotechnology and Health Sciences, University of Torino, IT
Organisers
- Raffaele Calogero - Dep. of Molecular Biotechnology and Health Sciences, University of Torino, IT
- Marco Chiapello - Institute for Sustainable Plant Protection of the National Research Council of Italy (CNR)
- Marco Beccuti - Dep. of Molecular Biotechnology and Health Sciences, University of Torino, IT
- Loredana Le Pera - ELIXIR-IIB Training Coordinator Deputy, IBIOM/IBPM-CNR, IT
- Allegra Via - ELIXIR-IIB Training Coordinator, IBPM-CNR, IT
Contact
For all kinds of queries, please contact the ELIXIR-IIB Training Team at: elixir.ita.training@gmail.com or the local organiser Raffaele Calogero at: raffaele.calogero@unito.it, tel: +39 0116706454, cel: +39 3333827080.
Course Description
Bioinformatics analysis typically integrate a large number of different tools, reference data to elaborate the input data and derive results. Reproducing the same analysis by other researchers is often a hard task as many pieces of the puzzle are missing from the used methodology. While the raw datasets are generally available; a clear workflow detailing the results reproducibility is often missing. Indeed, a simple list of tools used in the workflow could be not enough to guarantee the result reproducibility: different releases of the same tools or/and of the system libraries (exploited by such tools) might lead to sneaky reproducibility issues. The biggest obstacle in computational reproducibility is then to create a reliable, standalone, multiplatform and lightweight-working environment in which all the computational needs for a study are installed and frozen. Virtualization and containerization are the two approaches proposed to address this issue.
Virtual machines are very good at isolating system resources and entire working environments, while containers’ philosophy is to isolate only individual applications, not the entire system. Thus, containers are a lightweight fast and scalable alternative to Virtual machines when an completely isolated execution is not mandatory.
Docker is a container framework for Linux that allows a developer to make easier the creation, deployment, and execution of applications by using containers.
Recently it is becoming a promising approach to computational biology research reproducibility by:
- Saving time and expenses on human and computational resources allocated to already performed analysis;
- Boosting communication between computational biologists working on similar topics;
- Enhancing transparency within the community;
- Granting open access computational knowledge to the community.
Target audience
This course is aimed at providing to bioinformaticians and computer scientists the basic information to assemble docker images and use them.
Course prerequisites
The participants will need to have basic shell scripting knowledge and basic experience in a scripting language, e.g. R, Python, or others.
Learning objectives
By the end of this course, the participants will learn:
- the basic concepts of Docker;
- to assess the advantages of a containerized software development & deployment;
- to use Docker engine features necessary for running containerized applications;
- how to use the Docker File and Docker Hub to create a Docker image;
- the various networking mechanisms available in Docker.
Learning outcomes
By the end of this course, the participants will be able to:
- embed their own analysis pipelines in a Docker container using the docker file paradigm;
- use a Docker engine to execute containerized applications.
Application Form - Registration
Preliminary programme
Day 1 |
|||
09:00 - 09:30 | Welcome, Intro & expectations | ||
09:30 - 10:30 | Lecture | Beccuti/Bonnal/Calogero | General Information on Docker infrastructure |
10:30 - 11:00 | Coffee break | ||
11:00 - 12:30 | Lecture | Beccuti/Bonnal/Calogero | Introduction to docker survival commands |
12:30 - 13:30 | Lunch break | ||
13:30 - 15:00 | Practical | Beccuti/Bonnal/Calogero | Create a simple docker image |
15:00 - 15:30 | Coffee break | ||
15:30 - 17:00 | Practical | Beccuti/Bonnal/Calogero | Execute a simple docker image |
17:00 - 18:00 | Practical | Beccuti/Bonnal/Calogero | Build a docker image embedding R enviroment. |
10:30 - 11:00 | Coffee break | ||
11:00 - 12:30 | Practical | Beccuti/Bonnal/Calogero | Create an image using docker file |
12:30 - 13:30 | Lunch break | ||
13:30 - 15:00 | Practical | Beccuti/Bonnal/Calogero | Embed a real applications in a docker container |
15:00 - 15:30 | Coffee break | ||
15:30 - 17:00 | Lecture | Beccuti/Bonnal/Calogero | Docker swarm in a nutshell |
17:00 - 18:00 | Practical | Beccuti/Bonnal/Calogero | Deploy services on a cluster using docker swarm. |
Day 2 |
|||
09:00 - 09:30 | Quick recapitulation of concepts from the previous day | ||
09:30 - 10:30 | Lecture | Beccuti/Bonnal/Calogero | Introduction to docker file |
10:30 - 11:00 | Coffee break | ||
11:00 - 12:30 | Practical | Beccuti/Bonnal/Calogero | Create an image using docker file |
12:30 - 13:30 | Lunch break | ||
13:30 - 15:00 | Practical | Beccuti/Bonnal/Calogero | Embed a real applications in a docker container |
15:00 - 15:30 | Coffee break | ||
15:30 - 17:00 | Lecture | Beccuti/Bonnal/Calogero | Docker swarm in a nutshell |
17:00 - 18:00 | Practical | Beccuti/Bonnal/Calogero | Deploy services on a cluster using docker swarm. |
ELIXIR-IIB member institutes
- CNR, National Research Council (Lead Institute)
- CRS4
- CINECA
- Edmund Mach Foundation, Trento
- ENEA
- Fondazione Telethon
- INFN
- Istituto Superiore di Sanità (ISS)
- GARR
- Stazione Zoologica Anton Dohrn, Napoli
- University of Roma "Sapienza"
- University of Bari
- University of Bologna
- University of Firenze
- University of Milano
- University of Milano Bicocca
- University of Napoli
- University of Padova
- University of Parma
- University of Roma "Tor Vergata"
- University of Salerno
- University of Torino
- University of Tuscia