diff --git a/src/nf_modules/BEDtools/bedtools.config b/src/nf_modules/BEDtools/bedtools.config
new file mode 100644
index 0000000000000000000000000000000000000000..b54cadf6a0673facdfa34626059f3001863bea6f
--- /dev/null
+++ b/src/nf_modules/BEDtools/bedtools.config
@@ -0,0 +1,18 @@
+profiles {
+  docker {
+    docker.temp = 'auto'
+    docker.enabled = true
+    process {
+      $fasta_from_bed {
+        container = "bedtools:2.25.0"
+      }
+    }
+  }
+  sge {
+    process{
+      $fasta_from_bed {
+        beforeScript = "module purge; module load BEDtools/2.25.0"
+      }
+    }
+  }
+}
diff --git a/src/nf_modules/BEDtools/bedtools.nf b/src/nf_modules/BEDtools/bedtools.nf
new file mode 100644
index 0000000000000000000000000000000000000000..09ab4af1725b4afbee5affed191809368e1d1572
--- /dev/null
+++ b/src/nf_modules/BEDtools/bedtools.nf
@@ -0,0 +1,40 @@
+/*
+* 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 "$pair_id"
+  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 ${fasta.baseName}_extracted.fasta
+"""
+}
diff --git a/src/docker_modules/Bowtie2/tests/tests.sh b/src/nf_modules/Bowtie2/tests/tests.sh
similarity index 100%
rename from src/docker_modules/Bowtie2/tests/tests.sh
rename to src/nf_modules/Bowtie2/tests/tests.sh
diff --git a/src/docker_modules/HTSeq/tests/tests.sh b/src/nf_modules/HTSeq/tests/tests.sh
similarity index 100%
rename from src/docker_modules/HTSeq/tests/tests.sh
rename to src/nf_modules/HTSeq/tests/tests.sh
diff --git a/src/docker_modules/Kallisto/tests/tests.sh b/src/nf_modules/Kallisto/tests/tests.sh
similarity index 100%
rename from src/docker_modules/Kallisto/tests/tests.sh
rename to src/nf_modules/Kallisto/tests/tests.sh
diff --git a/src/docker_modules/RSEM/tests/tests.sh b/src/nf_modules/RSEM/tests/tests.sh
similarity index 100%
rename from src/docker_modules/RSEM/tests/tests.sh
rename to src/nf_modules/RSEM/tests/tests.sh
diff --git a/src/docker_modules/SAMtools/tests/tests.sh b/src/nf_modules/SAMtools/tests/tests.sh
similarity index 100%
rename from src/docker_modules/SAMtools/tests/tests.sh
rename to src/nf_modules/SAMtools/tests/tests.sh
diff --git a/src/docker_modules/UrQt/tests/tests.sh b/src/nf_modules/UrQt/tests/tests.sh
similarity index 100%
rename from src/docker_modules/UrQt/tests/tests.sh
rename to src/nf_modules/UrQt/tests/tests.sh
diff --git a/src/docker_modules/cutadapt/tests/tests.sh b/src/nf_modules/cutadapt/tests/tests.sh
similarity index 100%
rename from src/docker_modules/cutadapt/tests/tests.sh
rename to src/nf_modules/cutadapt/tests/tests.sh