diff --git a/src/RNAseq.config b/src/RNAseq.config
index ed42799d9cc1e9a8d3c532a61f3918d3c727cfbd..5d949d41d9de0ca5d7d1fac2b0da77af36c5970b 100644
--- a/src/RNAseq.config
+++ b/src/RNAseq.config
@@ -51,3 +51,113 @@ profiles {
     }
   }
 }
+
+profiles {
+  docker {
+    docker.temp = 'auto'
+    docker.enabled = true
+    process {
+      withName: trimming {
+        cpus = 4
+        container = "lbmc/urqt:d62c1f8"
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    singularity.cacheDir = "./bin/"
+    process {
+      withName: trimming {
+        cpus = 4
+        container = "lbmc/urqt:d62c1f8"
+      }
+    }
+  }
+  psmn{
+    process{
+      withName: trimming {
+        beforeScript = "source $baseDir/.conda_psmn.sh"
+        conda = "$baseDir/.conda_envs/urqt_d62c1f8"
+        executor = "sge"
+        clusterOptions = "-cwd -V"
+        memory = "5GB"
+        cpus = 16
+        time = "12h"
+        queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
+        penv = 'openmp16'
+      }
+    }
+  }
+  ccin2p3 {
+    singularity.enabled = true
+    singularity.cacheDir = "$baseDir/.singularity_in2p3/"
+    singularity.runOptions = "--bind /pbs,/sps,/scratch"
+    process{
+      withName: trimming {
+        container = "lbmc/urqt:d62c1f8"
+        scratch = true
+        stageInMode = "copy"
+        stageOutMode = "rsync"
+        executor = "sge"
+        clusterOptions = "-P P_lbmc -l os=cl7 -l sps=1 -r n\
+        "
+        cpus = 1
+        queue = 'huge'
+      }
+    }
+  }
+}
+
+profiles {
+  docker {
+    docker.temp = 'auto'
+    docker.enabled = true
+    process {
+      withName: fasta_from_bed {
+        container = "lbmc/bedtools:2.25.0"
+        cpus = 1
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    singularity.cacheDir = "./bin/"
+    process {
+      withName: fasta_from_bed {
+        container = "lbmc/bedtools:2.25.0"
+        cpus = 1
+      }
+    }
+  }
+  psmn{
+    process{
+      withName: fasta_from_bed {
+        beforeScript = "source $baseDir/.conda_psmn.sh"
+        conda = "$baseDir/.conda_envs/bedtools_2.25.0"
+        executor = "sge"
+        clusterOptions = "-cwd -V"
+        cpus = 1
+        memory = "20GB"
+        time = "12h"
+        queue = 'monointeldeb128,monointeldeb48,h48-E5-2670deb128,h6-E5-2667v4deb128'
+      }
+    }
+  }
+  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'
+      }
+    }
+  }
+}
diff --git a/src/RNAseq.nf b/src/RNAseq.nf
index f78d5c2dab0c8a83fd105c5eaddbbc1fd8c4e13e..e9c859d7ac798005a919ec2e9d4345cb88fdff6e 100644
--- a/src/RNAseq.nf
+++ b/src/RNAseq.nf
@@ -1,10 +1,22 @@
 log.info "fastq files : ${params.fastq}"
+log.info "fasta file : ${params.fasta}"
+log.info "bed file : ${params.bed}"
+
 
 Channel
   .fromFilePairs( params.fastq )
   .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
   .set { fastq_files }
 
+Channel
+  .fromPath( params.fasta )
+  .ifEmpty { error "Cannot find any fasta files matching: ${params.fasta}" }
+  .set { fasta_files }
+Channel
+  .fromPath( params.bed )
+  .ifEmpty { error "Cannot find any bed files matching: ${params.bed}" }
+  .set { bed_files }
+
 process adaptor_removal {
   tag "$pair_id"
   publishDir "results/fastq/adaptor_removal/", mode: 'copy'
@@ -22,3 +34,55 @@ process adaptor_removal {
   ${reads[0]} ${reads[1]} > ${pair_id}_report.txt
   """
 }
+
+process trimming {
+  tag "${reads}"
+  publishDir "results/fastq/trimming/", mode: 'copy'
+
+  input:
+  set pair_id, file(reads) from fastq_files_cut
+
+  output:
+  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 ${pair_id}_trim_R1.fastq.gz --outpair ${pair_id}_trim_R2.fastq.gz \
+> ${pair_id}_trimming_report.txt
+"""
+}
+
+/*
+* bedtools :
+* Imputs : fasta files
+* Imputs : bed files
+* Output : fasta files
+*/
+/*                      fasta extraction                                     */
+
+params.fasta = "$baseDir/data/fasta/*.fasta"
+params.bed = "$baseDir/data/annot/*.bed"
+
+
+
+
+
+process fasta_from_bed {
+  tag "${bed.baseName}"
+  publishDir "results/fasta/", mode: 'copy'
+
+  input:
+  file fasta from fasta_files
+  file bed from bed_files
+
+  output:
+  file "*_extracted.fasta" into fasta_files_extracted
+
+  script:
+"""
+bedtools getfasta -name \
+-fi ${fasta} -bed ${bed} -fo ${bed.baseName}_extracted.fasta
+"""
+}