diff --git a/src/nf_modules/Ribowave/10_ribowave.nf b/src/nf_modules/Ribowave/10_ribowave.nf
new file mode 100644
index 0000000000000000000000000000000000000000..9819ff187c3e10ad937f7c54343ba3d200c071e3
--- /dev/null
+++ b/src/nf_modules/Ribowave/10_ribowave.nf
@@ -0,0 +1,121 @@
+/*
+* Ribowave :
+* Inputs : gtf genome files
+* Inputs : bam file
+* Inputs : genome size file
+*/
+
+/* 		PARAMETERS		 */
+
+params.gtf = ""
+params.genome = ""
+params.bam = ""
+params.genomesize = ""
+
+log.info "gtf file : ${params.gtf}"
+log.info "genome fasta file : ${params.genome}"
+log.info "bam file(s) : ${params.bam}"
+log.info "genomesize file : ${params.genomesize}"
+
+Channel
+  .fromPath( params.gtf )
+  .ifEmpty { error "Cannot find any fasta files matching: ${params.gtf}" }
+  .set { gtf_file }
+Channel
+  .fromPath( params.genome )
+  .ifEmpty { error "Cannot find any fasta files matching: ${params.genome}" }
+  .set { genome_file }
+Channel
+  .fromPath( params.bam )
+  .ifEmpty { error "Cannot find any fastq files matching: ${params.bam}" }
+  .set { bam_files }
+bam_files.into {bam_deter_P_site ; bam_track_P_site ; bam_ribowave}
+Channel
+  .fromPath( params.genomesize )
+  .ifEmpty { error "Cannot find any index files matching: ${params.genomesize}" }
+  .set { genomesize_file }
+
+
+/*		CREATE ANNOTATION		*/
+
+process create_annot {
+  publishDir "results/ribowave/annotation", mode: 'copy'
+
+  input:
+    file gtf from gtf_file
+    file genome from genome_file
+
+  output:
+    file "*" into annot_file
+    file "start_codon.bed" into start_codon_channel
+    file "exons.gtf" into exon_gtf_channel
+    file "final.ORFs" into finalORF_channel
+
+  script:
+"""
+/Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts/create_annotation.sh -G ${gtf} -f ${genome}  -o ./  -s /Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts
+"""
+}
+
+
+/*		P-site determination		*/
+
+process determination_P_site {
+  tag "$bam.baseName"
+  publishDir "results/ribowave/", mode: 'copy'
+
+  input:
+  file bam from bam_deter_P_site
+  file start from start_codon_channel
+
+  output:
+  file "*" into p_site_channel
+  file "P-site/*1nt.txt" into psite1nt_channel
+
+  script:
+"""
+/Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts/P-site_determination.sh -i ${bam} -S ${start} -o ./ -n ${bam.baseName} -s /Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts
+"""
+}
+
+/*		P-site track		*/
+process track_P_site {
+  tag "$bam.baseName"
+  publishDir "results/ribowave", mode: 'copy'
+
+  input:
+  file bam from bam_track_P_site
+  file exon from exon_gtf_channel
+  file genomesize from genomesize_file
+  file p_site from psite1nt_channel
+
+  output:
+  file "*" into track_p_site_channel
+  file "bedgraph/${bam.baseName}/final.psite" into psite_channel 
+  
+
+  script:
+"""
+/Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts/create_track_Ribo.sh -i ${bam} -G ${exon} -g ${genomesize} -P ${p_site} -o ./ -n ${bam.baseName} -s /Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts
+"""
+}
+/*		ribowave Identifying translated ORF		*/
+
+process ribowave_transORF {
+  tag "$bam.baseName"
+  publishDir "results/ribowave", mode: 'copy'
+
+  input:
+  file psite from psite_channel
+  file bam from bam_ribowave
+  file finalORF from finalORF_channel
+
+  output:
+  file "*" into ribowave_channel
+
+  script:
+"""
+/Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts/Ribowave -PD -a ${psite} -b ${finalORF} -o ./ -n ${bam.baseName} -s /Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts -p 16
+"""
+}
+
diff --git a/src/nf_modules/Ribowave/ribowave.config b/src/nf_modules/Ribowave/ribowave.config
index ceebb688f30c4d26f1b025685c18bc88acb49580..8401a596454ad893d7392eedbfcf3db91bbf54af 100644
--- a/src/nf_modules/Ribowave/ribowave.config
+++ b/src/nf_modules/Ribowave/ribowave.config
@@ -20,48 +20,40 @@ profiles {
   sge {
     process{
       $create_annot {
-        beforeScript = "module purge; module load BEDtools/2.25.0; module load R/3.4.3"
+        beforeScript = "source /home/elabaron/.bashrc; module load BEDtools/2.25.0"
         executor = "sge"
-        cpus = 1
-        memory = "10Go"
-        time = "1h"
-        queueSize = 1000
-        pollInterval = ''
-        queue = 'h6-E5-2667v4deb128'
+        cpus = 8
+        memory = "5GB"
+        time = "6h"
+        queue = '*-E5-2667*'
         penv = 'openmp8'
       }
       $determination_P_site {
-        beforeScript = "module purge; module load BEDtools/2.25.0; module load R/3.4.3"
+        beforeScript = "source /home/elabaron/.bashrc; module load BEDtools/2.25.0"
         executor = "sge"
-        cpus = 1
-        memory = "10Go"
-        time = "1h"
-        queueSize = 1000
-        pollInterval = ''
-        queue = 'h6-E5-2667v4deb128'
+        cpus = 8
+        memory = "5GB"
+        time = "6h"
+        queue = '*-E5-2667*'
         penv = 'openmp8'
       }
       $track_P_site {
-        beforeScript = "module purge; module load BEDtools/2.25.0; module load R/3.4.3"
+        beforeScript = "source /home/elabaron/.bashrc; module load BEDtools/2.25.0"
         executor = "sge"
-        cpus = 1
-        memory = "10Go"
-        time = "1h"
-        queueSize = 1000
-        pollInterval = ''
-        queue = 'h6-E5-2667v4deb128'
+        cpus = 8
+        memory = "5GB"
+        time = "6h"
+        queue = '*-E5-2667*'
         penv = 'openmp8'
       }
       $ribowave_transORF {
-        beforeScript = "module purge; module load BEDtools/2.25.0; module load R/3.4.3"
+        beforeScript = "source /home/elabaron/.bashrc; module load BEDtools/2.25.0"
         executor = "sge"
-        cpus = 8
-        memory = "10Go"
+        cpus = 16
+        memory = "128GB"
         time = "6h"
-        queueSize = 1000
-        pollInterval = ''
-        queue = 'h6-E5-2667v4deb128'
-        penv = 'openmp8'
+        queue = '*E5-2667*'
+        penv = 'openmp16'
       }
     }
   }