diff --git a/README.md b/README.md
index d94e7654bd91bc790d65437411de1f3bb066d1b0..6f07ab7b151808aa7ddc91c0d7a55e54e1741d4c 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,13 @@
 # nextflow pipeline
 
 This repository is a template and a library repository to help you build nextflow pipeline.
+You can fork this repository to build your own pipeline.
+To get the last commits from this repository into your fork use the following commands:
+
+```sh
+git remote add upstream https://gitlab.biologie.ens-lyon.fr/pipelines/nextflow.git
+git pull upstream master
+```
 
 ## Getting Started
 
@@ -47,7 +54,7 @@ find src/docker_modules/ -name "docker_init.sh" | awk '{system($0)}'
 
 ## Running the tests
 
-To run tests we first need to get a trainning set
+To run tests we first need to get a training set
 ```sh
 cd data
 git clone -c http.sslVerify=false https://gitlab.biologie.ens-lyon.fr/LBMC/tiny_dataset.git
diff --git a/doc/Makefile b/doc/Makefile
index f23846af30b46d4e7391ce26da2f4de4c389d9da..c649c49373dba0199c2b4eae766e0e43f1da3280 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,4 +1,7 @@
-all: TP_experimental_biologists.pdf
+all: TP_experimental_biologists.pdf TP_computational_biologists.pdf
 
 TP_experimental_biologists.pdf: TP_experimental_biologists.md
 	R -e 'require(rmarkdown); rmarkdown::render("TP_experimental_biologists.md")'
+
+TP_computational_biologists.pdf: TP_computational_biologists.md
+	R -e 'require(rmarkdown); rmarkdown::render("TP_computational_biologists.md")'
diff --git a/doc/TP_computational_biologists.md b/doc/TP_computational_biologists.md
new file mode 100644
index 0000000000000000000000000000000000000000..09b9574e5bb2171799e987225389ab4cb39f891b
--- /dev/null
+++ b/doc/TP_computational_biologists.md
@@ -0,0 +1,190 @@
+---
+title: "TP for computational biologists"
+author: Laurent Modolo [laurent.modolo@ens-lyon.fr](mailto:laurent.modolo@ens-lyon.fr)
+date: 20 Jun 2018
+output:
+pdf_document:
+toc: true
+toc_depth: 3
+    number_sections: true
+highlight: tango
+    latex_engine: xelatex
+---
+
+The goal of this practical is to learn how to *wrap* tools in [Docker](https://www.docker.com/what-docker) or [Environment Module](http://www.ens-lyon.fr/PSMN/doku.php?id=documentation:tools:modules) to make them available to nextflow on a personal computer or at the [PSMN](http://www.ens-lyon.fr/PSMN/doku.php).
+
+Here we assume that you followed the [TP for experimental biologists](./TP_experimental_biologists.md), and that you know the basics of [Docker containers](https://www.docker.com/what-container) and [Environment Module](http://www.ens-lyon.fr/PSMN/doku.php?id=documentation:tools:modules). We are also going to assume that you know how to build and use a nextflow pipeline from the template [pipelines/nextflow](https://gitlab.biologie.ens-lyon.fr/pipelines/nextflow).
+
+For the practical you can either work with the WebIDE of Gitlab, or locally as described in the [git: basis formation](https://gitlab.biologie.ens-lyon.fr/formations/git_basis).
+
+# Docker
+
+To run a tool within a [Docker container](https://www.docker.com/what-container) you need to write a `Dockerfile`.
+
+[`Dockerfile`](./src/docker_modules/Kallisto/0.44.0/Dockerfile) are found in the [pipelines/nextflow](https://gitlab.biologie.ens-lyon.fr/pipelines/nextflow) project under `src/docker_modules/`. Each [`Dockerfile`](./src/docker_modules/Kallisto/0.44.0/Dockerfile) is paired with a [`docker_init.sh`](./src/docker_modules/Kallisto/0.44.0/docker_init.sh) file like following the example for `Kallisto` version `0.43.1`:
+
+```sh
+$ ls -l src/docker_modules/Kallisto/0.43.1/
+total 16K                                                                        
+drwxr-xr-x 2 laurent users 4.0K Jun 5 19:06 ./                                  
+drwxr-xr-x 3 laurent users 4.0K Jun 6 09:49 ../                                 
+-rw-r--r-- 1 laurent users  587 Jun  5 19:06 Dockerfile                          
+-rwxr-xr-x 1 laurent users 79 Jun 5 19:06 docker_init.sh*                     
+```
+
+## [`docker_init.sh`](./src/docker_modules/Kallisto/0.44.0/docker_init.sh)
+The [`docker_init.sh`](./src/docker_modules/Kallisto/0.44.0/docker_init.sh) is a simple sh script with executable rights (`chmod +x`). By executing this script, the user creates a [Docker container](https://www.docker.com/what-container) with the tool installed a specific version. You can check the [`docker_init.sh`](./src/docker_modules/Kallisto/0.44.0/docker_init.sh) file of any implemented tools as a template.
+
+Remember that the name of the [container](https://www.docker.com/what-container) must be in lower case and in the format `<tool_name>:<version>`.
+For tools without a version number you can use a commit hash instead.
+
+## [`Dockerfile`](./src/docker_modules/Kallisto/0.44.0/Dockerfile)
+
+The recipe to wrap your tool in a [Docker container](https://www.docker.com/what-container) is written in a [`Dockerfile`](./src/docker_modules/Kallisto/0.44.0/Dockerfile) file.
+
+For `Kallisto` version `0.44.0` the header of the `Dockerfile` is :
+
+```Docker
+FROM ubuntu:18.04
+MAINTAINER Laurent Modolo
+
+ENV KALLISTO_VERSION=0.44.0
+```
+
+The `FROM` instruction means that the [container](https://www.docker.com/what-container) is initialized from a bare installation of Ubuntu 18.04. You can check the versions of Ubuntu available [here](https://hub.docker.com/_/ubuntu/) or others operating systems like [debian](https://hub.docker.com/_/debian/) or [worst](https://hub.docker.com/r/microsoft/windowsservercore/).
+
+Then we declare the *maintainer* of the container. Before declaring an environment variable for the container named `KALLISTO_VERSION`, which contains the version of the tool wrapped. This this bash variable will be declared for the user root within the [container](https://www.docker.com/what-container).
+
+You should always declare a variable `TOOLSNAME_VERSION` that contains the version number of commit number of the tools you wrap. In simple cases you just have to modify this line to create a new `Dockerfile` for another version of the tool.
+
+The following lines of the [`Dockerfile`](./src/docker_modules/Kallisto/0.44.0/Dockerfile) are a succession of `bash` commands executed as the **root** user within the container.
+Each `RUN` block is run sequentially by `Docker`. If there is an error or modifications in a `RUN` block, only this block and the following `RUN` will be executed.
+
+You can learn more about the building of Docker containers [here](https://docs.docker.com/engine/reference/builder/#usage).
+
+When you build your [`Dockerfile`](./src/docker_modules/Kallisto/0.44.0/Dockerfile), instead of launching many times the [`docker_init.sh`](./src/docker_modules/Kallisto/0.44.0/docker_init.sh) script to tests your [container](https://www.docker.com/what-container), you can connect to a base container in interactive mode to launch tests your commands.
+
+```sh
+docker run -it ubuntu:18.04 bash
+KALLISTO_VERSION=0.44.0
+```
+
+# SGE / [PSMN](http://www.ens-lyon.fr/PSMN/doku.php)
+
+To run easily tools on the [PSMN](http://www.ens-lyon.fr/PSMN/doku.php), you need to build your own [Environment Module](http://www.ens-lyon.fr/PSMN/doku.php?id=documentation:tools:modules).
+
+You can read the Contributing guide for the [PMSN/modules](https://gitlab.biologie.ens-lyon.fr/PSMN/modules) project [here](https://gitlab.biologie.ens-lyon.fr/PSMN/modules/blob/master/CONTRIBUTING.md)
+
+# Nextflow
+
+The last step to wrap your tool is to make it available in nextflow. For this you need to create at least 4 files, like the following for Kallisto version `0.44.0`:
+
+```sh
+ls -lR src/nf_modules/Kallisto
+src/nf_modules/Kallisto/:
+total 12
+-rw-r--r-- 1 laurent users 866 Jun 18 17:13 kallisto.config
+-rw-r--r-- 1 laurent users 2711 Jun 18 17:13 kallisto.nf
+drwxr-xr-x 2 laurent users 4096 Jun 18 17:14 tests/
+
+src/nf_modules/Kallisto/tests:
+total 16
+-rw-r--r-- 1 laurent users 551 Jun 18 17:14 index.nf
+-rw-r--r-- 1 laurent users 901 Jun 18 17:14 mapping_paired.nf
+-rw-r--r-- 1 laurent users 1037 Jun 18 17:14 mapping_single.nf
+-rwxr-xr-x 1 laurent users 627 Jun 18 17:14 tests.sh*
+```
+
+The [`kallisto.config`](./src/nf_modules/Kallisto/kallisto.config) file contains instructions for two profiles : `sge` and `docker`.
+The [`kallisto.nf`](./src/nf_modules/Kallisto/kallisto.nf) file contains nextflow processes to use `Kallisto`.
+
+The [`tests/tests.sh`](./src/nf_modules/Kallisto/tests/tests.sh) script (with executable rights), contains a series of nextflow calls on the other `.nf` files of the [`tests/`](./src/nf_modules/kallisto/tests/) folder. Those tests correspond to execution of the processes present in the [`kallisto.nf`](./src/nf_modules/Kallisto/kallisto.nf) file on the [LBMC/tiny_dataset](https://gitlab.biologie.ens-lyon.fr/LBMC/tiny_dataset) dataset with the `docker` profile. You can read the *Running the tests* section of the [README.md](https://gitlab.biologie.ens-lyon.fr/pipelines/nextflow/blob/master/README.md).
+
+## [`kallisto.config`](./src/nf_modules/Kallisto/kallisto.config)
+
+The `.config` file defines the configuration to apply to your process conditionally to the value of the `-profile` option. You must define configuration for at least the `sge` and `docker` profile.
+
+```Groovy
+profiles {
+  docker {
+    docker.temp = 'auto'
+    docker.enabled = true
+    process {
+    }
+  }
+  sge {
+    process{
+    }
+  }
+```
+
+### `docker` profile
+
+The `docker` profile starts by enabling docker for the whole pipeline. After that you only have to define the container name for each process:
+For example, for `Kallisto` with the version `0.44.0`, we have:
+
+```Groovy
+process {
+  $index_fasta {
+    container = "kallisto:0.44.0"
+  }
+  $mapping_fastq {
+    container = "kallisto:0.44.0"
+  }
+}
+```
+
+### `sge` profile
+
+The `sge` profile defines for each process all the informations necessary to launch your process on a given queue with SGE at the [PSMN](http://www.ens-lyon.fr/PSMN/doku.php).
+For example, for `Kallisto`, we have:
+
+```Groovy
+process{
+  $index_fasta {
+    beforeScript = "module purge; module load Kallisto/0.44.0"
+    executor = "sge"
+    cpus = 1
+    memory = "5GB"
+    time = "6h"
+    queueSize = 1000
+    pollInterval = '60sec'
+    queue = 'h6-E5-2667v4deb128'
+    penv = 'openmp8'
+  }
+  $mapping_fastq {
+    beforeScript = "module purge; module load Kallisto/0.44.0"
+    executor = "sge"
+    cpus = 4
+    memory = "5GB"
+    time = "6h"
+    queueSize = 1000
+    pollInterval = '60sec'
+    queue = 'h6-E5-2667v4deb128'
+    penv = 'openmp8'
+  }
+}
+```
+
+The `beforeScript` variable is executed before the main script for the corresponding process.
+
+## [`kallisto.nf`](./src/nf_modules/Kallisto/kallisto.nf)
+
+The [`kallisto.nf`](./src/nf_modules/Kallisto/kallisto.nf) file contains examples of nextflow process that execute Kallisto.
+
+- Each example must be usable as it is to be incorporated in a nextflow pipeline.
+- You need to define, default value for the parameters passed to the process. 
+- Input and output must be clearly defined.
+- Your process should be usable as a starting process or a process retrieving the output of another process.
+
+For more informations on processes and channels you can check the [nextflow documentation](https://www.nextflow.io/docs/latest/index.html).
+
+## Making your wrapper available to the LBMC
+
+To make your module available to the LBMC you must have a `tests.sh` script and one or many `docker_init.sh` scripts working without errors.
+All the processes in your `.nf` must be covered by the tests.
+
+After pushing your modifications on your forked repository, you can make a Merge Request to the [PSMN/modules](https://gitlab.biologie.ens-lyon.fr/pipelines/nextflow) **dev** branch. Where it will be tested and integrated to the **master** branch.
+
+You can read more on this process [here](https://guides.github.com/introduction/flow/)
+
diff --git a/src/docker_modules/Kallisto/0.44.0/Dockerfile b/src/docker_modules/Kallisto/0.44.0/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..9c4dd013e34bf76c4dcd408622eebccbe3e52396
--- /dev/null
+++ b/src/docker_modules/Kallisto/0.44.0/Dockerfile
@@ -0,0 +1,15 @@
+FROM ubuntu:18.04
+MAINTAINER Laurent Modolo
+
+ENV KALLISTO_VERSION=0.44.0
+ENV PACKAGES curl=7.58.0* \
+   ca-certificates=20180409
+
+RUN apt-get update && \
+    apt-get install -y --no-install-recommends ${PACKAGES} && \
+    apt-get clean
+
+RUN curl -k -L  https://github.com/pachterlab/kallisto/releases/download/v${KALLISTO_VERSION}/kallisto_linux-v${KALLISTO_VERSION}.tar.gz -o kallisto_linux-v${KALLISTO_VERSION}.tar.gz && \
+tar xzf kallisto_linux-v${KALLISTO_VERSION}.tar.gz && \
+cp kallisto_linux-v${KALLISTO_VERSION}/kallisto /usr/bin && \
+rm -Rf kallisto_linux-v${KALLISTO_VERSION}*
diff --git a/src/docker_modules/Kallisto/0.44.0/docker_init.sh b/src/docker_modules/Kallisto/0.44.0/docker_init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..a17b82f5761976daacd7b909998af2f600264136
--- /dev/null
+++ b/src/docker_modules/Kallisto/0.44.0/docker_init.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+docker build src/docker_modules/Kallisto/0.44.0 -t 'kallisto:0.44.0'
diff --git a/src/docker_modules/UrQt/d62c1f8/Dockerfile b/src/docker_modules/UrQt/d62c1f8/Dockerfile
index ab28a3f6f35fa709f959d02d007c18f28595a2fe..9dc908fba18e9da9f65049ae30e17d76087984e5 100644
--- a/src/docker_modules/UrQt/d62c1f8/Dockerfile
+++ b/src/docker_modules/UrQt/d62c1f8/Dockerfile
@@ -1,7 +1,7 @@
 FROM ubuntu:18.04
 MAINTAINER Laurent Modolo
 
-ENV PACKAGES git=1:2.17.1* \
+ENV PACKAGES git=1:2.17* \
    build-essential=12.4* \
    ca-certificates=20180409 \
    zlib1g-dev=1:1.2.11*
diff --git a/src/nf_modules/BEDtools/bedtools.nf b/src/nf_modules/BEDtools/bedtools.nf
index 5c85aa6f8c162566d446a861451eea7fa86e70fa..297fd9ef429ce83c601e96f9842e940da22266b5 100644
--- a/src/nf_modules/BEDtools/bedtools.nf
+++ b/src/nf_modules/BEDtools/bedtools.nf
@@ -1,11 +1,12 @@
 /*
 * bedtools :
-* Imputs : fastq files
-* Output : fastq files
+* Imputs : fasta files
+* Imputs : bed files
+* Output : fasta files
 */
 /*                      fasta extraction                                     */
 
-params.fastq = "$baseDir/data/fasta/*.fasta"
+params.fasta = "$baseDir/data/fasta/*.fasta"
 params.bed = "$baseDir/data/annot/*.bed"
 
 log.info "fasta file : ${params.fasta}"
diff --git a/src/nf_modules/Bowtie2/bowtie2.nf b/src/nf_modules/Bowtie2/bowtie2.nf
index 095d85ff62d70d14d204e09e6fb2eaf5244ea1b7..30b75312ceba63ba5df43fb2c17e7d2a73102e2a 100644
--- a/src/nf_modules/Bowtie2/bowtie2.nf
+++ b/src/nf_modules/Bowtie2/bowtie2.nf
@@ -66,7 +66,7 @@ process mapping_fastq {
   file index from index_files.toList()
 
   output:
-  file "*.bam" into bam_files
+  set pair_id, "*.bam" into bam_files
 
   script:
 """
diff --git a/src/nf_modules/Bowtie2/tests/mapping_paired.nf b/src/nf_modules/Bowtie2/tests/mapping_paired.nf
index 048db49b684e18326323621a7873b6db4b0c5071..835d0ca3c96e5f68c1650aeadff280eced9d5a11 100644
--- a/src/nf_modules/Bowtie2/tests/mapping_paired.nf
+++ b/src/nf_modules/Bowtie2/tests/mapping_paired.nf
@@ -23,7 +23,7 @@ process mapping_fastq {
   file index from index_files.toList()
 
   output:
-  file "*.bam" into bam_files
+  set pair_id, "*.bam" into bam_files
 
   script:
 """
@@ -37,3 +37,4 @@ if grep -q "Error" ${pair_id}_bowtie2_report.txt; then
 fi
 """
 }
+
diff --git a/src/nf_modules/Kallisto/kallisto.config b/src/nf_modules/Kallisto/kallisto.config
index 1a92bb1f4165e5b1e3f1d1f46a7b60716242f64f..da7f54e0dfa345ef1b599ce328ceca40747dd9c6 100644
--- a/src/nf_modules/Kallisto/kallisto.config
+++ b/src/nf_modules/Kallisto/kallisto.config
@@ -4,17 +4,17 @@ profiles {
     docker.enabled = true
     process {
       $index_fasta {
-        container = "kallisto:0.43.1"
+        container = "kallisto:0.44.0"
       }
       $mapping_fastq {
-        container = "kallisto:0.43.1"
+        container = "kallisto:0.44.0"
       }
     }
   }
   sge {
     process{
       $index_fasta {
-        beforeScript = "module purge; module load Kallisto/0.43.1"
+        beforeScript = "module purge; module load Kallisto/0.44.0"
         executor = "sge"
         cpus = 1
         memory = "5GB"
@@ -25,7 +25,7 @@ profiles {
         penv = 'openmp8'
       }
       $mapping_fastq {
-        beforeScript = "module purge; module load Kallisto/0.43.1"
+        beforeScript = "module purge; module load Kallisto/0.44.0"
         executor = "sge"
         cpus = 4
         memory = "5GB"
diff --git a/src/nf_modules/Kallisto/kallisto.nf b/src/nf_modules/Kallisto/kallisto.nf
index 1f21a1faf508482267782e68ac0f09e8b94ca979..8867a0c3ab74393a43229e9bee4a39e71f4eddc2 100644
--- a/src/nf_modules/Kallisto/kallisto.nf
+++ b/src/nf_modules/Kallisto/kallisto.nf
@@ -58,7 +58,7 @@ process mapping_fastq {
   publishDir "results/mapping/quantification/", mode: 'copy'
 
   input:
-  file reads from fastq_files
+  set pair_id, file(reads) from fastq_files
   file index from index_files.toList()
 
   output:
@@ -68,8 +68,8 @@ process mapping_fastq {
 """
 mkdir ${reads[0].baseName}
 kallisto quant -i ${index} -t ${task.cpus} \
---bias --bootstrap-samples 100 -o ${reads[0].baseName} \
-${reads[0]} ${reads[1]} &> ${reads[0].baseName}_kallisto_report.txt
+--bias --bootstrap-samples 100 -o ${pair_id} \
+${reads[0]} ${reads[1]} &> ${pair_id}_kallisto_report.txt
 """
 }
 
diff --git a/src/nf_modules/Kallisto/tests/mapping_paired.nf b/src/nf_modules/Kallisto/tests/mapping_paired.nf
index 71b9f471968fb7cb6a73871d6c88e7a96c4d37d7..8e8f94c9172c409a5af3be0be02f3970e5983030 100644
--- a/src/nf_modules/Kallisto/tests/mapping_paired.nf
+++ b/src/nf_modules/Kallisto/tests/mapping_paired.nf
@@ -14,7 +14,7 @@ Channel
   .set { index_files }
 
 process mapping_fastq {
-  tag "$pair_id"
+  tag "$reads"
   cpus 4
   publishDir "results/mapping/quantification/", mode: 'copy'
 
@@ -27,7 +27,7 @@ process mapping_fastq {
 
   script:
 """
-mkdir ${pair_id}
+mkdir ${reads[0].baseName}
 kallisto quant -i ${index} -t ${task.cpus} \
 --bias --bootstrap-samples 100 -o ${pair_id} \
 ${reads[0]} ${reads[1]} &> ${pair_id}_kallisto_report.txt
diff --git a/src/nf_modules/UrQt/tests/trimming_paired.nf b/src/nf_modules/UrQt/tests/trimming_paired.nf
index 4c289c0e94c70fe9c621a716358b7526b0ce1a14..7720b12fa2739bda9e0b27e1968102c25298fbf1 100644
--- a/src/nf_modules/UrQt/tests/trimming_paired.nf
+++ b/src/nf_modules/UrQt/tests/trimming_paired.nf
@@ -6,14 +6,15 @@ Channel
   .set { fastq_files }
 
 process trimming {
-  tag "$pair_id"
+  tag "${reads}"
   cpus 4
+  publishDir "results/fastq/trimming/", mode: 'copy'
 
   input:
   set pair_id, file(reads) from fastq_files
 
   output:
-  file "*_trim_R{1,2}.fastq.gz" into fastq_files_cut
+  set pair_id, "*_trim_R{1,2}.fastq.gz" into fastq_files_trim
 
   script:
 """
@@ -23,3 +24,4 @@ UrQt --t 20 --m ${task.cpus} --gz \
 > ${pair_id}_trimming_report.txt
 """
 }
+
diff --git a/src/nf_modules/UrQt/urqt.nf b/src/nf_modules/UrQt/urqt.nf
index 165af95db819fa4b9c4e2f081a831336931f2143..d24033632011796fb1bb3d27185cf62a737444a9 100644
--- a/src/nf_modules/UrQt/urqt.nf
+++ b/src/nf_modules/UrQt/urqt.nf
@@ -24,17 +24,17 @@ process trimming {
   publishDir "results/fastq/trimming/", mode: 'copy'
 
   input:
-  file reads from fastq_files
+  set pair_id, file(reads) from fastq_files
 
   output:
-  file "*_trim_R{1,2}.fastq.gz" into fastq_files_trim
+  set pair_id, "*_trim_R{1,2}.fastq.gz" into fastq_files_trim
 
   script:
 """
 UrQt --t 20 --m ${task.cpus} --gz \
 --in ${reads[0]} --inpair ${reads[1]} \
---out ${reads[0].baseName}_trim_R1.fastq.gz --outpair ${reads[1].baseName}_trim_R2.fastq.gz \
-> ${reads[0].baseName}_trimming_report.txt
+--out ${pair_id}_trim_R1.fastq.gz --outpair ${pair_id}_trim_R2.fastq.gz \
+> ${pair_id}_trimming_report.txt
 """
 }
 
diff --git a/src/nf_modules/cutadapt/cutadapt.nf b/src/nf_modules/cutadapt/cutadapt.nf
index e2a0681a6e81c80a36fc51e5306f3e1828e87bee..204a9e5a5e34ecef5b47e1892bc0ac9e0f6a1760 100644
--- a/src/nf_modules/cutadapt/cutadapt.nf
+++ b/src/nf_modules/cutadapt/cutadapt.nf
@@ -27,7 +27,7 @@ process adaptor_removal {
   set pair_id, file(reads) from fastq_files
 
   output:
-  file "*_cut_R{1,2}.fastq.gz" into fastq_files_cut
+  set pair_id, "*_cut_R{1,2}.fastq.gz" into fastq_files_cut
 
   script:
   """
@@ -91,7 +91,7 @@ process trimming {
   set pair_id, file(reads) from fastq_files
 
   output:
-  file "*_trim_R{1,2}.fastq.gz" into fastq_files_trim
+  set pair_id, "*_trim_R{1,2}.fastq.gz" into fastq_files_trim
 
   script:
   """
diff --git a/src/nf_modules/cutadapt/tests/adaptor_removal_paired.nf b/src/nf_modules/cutadapt/tests/adaptor_removal_paired.nf
index d665d236a9321751ca70bc4dbe22664f04519eec..f78d5c2dab0c8a83fd105c5eaddbbc1fd8c4e13e 100644
--- a/src/nf_modules/cutadapt/tests/adaptor_removal_paired.nf
+++ b/src/nf_modules/cutadapt/tests/adaptor_removal_paired.nf
@@ -7,12 +7,13 @@ Channel
 
 process adaptor_removal {
   tag "$pair_id"
+  publishDir "results/fastq/adaptor_removal/", mode: 'copy'
 
   input:
   set pair_id, file(reads) from fastq_files
 
   output:
-  file "*_cut_R{1,2}.fastq.gz" into fastq_files_cut
+  set pair_id, "*_cut_R{1,2}.fastq.gz" into fastq_files_cut
 
   script:
   """
@@ -21,4 +22,3 @@ process adaptor_removal {
   ${reads[0]} ${reads[1]} > ${pair_id}_report.txt
   """
 }
-
diff --git a/src/nf_modules/cutadapt/tests/trimming_paired.nf b/src/nf_modules/cutadapt/tests/trimming_paired.nf
index d0b83e1c8de4ff149d5d686b1808fa2db7300353..704240f46818b79a540e71273fc1512216d109e6 100644
--- a/src/nf_modules/cutadapt/tests/trimming_paired.nf
+++ b/src/nf_modules/cutadapt/tests/trimming_paired.nf
@@ -7,12 +7,13 @@ Channel
 
 process trimming {
   tag "$pair_id"
+  publishDir "results/fastq/trimming/", mode: 'copy'
 
   input:
   set pair_id, file(reads) from fastq_files
 
   output:
-  file "*_trim_R{1,2}.fastq.gz" into fastq_files_cut
+  set pair_id, "*_trim_R{1,2}.fastq.gz" into fastq_files_trim
 
   script:
   """
@@ -21,4 +22,3 @@ process trimming {
   ${reads[0]} ${reads[1]} > ${pair_id}_report.txt
   """
 }
-
diff --git a/src/sge_modules b/src/sge_modules
index 94be868ea503b4810b110b35520d61f129035967..03a80f96cfe966f0ac855f0ac12a0b39b9ca2064 160000
--- a/src/sge_modules
+++ b/src/sge_modules
@@ -1 +1 @@
-Subproject commit 94be868ea503b4810b110b35520d61f129035967
+Subproject commit 03a80f96cfe966f0ac855f0ac12a0b39b9ca2064