diff --git a/src/RNASeq.nf b/src/RNASeq.nf
index 57fa500c1fcdb60b6b39131c804e13a1dc43f375..df391965d5d626c849f93f71bd3f2e72fbe077a6 100644
--- a/src/RNASeq.nf
+++ b/src/RNASeq.nf
@@ -70,4 +70,44 @@ UrQt --t 20 --m ${task.cpus} --gz \
 """
 }
 
+/*
+* bedtools :
+* Imputs : fastq files
+* Output : fastq files
+*/
+/*                      fasta extraction                                     */
+
+params.fastq = "$baseDir/data/fasta/*.fasta"
+params.bed = "$baseDir/data/annot/*.bed"
+
+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
+"""
+}