diff --git a/src/RNA_Seq.nf b/src/RNA_Seq.nf
index 74757947b749a30965a3dde844fc8d33d9c9d5f5..ebadfb5a027e4fc13c901ccf142bbe3f1b8c5bc6 100644
--- a/src/RNA_Seq.nf
+++ b/src/RNA_Seq.nf
@@ -11,6 +11,8 @@
 */
 
 params.fastq = "$baseDir/data/fastq/*_{1,2}.fastq"
+params.fasta = "$baseDir/data/fasta/*.fasta"
+params.bed = "$baseDir/data/annot/*.bed"
 
 log.info "fastq files : ${params.fastq}"
 
@@ -68,3 +70,42 @@ UrQt --t 20 --m ${task.cpus} --gz \
 """
 }
 
+/*
+* bedtools :
+* Imputs : fastq files
+* Output : fastq files
+*/
+/*                      fasta extraction                                     */
+
+
+log.info "fasta file : ${params.fasta}"
+log.info "bed file : ${params.bed}"
+
+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 fasta_from_bed {
+  tag "${bed.baseName}"
+  cpus 4
+  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
+"""
+}
+