From b4af1b0e18b4e70c8eaf00c49f535e80cfe32b94 Mon Sep 17 00:00:00 2001
From: xgrand <157-xgrand@users.noreply.gitbio.ens-lyon.fr>
Date: Fri, 30 Jul 2021 16:03:45 +0200
Subject: [PATCH] fisrt

---
 .gitignore                                    |   5 +-
 .../alntools/dd96682/docker_init.sh           |   0
 .../bamutils/1.0.14/docker_init.sh            |   0
 .../bcftools/1.7/docker_init.sh               |   0
 .../bedops/2.4.39/docker_init.sh              |   0
 .../bedtools/2.25.0/docker_init.sh            |   0
 .../bedtools/2.30.0/docker_init.sh            |   0
 src/.docker_modules/bioawk/1.0/docker_init.sh |   0
 .../bowtie/1.2.2/docker_init.sh               |   0
 .../bowtie2/2.3.4.1/docker_init.sh            |   0
 src/.docker_modules/bwa/0.7.17/docker_init.sh |   0
 src/.docker_modules/canu/1.6/docker_init.sh   |   0
 .../crossmap/0.4.1/docker_init.sh             |   0
 .../cutadapt/1.14/docker_init.sh              |   0
 .../cutadapt/1.15/docker_init.sh              |   0
 .../cutadapt/2.1/docker_init.sh               |   0
 .../deeptools/3.0.2/docker_init.sh            |   0
 .../deeptools/3.1.1/docker_init.sh            |   0
 .../deeptools/3.5.0/docker_init.sh            |   0
 .../deeptools/3.5.1/docker_init.sh            |   0
 src/.docker_modules/docker_push.sh            |   0
 .../emase-zero/0.3.1/docker_init.sh           |   0
 .../emase/0.10.16/docker_init.sh              |   0
 .../fastp/0.19.7/docker_init.sh               |   0
 .../fastp/0.20.1/docker_init.sh               |   0
 .../fastqc/0.11.5/docker_init.sh              |   0
 .../file_handle/0.1.1/docker_init.sh          |   0
 .../flexi_splitter/1.0.2/docker_init.sh       |   0
 .../freebayes/1.3.2/docker_init.sh            |   0
 .../g2gtools/0.2.7/docker_init.sh             |   0
 .../g2gtools/0.2.8/docker_init.sh             |   0
 src/.docker_modules/gatk/3.8.0/docker_init.sh |   0
 .../gatk/4.0.8.1/docker_init.sh               |   0
 .../gffread/0.11.8/docker_init.sh             |   0
 .../gffread/0.12.2/docker_init.sh             |   0
 .../hisat2/2.0.0/docker_init.sh               |   0
 .../hisat2/2.1.0/docker_init.sh               |   0
 .../htseq/0.13.5/docker_init.sh               |   0
 .../htseq/0.8.0/docker_init.sh                |   0
 .../kallisto/0.43.1/docker_init.sh            |   0
 .../kallisto/0.44.0/docker_init.sh            |   0
 .../kallistobustools/0.24.4/docker_init.sh    |   0
 .../kallistobustools/0.39.3/docker_init.sh    |   0
 src/.docker_modules/kb/0.26.0/docker_init.sh  |   0
 src/.docker_modules/kb/0.26.0/t2g.py          |   0
 src/.docker_modules/kb/0.26.3/docker_init.sh  |   0
 src/.docker_modules/kb/0.26.3/t2g.py          |   0
 src/.docker_modules/last/1060/docker_init.sh  |   0
 .../liftover/357/docker_init.sh               |   0
 .../macs2/2.1.2/docker_init.sh                |   0
 .../macs3/3.0.0a6/docker_init.sh              |   0
 .../minimap2/2.17/docker_init.sh              |   0
 .../multiqc/1.0/docker_init.sh                |   0
 .../multiqc/1.7/docker_init.sh                |   0
 .../multiqc/1.9/docker_init.sh                |   0
 .../music/6613c53/docker_init.sh              |   0
 .../pandoc/2.11/docker_init.sh                |   0
 .../picard/2.18.11/docker_init.sh             |   0
 src/.docker_modules/pigz/2.4/docker_init.sh   |   0
 src/.docker_modules/python/3.8/docker_init.sh |   0
 .../r-base/3.5.3/docker_init.sh               |   0
 .../r-base/3.6.2/docker_init.sh               |   0
 .../r-base/4.0.0/docker_init.sh               |   0
 .../r-base/4.0.2/docker_init.sh               |   0
 .../r-base/4.0.3/docker_init.sh               |   0
 src/.docker_modules/rsem/1.3.0/docker_init.sh |   0
 .../sabre/039a55e/docker_init.sh              |   0
 .../salmon/0.8.2/docker_init.sh               |   0
 .../sambamba/0.6.7/docker_init.sh             |   0
 .../sambamba/0.6.9/docker_init.sh             |   0
 .../samblaster/0.1.24/docker_init.sh          |   0
 .../samtools/1.11/docker_init.sh              |   0
 .../samtools/1.7/docker_init.sh               |   0
 .../sratoolkit/2.8.2/docker_init.sh           |   0
 src/.docker_modules/star/2.5.3/docker_init.sh |   0
 .../star/2.7.3a/docker_init.sh                |   0
 .../subread/1.6.4/docker_init.sh              |   0
 .../tophat/2.1.1/docker_init.sh               |   0
 .../trimmomatic/0.36/docker_init.sh           |   0
 src/.docker_modules/ucsc/375/docker_init.sh   |   0
 src/.docker_modules/ucsc/400/docker_init.sh   |   0
 src/.docker_modules/ucsc/407/docker_init.sh   |   0
 .../umi_tools/0.5.4/docker_init.sh            |   0
 .../umi_tools/1.0.0/docker_init.sh            |   0
 .../urqt/d62c1f8/docker_init.sh               |   0
 src/.singularity_in2p3                        |   1 -
 src/.singularity_psmn                         |   1 -
 src/chipster.nf                               | 136 +++++
 src/example_marseq.nf                         |  87 ----
 src/example_variant_calling.nf                |  36 --
 src/fasta_sampler.nf                          |  18 -
 src/install_nextflow.sh                       |   0
 src/nextflow                                  | 465 ++++++++++++++++++
 src/nextflow.config                           |   2 -
 src/nf_functions/control_ip_processing.nf     |  24 +
 src/nf_functions/reads_processing.nf          |   5 +
 src/nf_modules/multiqc/main.nf                |   2 +-
 src/solution_RNASeq.nf                        |  34 --
 src/training_dataset.config                   | 370 --------------
 src/training_dataset.nf                       | 308 ------------
 100 files changed, 634 insertions(+), 860 deletions(-)
 mode change 100755 => 100644 src/.docker_modules/alntools/dd96682/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bamutils/1.0.14/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bcftools/1.7/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bedops/2.4.39/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bedtools/2.25.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bedtools/2.30.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bioawk/1.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bowtie/1.2.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bowtie2/2.3.4.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/bwa/0.7.17/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/canu/1.6/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/crossmap/0.4.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/cutadapt/1.14/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/cutadapt/1.15/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/cutadapt/2.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/deeptools/3.0.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/deeptools/3.1.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/deeptools/3.5.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/deeptools/3.5.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/docker_push.sh
 mode change 100755 => 100644 src/.docker_modules/emase-zero/0.3.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/emase/0.10.16/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/fastp/0.19.7/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/fastp/0.20.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/fastqc/0.11.5/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/file_handle/0.1.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/flexi_splitter/1.0.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/freebayes/1.3.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/g2gtools/0.2.7/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/g2gtools/0.2.8/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/gatk/3.8.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/gatk/4.0.8.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/gffread/0.11.8/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/gffread/0.12.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/hisat2/2.0.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/hisat2/2.1.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/htseq/0.13.5/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/htseq/0.8.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/kallisto/0.43.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/kallisto/0.44.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/kallistobustools/0.24.4/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/kallistobustools/0.39.3/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/kb/0.26.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/kb/0.26.0/t2g.py
 mode change 100755 => 100644 src/.docker_modules/kb/0.26.3/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/kb/0.26.3/t2g.py
 mode change 100755 => 100644 src/.docker_modules/last/1060/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/liftover/357/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/macs2/2.1.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/macs3/3.0.0a6/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/minimap2/2.17/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/multiqc/1.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/multiqc/1.7/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/multiqc/1.9/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/music/6613c53/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/pandoc/2.11/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/picard/2.18.11/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/pigz/2.4/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/python/3.8/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/r-base/3.5.3/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/r-base/3.6.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/r-base/4.0.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/r-base/4.0.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/r-base/4.0.3/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/rsem/1.3.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/sabre/039a55e/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/salmon/0.8.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/sambamba/0.6.7/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/sambamba/0.6.9/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/samblaster/0.1.24/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/samtools/1.11/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/samtools/1.7/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/sratoolkit/2.8.2/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/star/2.5.3/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/star/2.7.3a/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/subread/1.6.4/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/tophat/2.1.1/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/trimmomatic/0.36/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/ucsc/375/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/ucsc/400/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/ucsc/407/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/umi_tools/0.5.4/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/umi_tools/1.0.0/docker_init.sh
 mode change 100755 => 100644 src/.docker_modules/urqt/d62c1f8/docker_init.sh
 delete mode 120000 src/.singularity_in2p3
 delete mode 120000 src/.singularity_psmn
 create mode 100644 src/chipster.nf
 delete mode 100644 src/example_marseq.nf
 delete mode 100644 src/example_variant_calling.nf
 delete mode 100644 src/fasta_sampler.nf
 mode change 100755 => 100644 src/install_nextflow.sh
 create mode 100644 src/nextflow
 create mode 100644 src/nf_functions/control_ip_processing.nf
 create mode 100644 src/nf_functions/reads_processing.nf
 delete mode 100644 src/solution_RNASeq.nf
 delete mode 100644 src/training_dataset.config
 delete mode 100644 src/training_dataset.nf

