diff --git a/src/RNAseq.nf b/src/RNAseq.nf
index 0bfc24211b9c144f691e9d9b058171bcb6bdabb5..4b89ec31213a4a9fb0350d56136cfe695833bbea 100644
--- a/src/RNAseq.nf
+++ b/src/RNAseq.nf
@@ -44,4 +44,38 @@ UrQt --t 20 --m ${task.cpus} --gz \
 --out ${reads[0].baseName}_trim_R1.fastq.gz --outpair ${reads[1].baseName}_trim_R2.fastq.gz \
 > ${reads[0].baseName}_trimming_report.txt
 """
-}
\ No newline at end of file
+}
+
+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
+"""
+}