From 4bd58c063f8bb9349a2bab410df3f884842585a4 Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent.modolo@ens-lyon.fr> Date: Tue, 5 Jun 2018 16:50:52 +0200 Subject: [PATCH] TP.md: write docker_modules section --- doc/TP_experimental_biologists.md | 35 ++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/doc/TP_experimental_biologists.md b/doc/TP_experimental_biologists.md index ac9bda0..ebf32d7 100644 --- a/doc/TP_experimental_biologists.md +++ b/doc/TP_experimental_biologists.md @@ -50,7 +50,40 @@ Note that the content of these two folders should never be saved on git. The [doc](https://gitlab.biologie.ens-lyon.fr/pipelines/nextflow/tree/master/doc) folder contains the documentation of this practical course. -And most interestingly for you, the [src](https://gitlab.biologie.ens-lyon.fr/pipelines/nextflow/tree/master/src) contains code to wrapp tools. This folder contains two subdirectory. A `nf_modules` and a `sge_modules` folder. +And most interestingly for you, the [src](https://gitlab.biologie.ens-lyon.fr/pipelines/nextflow/tree/master/src) contains code to wrapp tools. This folder contains two subdirectory. A `docker_modules`, an `nf_modules` and an `sge_modules` folder. + +### `docker_modules` + +The `src/docker_modules` contains the code to wrapp tools in [Docker](https://www.docker.com/what-docker). [Docker](https://www.docker.com/what-docker) is a framework that allow you to execute software withing [containers](https://www.docker.com/what-container). The `docker_modules` contains directory corresponding to tools and subdirectories corresponding to their version. + +```sh +ls -l src/docker_modules/ +rwxr-xr-x 3 laurent _lpoperator 96 May 25 15:42 BEDtools/ +drwxr-xr-x 4 laurent _lpoperator 128 Jun 5 16:14 Bowtie2/ +drwxr-xr-x 3 laurent _lpoperator 96 May 25 15:42 FastQC/ +drwxr-xr-x 4 laurent _lpoperator 128 Jun 5 16:14 HTSeq/ +``` + +To each `tools/version` corresponds two files: + +```sh +ls -l src/docker_modules/Bowtie2/2.3.4.1/ +-rw-r--r-- 1 laurent _lpoperator 283 Jun 5 15:07 Dockerfile +-rwxr-xr-x 1 laurent _lpoperator 79 Jun 5 16:18 docker_init.sh* +``` + +The `Dockerfile` is the [Docker](https://www.docker.com/what-docker) recepi to create a [container](https://www.docker.com/what-container) containing `Bowtie2` in it's `2.3.4.1` version. And the `docker_init.sh` file is a small script to create the [container](https://www.docker.com/what-container) from this recipe. + +By running this script you will be able to easily install tools in different version on your personnal computer and use it in your pipeline. Some of the advantages are: + +- Whatever the computer, the installation and the results will be the same +- You can keep [container](https://www.docker.com/what-container) for old version of tools and run it on new systems (science = reproducibility) +- You don't have to bother with detious installation procedure, somebody else already did the job and wrote a `Dockerfile`. +- You can easly keep [container](https://www.docker.com/what-container) for differents version of the sam tools. + + + + -- GitLab