diff --git a/.gitignore b/.gitignore
index cb95d125..14809a5a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
-nextflow
+nextflow/
 .nextflow.log*
 .nextflow/
 work/
-results
+results/
 workspace.code-workspace
+public/
diff --git a/src/.docker_modules/alntools/dd96682/docker_init.sh b/src/.docker_modules/alntools/dd96682/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bamutils/1.0.14/docker_init.sh b/src/.docker_modules/bamutils/1.0.14/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bcftools/1.7/docker_init.sh b/src/.docker_modules/bcftools/1.7/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bedops/2.4.39/docker_init.sh b/src/.docker_modules/bedops/2.4.39/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bedtools/2.25.0/docker_init.sh b/src/.docker_modules/bedtools/2.25.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bedtools/2.30.0/docker_init.sh b/src/.docker_modules/bedtools/2.30.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bioawk/1.0/docker_init.sh b/src/.docker_modules/bioawk/1.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bowtie/1.2.2/docker_init.sh b/src/.docker_modules/bowtie/1.2.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bowtie2/2.3.4.1/docker_init.sh b/src/.docker_modules/bowtie2/2.3.4.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/bwa/0.7.17/docker_init.sh b/src/.docker_modules/bwa/0.7.17/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/canu/1.6/docker_init.sh b/src/.docker_modules/canu/1.6/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/crossmap/0.4.1/docker_init.sh b/src/.docker_modules/crossmap/0.4.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/cutadapt/1.14/docker_init.sh b/src/.docker_modules/cutadapt/1.14/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/cutadapt/1.15/docker_init.sh b/src/.docker_modules/cutadapt/1.15/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/cutadapt/2.1/docker_init.sh b/src/.docker_modules/cutadapt/2.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/deeptools/3.0.2/docker_init.sh b/src/.docker_modules/deeptools/3.0.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/deeptools/3.1.1/docker_init.sh b/src/.docker_modules/deeptools/3.1.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/deeptools/3.5.0/docker_init.sh b/src/.docker_modules/deeptools/3.5.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/deeptools/3.5.1/docker_init.sh b/src/.docker_modules/deeptools/3.5.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/docker_push.sh b/src/.docker_modules/docker_push.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/emase-zero/0.3.1/docker_init.sh b/src/.docker_modules/emase-zero/0.3.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/emase/0.10.16/docker_init.sh b/src/.docker_modules/emase/0.10.16/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/fastp/0.19.7/docker_init.sh b/src/.docker_modules/fastp/0.19.7/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/fastp/0.20.1/docker_init.sh b/src/.docker_modules/fastp/0.20.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/fastqc/0.11.5/docker_init.sh b/src/.docker_modules/fastqc/0.11.5/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/file_handle/0.1.1/docker_init.sh b/src/.docker_modules/file_handle/0.1.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/flexi_splitter/1.0.2/docker_init.sh b/src/.docker_modules/flexi_splitter/1.0.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/freebayes/1.3.2/docker_init.sh b/src/.docker_modules/freebayes/1.3.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/g2gtools/0.2.7/docker_init.sh b/src/.docker_modules/g2gtools/0.2.7/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/g2gtools/0.2.8/docker_init.sh b/src/.docker_modules/g2gtools/0.2.8/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/gatk/3.8.0/docker_init.sh b/src/.docker_modules/gatk/3.8.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/gatk/4.0.8.1/docker_init.sh b/src/.docker_modules/gatk/4.0.8.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/gffread/0.11.8/docker_init.sh b/src/.docker_modules/gffread/0.11.8/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/gffread/0.12.2/docker_init.sh b/src/.docker_modules/gffread/0.12.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/hisat2/2.0.0/docker_init.sh b/src/.docker_modules/hisat2/2.0.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/hisat2/2.1.0/docker_init.sh b/src/.docker_modules/hisat2/2.1.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/htseq/0.13.5/docker_init.sh b/src/.docker_modules/htseq/0.13.5/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/htseq/0.8.0/docker_init.sh b/src/.docker_modules/htseq/0.8.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/kallisto/0.43.1/docker_init.sh b/src/.docker_modules/kallisto/0.43.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/kallisto/0.44.0/docker_init.sh b/src/.docker_modules/kallisto/0.44.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/kallistobustools/0.24.4/docker_init.sh b/src/.docker_modules/kallistobustools/0.24.4/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/kallistobustools/0.39.3/docker_init.sh b/src/.docker_modules/kallistobustools/0.39.3/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/kb/0.26.0/docker_init.sh b/src/.docker_modules/kb/0.26.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/kb/0.26.0/t2g.py b/src/.docker_modules/kb/0.26.0/t2g.py
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/kb/0.26.3/docker_init.sh b/src/.docker_modules/kb/0.26.3/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/kb/0.26.3/t2g.py b/src/.docker_modules/kb/0.26.3/t2g.py
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/last/1060/docker_init.sh b/src/.docker_modules/last/1060/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/liftover/357/docker_init.sh b/src/.docker_modules/liftover/357/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/macs2/2.1.2/docker_init.sh b/src/.docker_modules/macs2/2.1.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/macs3/3.0.0a6/docker_init.sh b/src/.docker_modules/macs3/3.0.0a6/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/minimap2/2.17/docker_init.sh b/src/.docker_modules/minimap2/2.17/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/multiqc/1.0/docker_init.sh b/src/.docker_modules/multiqc/1.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/multiqc/1.7/docker_init.sh b/src/.docker_modules/multiqc/1.7/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/multiqc/1.9/docker_init.sh b/src/.docker_modules/multiqc/1.9/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/music/6613c53/docker_init.sh b/src/.docker_modules/music/6613c53/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/pandoc/2.11/docker_init.sh b/src/.docker_modules/pandoc/2.11/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/picard/2.18.11/docker_init.sh b/src/.docker_modules/picard/2.18.11/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/pigz/2.4/docker_init.sh b/src/.docker_modules/pigz/2.4/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/python/3.8/docker_init.sh b/src/.docker_modules/python/3.8/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/r-base/3.5.3/docker_init.sh b/src/.docker_modules/r-base/3.5.3/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/r-base/3.6.2/docker_init.sh b/src/.docker_modules/r-base/3.6.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/r-base/4.0.0/docker_init.sh b/src/.docker_modules/r-base/4.0.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/r-base/4.0.2/docker_init.sh b/src/.docker_modules/r-base/4.0.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/r-base/4.0.3/docker_init.sh b/src/.docker_modules/r-base/4.0.3/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/rsem/1.3.0/docker_init.sh b/src/.docker_modules/rsem/1.3.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/sabre/039a55e/docker_init.sh b/src/.docker_modules/sabre/039a55e/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/salmon/0.8.2/docker_init.sh b/src/.docker_modules/salmon/0.8.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/sambamba/0.6.7/docker_init.sh b/src/.docker_modules/sambamba/0.6.7/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/sambamba/0.6.9/docker_init.sh b/src/.docker_modules/sambamba/0.6.9/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/samblaster/0.1.24/docker_init.sh b/src/.docker_modules/samblaster/0.1.24/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/samtools/1.11/docker_init.sh b/src/.docker_modules/samtools/1.11/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/samtools/1.7/docker_init.sh b/src/.docker_modules/samtools/1.7/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/sratoolkit/2.8.2/docker_init.sh b/src/.docker_modules/sratoolkit/2.8.2/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/star/2.5.3/docker_init.sh b/src/.docker_modules/star/2.5.3/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/star/2.7.3a/docker_init.sh b/src/.docker_modules/star/2.7.3a/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/subread/1.6.4/docker_init.sh b/src/.docker_modules/subread/1.6.4/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/tophat/2.1.1/docker_init.sh b/src/.docker_modules/tophat/2.1.1/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/trimmomatic/0.36/docker_init.sh b/src/.docker_modules/trimmomatic/0.36/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/ucsc/375/docker_init.sh b/src/.docker_modules/ucsc/375/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/ucsc/400/docker_init.sh b/src/.docker_modules/ucsc/400/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/ucsc/407/docker_init.sh b/src/.docker_modules/ucsc/407/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/umi_tools/0.5.4/docker_init.sh b/src/.docker_modules/umi_tools/0.5.4/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/umi_tools/1.0.0/docker_init.sh b/src/.docker_modules/umi_tools/1.0.0/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.docker_modules/urqt/d62c1f8/docker_init.sh b/src/.docker_modules/urqt/d62c1f8/docker_init.sh
old mode 100755
new mode 100644
diff --git a/src/.singularity_in2p3 b/src/.singularity_in2p3
deleted file mode 120000
index 7f86c054..00000000
--- a/src/.singularity_in2p3
+++ /dev/null
@@ -1 +0,0 @@
-/sps/lbmc/common/singularity/
\ No newline at end of file
diff --git a/src/.singularity_psmn b/src/.singularity_psmn
deleted file mode 120000
index 58b1c912..00000000
--- a/src/.singularity_psmn
+++ /dev/null
@@ -1 +0,0 @@
-/Xnfs/abc/singularity/
\ No newline at end of file
diff --git a/src/chipster.nf b/src/chipster.nf
new file mode 100644
index 00000000..2546e99a
--- /dev/null
+++ b/src/chipster.nf
@@ -0,0 +1,136 @@
+#!/usr/bin/env nextflow
+
+nextflow.enable.dsl=2
+
+/* ChIPseq pipeline :
+ * Pipeline that analyses ChIPseq data 
+ * Preprocessing, filtration, alignment, peak calling...
+*/
+
+/*
+ ****************************************************************
+                       parameters
+ ****************************************************************
+*/
+
+/*
+params.paired_end = true
+/* false for single end data, true for paired-end data
+
+@type: Boolean
+*/
+
+params.fastq = "data/tinyTestDataset/fastq/*_{1,2}.fastq"
+/* Fastq files containing ribosome footprint
+
+@type: Files
+*/
+
+params.genome = "data/tinyTestDataset/*.fasta"
+/* A genome file
+
+@type: File
+*/
+
+/*
+params.folder = "project"
+/* project output folder 
+
+@Type: String
+*/
+
+/*
+ ****************************************************************
+                              Logs
+ ****************************************************************
+*/
+
+log.info "fastq files : ${params.fastq}"
+log.info "genome files : ${params.genome}"
+
+/*
+log.info "paired-end data: ${params.paired_end}"
+log.info "output folder results/${params.folder}"
+*/
+
+/*
+ ****************************************************************
+                  Channel definitions
+ ****************************************************************
+*/
+
+/* Raw reads fastq */
+Channel
+  .fromFilePairs( params.fastq )
+  .set { fastq_files }
+
+/* Reference Genome fasa file */
+/* Previous in .fromPath but raise an error : WARN: Input tuple does not 
+   match input set cardinality declared by process `index_fasta` 
+   -- offending value: /home/xavier/Scripts/Pipelines/ChIPster/data/tinyTestDataset/reference.fasta 
+*/
+
+Channel
+  .fromFilePairs( params.genome, size: -1 )
+  .set { genome_file } 
+
+/*
+ ****************************************************************
+                          Imports
+ ****************************************************************
+*/
+
+fastqc_mod = "./nf_modules/fastqc/main.nf"
+include { fastp_default } from "./nf_modules/fastp/main.nf"
+include { fastqc_fastq as fastqc_raw } from fastqc_mod addParams(out: '01_fastqc')
+include { fastqc_fastq as fastqc_preprocessed } from fastqc_mod addParams(out: '02_fastqc_preprocessed')
+include { multiqc } from './nf_modules/multiqc/main.nf' addParams(multiqc_out: "QC/")
+include { index_fasta } from "./nf_modules/bowtie2/main.nf"
+include { mapping_fastq } from "./nf_modules/bowtie2/main.nf"
+include { filter_bam_quality } from "./nf_modules/samtools/main.nf"
+include { sort_bam } from "./nf_modules/samtools/main.nf"
+include { index_bam } from "./nf_modules/samtools/main.nf"
+include { bam_to_bigwig } from "./nf_modules/deeptools/main.nf"
+include { peak_calling } from "./nf_modules/macs3/main.nf"
+
+/*
+ ****************************************************************
+                          Workflow
+ ****************************************************************
+*/
+
+workflow {
+  // fastp
+  fastp_default(fastq_files)
+  // fastqc_rawdata
+  fastqc_raw(fastq_files)
+  // fastqc_processed
+  fastqc_preprocessed(fastp_default.out.fastq)
+  // multiqc
+  multiqc(
+    fastqc_raw.out.report
+    .mix(
+      fastqc_preprocessed.out.report
+      ).collect()
+  )
+  // index reference genome
+  index_fasta(genome_file)
+
+  // mapping preprocessed reads
+  mapping_fastq(index_fasta.out.index.collect(), fastp_default.out.fastq)
+
+  // filter bam - remove reads with quality <30
+  filter_bam_quality(mapping_fastq.out.bam)
+
+  // samtools_sort
+  sort_bam(filter_bam_quality.out.bam)
+
+  // samtools_index
+  index_bam(sort_bam.out.bam.collect())
+
+  // Create a bigwig file
+  bam_to_bigwig(index_bam.out.bam_idx)
+
+  // peak calling using MACS3 
+  // peak_calling(bam_to_bigwig.out.bw)
+}
diff --git a/src/example_marseq.nf b/src/example_marseq.nf
deleted file mode 100644
index 821ebd99..00000000
--- a/src/example_marseq.nf
+++ /dev/null
@@ -1,87 +0,0 @@
-nextflow.enable.dsl=2
-
-/*
-Testing pipeline for marseq scRNASeq analysis
-*/
-
-include { adaptor_removal} from "./nf_modules/cutadapt/main.nf"
-include {
-  index_fasta;
-  count;
-  index_fasta_velocity;
-  count_velocity
-} from "./nf_modules/kb/main.nf" addParams(
-  kb_protocol: "marsseq",
-  count_out: "quantification/",
-  count_velocity_out: "quantification_velocity/"
-)
-
-params.fasta = "http://ftp.ensembl.org/pub/release-94/fasta/gallus_gallus/dna/Gallus_gallus.Gallus_gallus-5.0.dna.toplevel.fa.gz"
-params.fastq = "data/CF42_45/*/*R{1,2}.fastq.gz"
-params.gtf = "http://ftp.ensembl.org/pub/release-94/gtf/gallus_gallus/Gallus_gallus.Gallus_gallus-5.0.94.gtf.gz"
-params.transcript_to_gene = ""
-params.whitelist = "data/expected_whitelist.txt"
-params.config = "data/marseq_flexi_splitter.yaml"
-params.workflow_type = "classic"
-
-log.info "fastq files (--fastq): ${params.fastq}"
-log.info "fasta file (--fasta): ${params.fasta}"
-log.info "gtf file (--gtf): ${params.gtf}"
-log.info "transcript_to_gene file (--transcript_to_gene): ${params.transcript_to_gene}"
-log.info "whitelist file (--whitelist): ${params.whitelist}"
-log.info "config file (--config): ${params.config}"
-
-channel
-  .fromFilePairs( params.fastq, size: -1)
-  .set { fastq_files }
-channel
-  .fromPath( params.fasta )
-  .ifEmpty { error "Cannot find any fasta files matching: ${params.fasta}" }
-  .map { it -> [it.simpleName, it]}
-  .set { fasta_files }
-channel
-  .fromPath( params.gtf )
-  .ifEmpty { error "Cannot find any gtf files matching: ${params.gtf}" }
-  .map { it -> [it.simpleName, it]}
-  .set { gtf_files }
-if (params.whitelist == "") {
-  channel.empty()
-    .set { whitelist_files }
-} else {
-  channel
-    .fromPath( params.whitelist )
-    .map { it -> [it.simpleName, it]}
-    .set { whitelist_files }
-}
-channel
-  .fromPath( params.config )
-  .ifEmpty { error "Cannot find any config files matching: ${params.config}" }
-  .map { it -> [it.simpleName, it]}
-  .set { config_files }
-
-workflow {
-  adaptor_removal(fastq_files)
-  if (params.workflow_type == "classic") {
-    index_fasta(
-      fasta_files,
-      gtf_files
-    )
-    count(
-      index_fasta.out.index,
-      adaptor_removal.out.fastq,
-      index_fasta.out.t2g, whitelist_files,config_files
-    )
-  } else {
-    index_fasta_velocity(
-      fasta_files,
-      gtf_files
-    )
-    count_velocity(
-      index_fasta_velocity.out.index,
-      adaptor_removal.out.fastq,
-      index_fasta_velocity.out.t2g,
-      whitelist_files,
-      config_files
-    )
-  }
-}
diff --git a/src/example_variant_calling.nf b/src/example_variant_calling.nf
deleted file mode 100644
index 5d793ed4..00000000
--- a/src/example_variant_calling.nf
+++ /dev/null
@@ -1,36 +0,0 @@
-nextflow.enable.dsl=2
-
-/*
-Testing pipeline for marseq scRNASeq analysis
-*/
-
-include {
-  mapping;
-} from "./nf_modules/bwa/main.nf"
-
-include {
-  sort_bam;
-} from "./nf_modules/samtools/main.nf"
-
-include {
-  germline_cohort_data_variant_calling;
-} from "./nf_modules/gatk4/main.nf" addParams(
-  variant_calling_out: "vcf/",
-)
-
-params.fastq = ""
-params.fasta = ""
-
-channel
-  .fromFilePairs( params.fastq, size: -1)
-  .set { fastq_files }
-channel
-  .fromPath( params.fasta )
-  .map { it -> [it.simpleName, it]}
-  .set { fasta_files }
-
-workflow {
-  mapping(fasta_files, fastq_files)
-  sort_bam(mapping.out.bam)
-  germline_cohort_data_variant_calling(sort_bam.out.bam, fasta_files)
-}
diff --git a/src/fasta_sampler.nf b/src/fasta_sampler.nf
deleted file mode 100644
index d1200ed4..00000000
--- a/src/fasta_sampler.nf
+++ /dev/null
@@ -1,18 +0,0 @@
-Channel
-  .fromPath( "data/tiny_dataset/fasta/*.fasta" )
-  .set { fasta_file }
-
-process sample_fasta {
-  publishDir "results/sampling/", mode: 'copy'
-
-  input:
-file fasta from fasta_file
-
-  output:
-file "*_sample.fasta" into fasta_sample
-
-  script:
-"""
-head ${fasta} > ${fasta.baseName}_sample.fasta
-"""
-}
diff --git a/src/install_nextflow.sh b/src/install_nextflow.sh
old mode 100755
new mode 100644
diff --git a/src/nextflow b/src/nextflow
new file mode 100644
index 00000000..4a4f0cfd
--- /dev/null
+++ b/src/nextflow
@@ -0,0 +1,465 @@
+#!/usr/bin/env bash
+#
+#  Copyright 2020-2021, Seqera Labs
+#  Copyright 2013-2019, Centre for Genomic Regulation (CRG)
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+[[ "$NXF_DEBUG" == 'x' ]] && set -x
+NXF_VER=${NXF_VER:-'21.04.3'}
+NXF_ORG=${NXF_ORG:-'nextflow-io'}
+NXF_HOME=${NXF_HOME:-$HOME/.nextflow}
+NXF_PROT=${NXF_PROT:-'https'}
+NXF_BASE=${NXF_BASE:-$NXF_PROT://www.nextflow.io/releases}
+NXF_TEMP=${NXF_TEMP:-$TMPDIR}
+NXF_DIST=${NXF_DIST:-$NXF_HOME/framework}
+NXF_CLI="$0 $@"
+
+export NXF_CLI
+export NXF_ORG
+export NXF_HOME
+
+if [[ $TERM && $TERM != 'dumb' ]]; then
+if command -v tput &>/dev/null; then
+GREEN=$(tput setaf 2; tput bold)
+YELLOW=$(tput setaf 3)
+RED=$(tput setaf 1)
+NORMAL=$(tput sgr0)
+fi
+fi
+
+function echo_red() {
+    >&2 echo -e "$RED$*$NORMAL"
+}
+
+function echo_green() {
+    echo -e "$GREEN$*$NORMAL"
+}
+
+function echo_yellow() {
+    >&2 echo -e "$YELLOW$*$NORMAL"
+}
+
+function die() {
+  echo_red "$*"
+  exit 1
+}
+
+function get_abs_filename() {
+  echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
+}
+
+function get() {
+    if command -v curl &>/dev/null; then
+        GET="curl -fsSL '$1' -o '$2'"
+    elif command -v wget &>/dev/null; then
+        GET="wget -q '$1' -O '$2'"
+    else
+        echo_red "ERROR: Cannot find 'curl' nor 'wget' utility --  please install one of them"
+        exit 1
+    fi
+
+    printf "Downloading nextflow dependencies. It may require a few seconds, please wait .. "
+    eval $GET; status=$?
+    printf "\r\033[K"
+    if [ $status -ne 0 ]; then
+        echo_red "ERROR: Cannot download nextflow required file -- make sure you can connect to the internet"
+        echo ""
+        echo "Alternatively you can try to download this file:"
+        echo "    $1"
+        echo ""
+        echo "and save it as:"
+        echo "    ${3:-$2}"
+        echo ""
+        exit 1
+    fi
+}
+
+function make_temp() {
+    local base=${NXF_TEMP:=$PWD}
+    if [ "$(uname)" = 'Darwin' ]; then mktemp "${base}/nxf-tmp.XXXXXX" || exit $?
+    else mktemp -t nxf-tmp.XXXXXX -p "${base}" || exit $?
+    fi
+}
+
+function resolve_link() {
+    [[ ! -f $1 ]] && exit 1
+    if command -v realpath &>/dev/null; then
+      realpath "$1"
+    elif command -v readlink &>/dev/null; then
+      local target="$1"
+      cd $(dirname $target); target=$(basename $target)
+      while [ -L "$target" ]; do
+        target="$(readlink "$target")"
+        cd $(dirname $target); target=$(basename $target)
+      done
+      echo "$(cd "$(dirname "$target")"; pwd -P)/$target"
+    else
+      echo_yellow "WARN: Neither \`realpath\` nor \`readlink\` command can be found"
+      exit 1
+    fi
+}
+
+function current_ver() {
+  [[ $NXF_EDGE == 1 ]] && printf 'edge' || printf 'latest'
+}
+
+function install() {
+    local tmpfile=$(make_temp)
+    local version=$(set +u; [[ $NXF_VER ]] && printf "v$NXF_VER" || current_ver)
+    local action="a=${2:-default}"
+    get "$NXF_BASE/$version/nextflow?$action" "$tmpfile" "$1" || exit $?
+    mv "$tmpfile" "$1" || exit $?
+    chmod +x "$1" || exit $?
+    bash "$1" -download || exit $?
+    echo ''
+    echo -e $'Nextflow installation completed. Please note:'
+    echo -e $'- the executable file `nextflow` has been created in the folder:' $(dirname $1)
+    if [[ ! "$PATH" =~ (^|:)"$(dirname $1)"(:|$) ]]; then
+    echo -e $'- you may complete the installation by moving it to a directory in your $PATH'
+    fi
+    echo ''
+}
+
+function launch_nextflow() {
+    # the launch command line
+    local cmdline=()
+    # remove leading and trailing double-quotes 
+    for x in "${launcher[@]}"; do
+        x="${x%\"}"
+        x="${x#\"}"
+        cmdline+=("$x") 
+    done 
+
+    if [[ $NXF_MPIRUN ]]; then
+        local rank=''
+        [[ $SLURM_PROCID ]] && rank=$SLURM_PROCID
+        [[ $OMPI_COMM_WORLD_RANK ]] && rank=$OMPI_COMM_WORLD_RANK
+        if [[ ! $rank ]]; then
+          echo_red 'It looks you are not running in a MPI enabled environment -- cannot find `$OMPI_COMM_WORLD_RANK` nor `$SLURM_PROCID` variable';
+          exit 1;
+        fi
+        if [[ $SLURM_CPUS_PER_TASK && $SLURM_MEM_PER_CPU ]]; then
+            export NXF_CLUSTER_MAXCPUS=$SLURM_CPUS_PER_TASK
+            export NXF_CLUSTER_MAXMEMORY="$(($SLURM_MEM_PER_CPU*$SLURM_CPUS_PER_TASK))MB"
+        fi
+        if [[ $rank == 0 ]]; then
+            # sleep a few seconds in order to wait worker daemons to bootstrap
+            sleep ${NXF_SLEEP:-10}
+            export NXF_EXECUTOR='ignite'
+            export NXF_CLUSTER_SHUTDOWNONCOMPLETE='true'
+        else
+            args=(-log .nextflow_node_${rank}.log node ignite)
+        fi
+    # start in daemon mode
+    elif [[ "$bg" ]]; then
+      local pid_file="${NXF_PID_FILE:-.nextflow.pid}"
+      cmdline+=("${args[@]}")
+      exec "${cmdline[@]}" &
+      disown
+      echo $! > "$pid_file"
+      exit 0
+    fi
+
+    cmdline+=("${args[@]}")
+    exec "${cmdline[@]}"
+    exit 1
+}
+
+# check self-install
+if [ "$0" = "bash" ] || [ "$0" = "/bin/bash" ]; then
+    if [ -d nextflow ]; then
+        echo 'Please note:'
+        echo "- The install procedure needs to create a file named 'nextflow' in this folder, but a directory with this name already exists."
+        echo "- Please renamed/delete that directory, or execute the Nextflow install procedure in another folder."
+        echo ''
+        exit 1
+    fi
+    install "$PWD/nextflow" install
+    exit 0
+fi
+
+
+# parse the command line
+bg=''
+dockerize=''
+declare -a jvmopts=()
+declare -a args=("$@")
+declare -a commands=(clone config drop help history info ls pull run view node console kuberun)
+cmd=''
+while [[ $# != 0 ]]; do
+    case $1 in
+    -D*)
+      if [[ ! "$cmd" ]]; then
+      jvmopts+=("$1")
+      fi
+      ;;
+    -d|-dockerize)
+      if [[ ! "$cmd" && ! -f /.nextflow/dockerized ]]; then
+      dockerize=1
+      fi
+      ;;
+    -bg)
+      if [[ ! -f /.nextflow/dockerized ]]; then
+      bg=1
+      fi
+      ;;
+    -download)
+      if [[ ! "$cmd" ]]; then
+      rm -rf "$NXF_DIST/$NXF_VER" || exit $?
+      bash "$0" -version || exit $?
+      exit 0
+      fi
+      ;;
+    -self-update|self-update)
+      if [[ ! "$cmd" ]]; then
+      [[ -z $NXF_EDGE && $NXF_VER = *-edge ]] && NXF_EDGE=1
+      unset NXF_VER
+      install "$0" update
+      exit 0
+      fi
+      ;;
+    -process.executor|-executor.name)
+      if [[ $2 && $2 == 'ignite' ]]; then
+      [ ! $NXF_MODE ] && NXF_MODE='ignite'; shift;
+      fi
+      ;;
+    -with-mpi)
+      [ ! $NXF_MODE ] && NXF_MODE='ignite'
+      NXF_MPIRUN='true'
+      ;;
+    *)
+      [[ $1 && $1 != -* && ! "$cmd" && ${commands[*]} =~ $1 ]] && cmd=$1
+      ;;
+    esac
+    shift
+done
+
+NXF_DOCKER_OPTS=${NXF_DOCKER_OPTS:=''}
+if [[ "$dockerize" ]]; then
+  if [[ "$bg" ]]; then detach='--detach '; else detach=''; fi
+  NXF_ASSETS=${NXF_ASSETS:-${NXF_HOME:-$HOME/.nextflow}/assets}
+  mkdir -p "$NXF_ASSETS"
+  exec docker run $detach --rm --net host \
+   -e NXF_ANSI_LOG=false \
+   -e USER -e HOME -e NXF_ASSETS=$NXF_ASSETS -e NXF_USRMAP=$(id -u) -e NXF_DOCKER_OPTS='-u $(id -u)' \
+   -v /var/run/docker.sock:/var/run/docker.sock \
+   -v $HOME:$HOME:ro,Z -v $NXF_ASSETS:$NXF_ASSETS:Z -v $PWD:$PWD:Z -w $PWD $NXF_DOCKER_OPTS \
+   nextflow/nextflow:$NXF_VER nextflow "${args[@]}"
+  exit 1
+fi
+
+CAPSULE_LOG=${CAPSULE_LOG:=''}
+CAPSULE_RESET=${CAPSULE_RESET:=''}
+CAPSULE_CACHE_DIR=${CAPSULE_CACHE_DIR:="$NXF_HOME/capsule"}
+
+NXF_PACK=one
+NXF_MODE=${NXF_MODE:-''}
+NXF_JAR=${NXF_JAR:-nextflow-$NXF_VER-$NXF_PACK.jar}
+NXF_BIN=${NXF_BIN:-$NXF_DIST/$NXF_VER/$NXF_JAR}
+NXF_PATH=$(dirname "$NXF_BIN")
+NXF_URL=${NXF_URL:-$NXF_BASE/v$NXF_VER/$NXF_JAR}
+NXF_GRAB=${NXF_GRAB:-''}
+NXF_CLASSPATH=${NXF_CLASSPATH:-''}
+NXF_MPIRUN=${NXF_MPIRUN:=''}
+NXF_HOST=${HOSTNAME:-localhost}
+[[ $NXF_LAUNCHER ]] || NXF_LAUNCHER=${NXF_HOME}/tmp/launcher/nextflow-${NXF_PACK}_${NXF_VER}/${NXF_HOST}
+
+if [[ $NXF_MODE == ignite ]]; then
+    # Fix JDK bug when there's a limit on the OS virtual memory
+    # https://bugs.openjdk.java.net/browse/JDK-8044054
+    # https://issues.apache.org/jira/browse/HADOOP-7154
+    export MALLOC_ARENA_MAX=4
+fi
+
+# Determine the path to this file
+if [[ $NXF_PACK = all ]]; then
+    NXF_BIN=$(which "$0" 2>/dev/null)
+    [ $? -gt 0 -a -f "$0" ] && NXF_BIN="./$0"
+fi
+
+# use nextflow custom java home path 
+if [[ "$NXF_JAVA_HOME" ]]; then
+  JAVA_HOME="$NXF_JAVA_HOME"
+  unset JAVA_CMD
+fi
+# Determine the Java command to use to start the JVM.
+if [ ! -x "$JAVA_CMD" ] ; then
+    if [ -d "$JAVA_HOME" ] ; then
+        if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+            # IBM's JDK on AIX uses strange locations for the executables
+            JAVA_CMD="$JAVA_HOME/jre/sh/java"
+        else
+            JAVA_CMD="$JAVA_HOME/bin/java"
+        fi
+    elif [ -x /usr/libexec/java_home ]; then
+        JAVA_CMD="$(/usr/libexec/java_home -v 1.8+)/bin/java"
+    else
+        JAVA_CMD="$(which java)" || JAVA_CMD=java
+    fi
+fi
+
+# Retrieve the java version from a NF local file
+JAVA_KEY="$NXF_HOME/tmp/ver/$(resolve_link "$JAVA_CMD" | sed 's@/@.@g')"
+if [ -f "$JAVA_KEY" ]; then
+  JAVA_VER="$(cat "$JAVA_KEY")"
+else
+  JAVA_VER="$("$JAVA_CMD" $NXF_OPTS -version 2>&1)"
+  if [ $? -ne 0 ]; then
+      echo_red "${JAVA_VER:-Failed to launch the Java virtual machine}"
+      echo_yellow "NOTE: Nextflow is trying to use the Java VM defined by the following environment variables:\n JAVA_CMD: $JAVA_CMD\n NXF_OPTS: $NXF_OPTS\n"
+      exit 1
+  fi
+  JAVA_VER=$(echo "$JAVA_VER" | awk '/version/ {gsub(/"/, "", $3); print $3}')
+  # check NF version
+  if [[ ! $NXF_VER =~ ([0-9]+)\.([0-9]+)\.([0-9].*) ]]; then
+    echo_red "Not a valid Nextflow version: $NXF_VER"
+    exit 1
+  fi
+  major=${BASH_REMATCH[1]}
+  minor=${BASH_REMATCH[2]}
+  # legacy version - Java 7/8 only
+  if [ $major -eq 0 ] && [ $minor -lt 26 ]; then
+    version_check="^(1.7|1.8)"
+    version_message="Java 7 or 8"
+  else
+    version_check="^(1.8|9|10|11|12|13|14|15)"
+    version_message="Java 8 or later"
+  fi
+  if [[ ! $JAVA_VER =~ $version_check ]]; then
+      echo_red "ERROR: Cannot find Java or it's a wrong version -- please make sure that $version_message is installed"
+      if [[ "$NXF_JAVA_HOME" ]]; then
+      echo_yellow "NOTE: Nextflow is trying to use the Java VM defined by the following environment variables:\n JAVA_CMD: $JAVA_CMD\n NXF_JAVA_HOME: $NXF_JAVA_HOME\n"
+      else
+      echo_yellow "NOTE: Nextflow is trying to use the Java VM defined by the following environment variables:\n JAVA_CMD: $JAVA_CMD\n JAVA_HOME: $JAVA_HOME\n"
+      fi
+      exit 1
+  fi
+  if [[ ! $JAVA_VER =~ ^(1.8|9|10|11|12|13|14|15) ]]; then
+      echo_yellow "NOTE: Nextflow is not tested with Java $JAVA_VER -- It's recommended the use of version 8 up to 15\n"
+  elif [[ ! $JAVA_VER =~ ^(1.8|9|10|11) && $NXF_MODE == ignite ]]; then
+      echo_yellow "WARN: Apache Ignite executor is not tested with Java $JAVA_VER -- It's recommended the use of version 8 up to 11\n"
+  fi
+  mkdir -p $(dirname "$JAVA_KEY")
+  [[ -f $JAVA_VER ]] && echo $JAVA_VER > "$JAVA_KEY"
+fi
+
+# Verify nextflow jar is available
+if [ ! -f "$NXF_BIN" ]; then
+    [ -f "$NXF_PATH" ] && rm "$NXF_PATH"
+    mkdir -p "$NXF_PATH" || exit $?
+    tmpfile=$(make_temp)
+    get "$NXF_URL" "$tmpfile" "$NXF_BIN"
+    mv "$tmpfile" "$NXF_BIN"
+fi
+
+COLUMNS=${COLUMNS:-`tty -s && tput cols 2>/dev/null || true`}
+declare -a JAVA_OPTS=()
+JAVA_OPTS+=(-Dfile.encoding=UTF-8 -Dcapsule.trampoline -Dcapsule.java.cmd="$JAVA_CMD")
+if [[ $cmd == console ]]; then bg=1;
+else JAVA_OPTS+=(-Djava.awt.headless=true)
+fi
+
+[[ "$JAVA_HOME" ]] && JAVA_OPTS+=(-Dcapsule.java.home="$JAVA_HOME")
+[[ "$CAPSULE_LOG" ]] && JAVA_OPTS+=(-Dcapsule.log=$CAPSULE_LOG)
+[[ "$CAPSULE_RESET" ]] && JAVA_OPTS+=(-Dcapsule.reset=true)
+[[ "$cmd" != "run" && "$cmd" != "node" ]] && JAVA_OPTS+=(-XX:+TieredCompilation -XX:TieredStopAtLevel=1)
+[[ "$NXF_OPTS" ]] && JAVA_OPTS+=($NXF_OPTS)
+[[ "$NXF_CLASSPATH" ]] && export NXF_CLASSPATH
+[[ "$NXF_GRAB" ]] && export NXF_GRAB
+[[ "$COLUMNS" ]] && export COLUMNS
+[[ "$NXF_TEMP" ]] && JAVA_OPTS+=(-Djava.io.tmpdir="$NXF_TEMP")
+[[ "${jvmopts[@]}" ]] && JAVA_OPTS+=("${jvmopts[@]}")
+export JAVA_CMD
+export CAPSULE_CACHE_DIR
+export NXF_PLUGINS_DIR
+export NXF_PLUGINS_MODE
+export NXF_PLUGINS_DEFAULT
+export NXF_PACK
+
+# lookup the a `md5` command
+if hash md5sum 2>/dev/null; then MD5=md5sum;
+elif hash gmd5sum 2>/dev/null; then MD5=gmd5sum;
+elif hash md5 2>/dev/null; then MD5=md5;
+else MD5=''
+fi
+
+# when no md5 command is available fallback on default execution
+if [ ! "$MD5" ] || [ "$CAPSULE_RESET" ]; then
+    launcher=($("$JAVA_CMD" "${JAVA_OPTS[@]}" -jar "$NXF_BIN"))
+    launch_nextflow
+    exit 1
+fi
+
+# creates a md5 unique for the given variables
+env_md5() {
+cat <<EOF | $MD5 | cut -f1 -d' '
+$JAVA_CMD
+$JAVA_VER
+${JAVA_OPTS[@]}
+$NXF_HOME
+$NXF_VER
+$NXF_OPTS
+$NXF_GRAB
+$NXF_CLASSPATH
+EOF
+}
+
+# checked if a cached classpath file exists and it newer that the nextflow boot jar file
+if [[ -f /.nextflow/dockerized ]]; then
+  LAUNCH_FILE=/.nextflow/launch-classpath
+else
+  LAUNCH_FILE="${NXF_LAUNCHER}/classpath-$(env_md5)"
+fi
+if [ -s "$LAUNCH_FILE" ] && [ "$LAUNCH_FILE" -nt "$NXF_BIN" ]; then
+    launcher=($(cat "$LAUNCH_FILE"))
+else
+    # otherwise run the capsule and get the result classpath in the 'launcher' and save it to a file
+    cli=($("$JAVA_CMD" "${JAVA_OPTS[@]}" -jar "$NXF_BIN"))
+    [[ $? -ne 0 ]] && echo_red 'Unable to initialize nextflow environment' && exit 1
+
+    if [[ "$JAVA_VER" =~ ^(9|10|11|12|13|14|15) ]]; then
+      launcher=("${cli[@]:0:1}")
+      launcher+=(--add-opens=java.base/java.lang=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/java.io=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/java.nio=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/java.util=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/java.nio.file.spi=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/sun.nio.ch=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/sun.nio.fs=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/sun.net.www.protocol.https=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/sun.net.www.protocol.file=ALL-UNNAMED)
+      launcher+=(--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED)
+      launcher+=(--illegal-access=deny)
+      launcher+=("${cli[@]:1}")
+    else
+      launcher=("${cli[@]}")
+    fi
+
+    # Don't show errors if the LAUNCH_FILE can't be created
+    if mkdir -p "${NXF_LAUNCHER}" 2>/dev/null; then
+        STR=''
+        for x in "${launcher[@]}"; do
+        [[ "$x" != "\"-Duser.dir=$PWD\"" ]] && STR+="$x "
+        done
+        printf "$STR">"$LAUNCH_FILE"
+    else
+        echo_yellow "Warning: Couldn't create cached classpath folder: $NXF_LAUNCHER -- Maybe NXF_HOME is not writable?"
+    fi
+
+fi
+
+# finally run it
+launch_nextflow
diff --git a/src/nextflow.config b/src/nextflow.config
index 05a44103..ffe70eb3 100644
--- a/src/nextflow.config
+++ b/src/nextflow.config
@@ -18,7 +18,6 @@ profiles {
     docker.enabled = true
     process {
       errorStrategy = 'finish'
-      memory = '16GB'
       withLabel: big_mem_mono_cpus {
         cpus = 1
       }
@@ -40,7 +39,6 @@ profiles {
     singularity.cacheDir = "./bin/"
     process {
       errorStrategy = 'finish'
-      memory = '16GB'
       withLabel: big_mem_mono_cpus {
         cpus = 1
       }
diff --git a/src/nf_functions/control_ip_processing.nf b/src/nf_functions/control_ip_processing.nf
new file mode 100644
index 00000000..6f0fd325
--- /dev/null
+++ b/src/nf_functions/control_ip_processing.nf
@@ -0,0 +1,24 @@
+bam_files_control = Channel.create()
+bam_files_ip = Channel.create()
+sorted_bam_files_macs2
+  .map {
+    file ->
+    def file_name = file[1].name.toString()
+    def key = (file_name =~ /(.+)\_[^_]+\_sorted\.bam/)[0][1]
+    return tuple(key, file)
+  }
+	.groupTuple()
+  .map{
+    file_list ->
+    def input_list = [file_list[0]]
+    def ip_list = []
+    for (files in file_list[1]) {
+      if (files[0] =~ /.*${params.control_tag}.*/) {
+        input_list.add(files[1])
+      } else {
+        ip_list.add(files[1])
+      }
+    }
+    return [input_list, ip_list]
+  }
+  .separate( bam_files_control, bam_files_ip){a -> [a[0], a[1]]}
\ No newline at end of file
diff --git a/src/nf_functions/reads_processing.nf b/src/nf_functions/reads_processing.nf
new file mode 100644
index 00000000..35fb2b28
--- /dev/null
+++ b/src/nf_functions/reads_processing.nf
@@ -0,0 +1,5 @@
+def merge_channels(report1, report2) {
+
+  return report1.concat(report2).collect()
+
+}
\ No newline at end of file
diff --git a/src/nf_modules/multiqc/main.nf b/src/nf_modules/multiqc/main.nf
index f33386d2..faf4c6d9 100644
--- a/src/nf_modules/multiqc/main.nf
+++ b/src/nf_modules/multiqc/main.nf
@@ -5,7 +5,7 @@
 
 /*
 include { multiqc } 
-  from './nf_modules/multiqc/main'
+  from './nf_modules/multiqc/main.nf'
   addParams(
     multiqc_out: "QC/"
   )
diff --git a/src/solution_RNASeq.nf b/src/solution_RNASeq.nf
deleted file mode 100644
index 23adf099..00000000
--- a/src/solution_RNASeq.nf
+++ /dev/null
@@ -1,34 +0,0 @@
-nextflow.enable.dsl=2
-
-include { fastp } from "./nf_modules/fastp/main.nf"
-include { fasta_from_bed } from "./nf_modules/bedtools/main.nf"
-include { index_fasta; mapping_fastq } from './nf_modules/kallisto/main.nf' addParams(mapping_fastq_out: "quantification/")
-
-
-params.fastq = "data/fastq/*_{1,2}.fastq"
-
-log.info "fastq files: ${params.fastq}"
-log.info "fasta file : ${params.fasta}"
-log.info "bed file : ${params.bed}"
-
-channel
-  .fromFilePairs( params.fastq, size: -1)
-  .set { fastq_files }
-
-channel
-  .fromPath( params.fasta )
-  .ifEmpty { error "Cannot find any fasta files matching: ${params.fasta}" }
-  .map { it -> [it.simpleName, it]}
-  .set { fasta_files }
-channel
-  .fromPath( params.bed )
-  .ifEmpty { error "Cannot find any bed files matching: ${params.bed}" }
-  .map { it -> [it.simpleName, it]}
-  .set { bed_files }
-
-workflow {
-  fastp(fastq_files)
-  fasta_from_bed(fasta_files, bed_files)
-  index_fasta(fasta_from_bed.out.fasta)
-  mapping_fastq(index_fasta.out.index.collect(), fastp.out.fastq)
-}
diff --git a/src/training_dataset.config b/src/training_dataset.config
deleted file mode 100644
index 734a7410..00000000
--- a/src/training_dataset.config
+++ /dev/null
@@ -1,370 +0,0 @@
-profiles {
-  docker {
-    docker.temp = "auto"
-    docker.enabled = true
-    process {
-      withName: build_synthetic_bed {
-        container = "lbmc/bedtools:2.25.0"
-        cpus = 1
-      }
-      withName: fasta_from_bed {
-        container = "lbmc/bedtools:2.25.0"
-        cpus = 1
-      }
-      withName: index_fasta {
-        container = "lbmc/bowtie2:2.3.4.1"
-        cpus = 4
-      }
-      withName: mapping_fastq_paired {
-        container = "lbmc/bowtie2:2.3.4.1"
-        cpus = 4
-      }
-      withName: bam_2_fastq_paired {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: filter_bam_paired {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: sort_bam_paired {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: index_bam_paired {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: mapping_fastq_single {
-        container = "lbmc/bowtie2:2.3.4.1"
-        cpus = 4
-      }
-      withName: bam_2_fastq_single {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: filter_bam_single {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: sort_bam_single {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: index_bam_single {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-    }
-  }
-  singularity {
-    singularity.enabled = true
-    singularity.cacheDir = "./bin/"
-    process {
-      withName: build_synthetic_bed {
-        container = "lbmc/bedtools:2.25.0"
-        cpus = 1
-      }
-      withName: fasta_from_bed {
-        container = "lbmc/bedtools:2.25.0"
-        cpus = 1
-      }
-      withName: index_fasta {
-        container = "lbmc/bowtie2:2.3.4.1"
-        cpus = 4
-      }
-      withName: mapping_fastq_single {
-        container = "lbmc/bowtie2:2.3.4.1"
-        cpus = 4
-      }
-      withName: mapping_fastq_paired {
-        container = "lbmc/bowtie2:2.3.4.1"
-        cpus = 4
-      }
-      withName: bam_2_fastq_paired {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: filter_bam_paired {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: sort_bam_paired {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: index_bam_paired {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: bam_2_fastq_single {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: filter_bam_single {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: sort_bam_single {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-      withName: index_bam_single {
-        container = "lbmc/samtools:1.7"
-        cpus = 4
-      }
-    }
-  }
-  psmn {
-    process{
-      withName: build_synthetic_bed {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/bedtools_2.25.0"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 1
-        memory = "20GB"
-        time = "12h"
-        queue = "monointeldeb128"
-      }
-      withName: fasta_from_bed {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/bedtools_2.25.0"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 1
-        memory = "20GB"
-        time = "12h"
-        queue = "monointeldeb128"
-      }
-      withName: index_fasta {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/bowtie2_2.3.4.1"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "20GB"
-        time = "12h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-      withName: mapping_fastq_paired {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/bowtie2_2.3.4.1"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "30GB"
-        time = "24h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-      withName: bam_2_fastq_paired {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/samtools_1.7"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "30GB"
-        time = "24h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-      withName: sort_bam_paired {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/samtools_1.7"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "30GB"
-        time = "24h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-      withName: index_bam_paired {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/samtools_1.7"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "30GB"
-        time = "24h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-      withName: mapping_fastq_single {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/bowtie2_2.3.4.1"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "30GB"
-        time = "24h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-      withName: bam_2_fastq_single {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/samtools_1.7"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "30GB"
-        time = "24h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-      withName: sort_bam_single {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/samtools_1.7"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "30GB"
-        time = "24h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-      withName: index_bam_single {
-        beforeScript = "source $baseDir/.conda_psmn.sh"
-        conda = "$baseDir/.conda_envs/samtools_1.7"
-        executor = "sge"
-        clusterOptions = "-m e -cwd -V"
-        cpus = 32
-        memory = "30GB"
-        time = "24h"
-        queue = "CLG6242deb384A,CLG6242deb384C,CLG5218deb192A,CLG5218deb192B,CLG5218deb192C,CLG5218deb192D,SLG5118deb96,SLG6142deb384A,SLG6142deb384B,SLG6142deb384C,SLG6142deb384D"
-        penv = "openmp32"
-      }
-    }
-  }
-  ccin2p3 {
-    singularity.enabled = true
-    singularity.cacheDir = "$baseDir/.singularity_in2p3/"
-    singularity.runOptions = "--bind /pbs,/sps,/scratch"
-    process{
-      withName: fasta_from_bed {
-        container = "lbmc/bedtools:2.25.0"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-    }
-    process{
-      withName: build_synthetic_bed {
-        container = "lbmc/bedtools:2.25.0"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: fasta_from_bed {
-        container = "lbmc/bedtools:2.25.0"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: index_fasta {
-        container = "lbmc/bowtie2:2.3.4.1"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: mapping_fastq_paired {
-        container = "lbmc/bowtie2:2.3.4.1"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: bam_2_fastq_paired {
-        container = "lbmc/samtools:1.7"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: sort_bam_paired {
-        container = "lbmc/samtools:1.7"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: index_bam_paired {
-        container = "lbmc/samtools:1.7"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: mapping_fastq_single {
-        container = "lbmc/bowtie2:2.3.4.1"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: bam_2_fastq_single {
-        container = "lbmc/samtools:1.7"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: sort_bam_single {
-        container = "lbmc/samtools:1.7"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-      withName: index_bam_single {
-        container = "lbmc/samtools:1.7"
-        scratch = true
-        stageInMode = "copy"
-        stageOutMode = "rsync"
-        executor = "sge"
-        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n"
-        cpus = 1
-        queue = "huge"
-      }
-    }
-  }
-}
diff --git a/src/training_dataset.nf b/src/training_dataset.nf
deleted file mode 100644
index c6f48e88..00000000
--- a/src/training_dataset.nf
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
-small pipeline to build a training dataset from whole genome data
-
-input:
-- fasta
-- fastq
-- chromosome
-- start position
-- stop position
-
-output:
-- sort fasta
-- sort fastq
-
-example for paired-end data:
-./nextflow src/training_dataset.nf -c src/training_dataset.config --fasta "data/genome.fa" --fastq_paired "data/*_R{1,2}.fastq.gz" --chromosome "X" --start 5305683 --stop 5333928 -resume
-
-example for single-end data:
-./nextflow src/training_dataset.nf -c src/training_dataset.config --fasta "data/genome.fa" --fastq_single  "data/*_R1.fastq.gz"  --chromosome "X" --start 5305683 --stop 5333928 -resume
-
-*/
-
-params.fastq_paired = ""
-params.fastq_single = ""
-
-log.info "fasta files : ${params.fasta}"
-log.info "fastq paired files : ${params.fastq_paired}"
-log.info "fastq single files : ${params.fastq_single}"
-log.info "chromosome : ${params.chromosome}"
-log.info "start position : ${params.start}"
-log.info "stop position : ${params.stop}"
-
-
-Channel
-  .fromPath( params.fasta )
-  .ifEmpty { error "Cannot find any index files matching: ${params.fasta}" }
-  .set { fasta_file }
-
-
-process build_synthetic_bed {
-  tag "${chromosome}:${start}-${stop}"
-  cpus 4
-
-  input:
-  val chromosome from params.chromosome
-  val start from params.start
-  val stop from params.stop
-
-  output:
-  file "*.bed" into bed_files
-
-  script:
-"""
-echo "${chromosome}\t${start}\t${stop}" > synthetic.bed
-"""
-}
-
-process fasta_from_bed {
-  tag "${fasta.baseName}"
-  cpus 4
-  publishDir "results/training/fasta/", mode: 'copy'
-
-  input:
-  file fasta from fasta_file
-  file bed from bed_files
-  val chromosome from params.chromosome
-
-  output:
-  file "*.fasta" into fasta_files_extracted
-
-  script:
-"""
-bedtools getfasta \
--fi ${fasta} -bed ${bed} -fo s${fasta.baseName}.fasta
-"""
-}
-
-process index_fasta {
-  tag "$fasta.baseName"
-  cpus 4
-  publishDir "results/training/mapping/index/", mode: 'copy'
-
-  input:
-    file fasta from fasta_files_extracted
-
-  output:
-    file "*.index*" into index_files
-    file "*_report.txt" into indexing_report
-
-  script:
-"""
-bowtie2-build --threads ${task.cpus} ${fasta} ${fasta.baseName}.index &> ${fasta.baseName}_bowtie2_report.txt
-
-if grep -q "Error" ${fasta.baseName}_bowtie2_report.txt; then
-  exit 1
-fi
-"""
-}
-
-if ( params.fastq_paired != "" ) {
-  Channel
-    .fromFilePairs( params.fastq_paired )
-    .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq_paired}" }
-    .set { fastq_files_paired }
-
-  process mapping_fastq_paired {
-    tag "$pair_id"
-    cpus 4
-
-    input:
-    set pair_id, file(reads) from fastq_files_paired
-    file index from index_files.collect()
-
-    output:
-    set pair_id, "*.bam" into bam_files_paired
-    file "*_report.txt" into mapping_report
-
-    script:
-    index_id = index[0]
-    for (index_file in index) {
-      if (index_file =~ /.*\.1\.bt2/ && !(index_file =~ /.*\.rev\.1\.bt2/)) {
-          index_id = ( index_file =~ /(.*)\.1\.bt2/)[0][1]
-      }
-    }
-  """
-  bowtie2 --very-sensitive -p ${task.cpus} -x ${index_id} \
-  -1 ${reads[0]} -2 ${reads[1]} 2> \
-  ${pair_id}_bowtie2_report.txt | \
-  samtools view -Sb - > ${pair_id}.bam
-
-  if grep -q "Error" ${pair_id}_bowtie2_report.txt; then
-    exit 1
-  fi
-  """
-  }
-
-  bam_files_paired.into{ bam_files_paired_fa; bam_files_paired_ba}
-
-  process bam_2_fastq_paired {
-    tag "$file_id"
-    publishDir "results/training/fastq/", mode: 'copy'
-
-    input:
-      set file_id, file(bam) from bam_files_paired_fa
-
-    output:
-      set file_id, "*.fastq" into fastq_files_extracted
-    script:
-  """
-  samtools fastq -1 s${file_id}_R1.fastq -2 s${file_id}_R2.fastq -F 0x4 ${bam}
-  """
-  }
-
-  process filter_bam_paired {
-    tag "$file_id"
-    cpus 4
-
-    input:
-      set file_id, file(bam) from bam_files_paired_ba
-      file bed from bed_files
-
-    output:
-      set file_id, "*.bam" into filtered_bam_files_paired
-    script:
-  """
-  samtools view -@ ${task.cpus} -hb ${bam} -F 0x4 > f${file_id}.bam
-  """
-  }
-
-  process sort_bam_paired {
-    tag "$file_id"
-    publishDir "results/training/bams/", mode: 'copy'
-    cpus 4
-
-    input:
-      set file_id, file(bam) from filtered_bam_files_paired
-
-    output:
-      set file_id, "*.bam" into sorted_bam_files_paired
-
-    script:
-  """
-  samtools sort -@ ${task.cpus} -O BAM -o s${file_id}.bam ${bam}
-  """
-  }
-
-  process index_bam_paired {
-    tag "$file_id"
-    publishDir "results/training/bams/", mode: 'copy'
-
-    input:
-      set file_id, file(bam) from sorted_bam_files_paired
-
-    output:
-      set file_id, "*.bam*" into indexed_bam_file_paired
-
-    script:
-  """
-  samtools index ${bam}
-  """
-  }
-}
-
-
-if ( params.fastq_single != "" ) {
-  Channel
-    .fromPath( params.fastq_single )
-    .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq_single}" }
-    .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]}
-    .set { fastq_files_single }
-
-  process mapping_fastq_single {
-    tag "$file_id"
-    cpus 4
-
-    input:
-    set file_id, file(reads) from fastq_files_single
-    file index from index_files.collect()
-
-    output:
-    set file_id, "*.bam" into bam_files_single
-    file "*_report.txt" into mapping_report
-
-    script:
-    index_id = index[0]
-    for (index_file in index) {
-      if (index_file =~ /.*\.1\.bt2/ && !(index_file =~ /.*\.rev\.1\.bt2/)) {
-          index_id = ( index_file =~ /(.*)\.1\.bt2/)[0][1]
-      }
-    }
-  """
-  bowtie2 --very-sensitive -p ${task.cpus} -x ${index_id} \
-  -U ${reads} 2> \
-  ${file_id}_bowtie2_report.txt | \
-  samtools view -Sb - > ${file_id}.bam
-
-  if grep -q "Error" ${file_id}_bowtie2_report.txt; then
-    exit 1
-  fi
-  """
-  }
-
-  bam_files_single.into{ bam_files_single_fa; bam_files_single_ba}
-
-  process bam_2_fastq_single {
-    tag "$file_id"
-
-    input:
-      set file_id, file(bam) from bam_files_single_fa
-
-    output:
-      set file_id, "*.fastq" into fastq_files_extracted
-    script:
-  """
-  samtools fastq -0 s${file_id}.fastq -F 0x4 ${bam}
-  """
-  }
-
-  process filter_bam_single {
-    tag "$file_id"
-    cpus 4
-
-    input:
-      set file_id, file(bam) from bam_files_single_ba
-      file bed from bed_files
-
-    output:
-      set file_id, "*.bam" into filtered_bam_files_single
-    script:
-  """
-  samtools view -@ ${task.cpus} -hb ${bam} -F 0x4 > f${file_id}.bam
-  """
-  }
-
-  process sort_bam_single {
-    tag "$file_id"
-    publishDir "results/training/bams/", mode: 'copy'
-    cpus 4
-
-    input:
-      set file_id, file(bam) from filtered_bam_files_single
-
-    output:
-      set file_id, "*.bam" into sorted_bam_files_single
-
-    script:
-  """
-  samtools sort -@ ${task.cpus} -O BAM -o s${file_id}.bam ${bam}
-  """
-  }
-
-  process index_bam_single {
-    tag "$file_id"
-    publishDir "results/training/bams/", mode: 'copy'
-
-    input:
-      set file_id, file(bam) from sorted_bam_files_single
-
-    output:
-      set file_id, "*.bam*" into indexed_bam_file_single
-
-    script:
-  """
-  samtools index ${bam}
-  """
-  }
-}
-
-- 
GitLab