diff --git a/src/nf_modules/samblaster/dedup_sams.config b/src/nf_modules/samblaster/dedup_sams.config
new file mode 100644
index 0000000000000000000000000000000000000000..69cff9971858dfba138ec5c4b335d566ece4235b
--- /dev/null
+++ b/src/nf_modules/samblaster/dedup_sams.config
@@ -0,0 +1,18 @@
+profiles {
+  docker {
+    docker.temp = 'auto'
+    docker.enabled = true
+    process {
+      $dedup_sam {
+        container = "samblaster:0.1.24"
+      }
+    }
+  }
+  sge {
+    process{
+      $dedup_sam {
+        beforeScript = "module purge; module load samblaster/0.1.24"
+      }
+    }
+  }
+}
diff --git a/src/nf_modules/samblaster/dedup_sams.nf b/src/nf_modules/samblaster/dedup_sams.nf
new file mode 100644
index 0000000000000000000000000000000000000000..fd9f2b1778bb66a3625d0de5f540458960193a29
--- /dev/null
+++ b/src/nf_modules/samblaster/dedup_sams.nf
@@ -0,0 +1,26 @@
+params.sam = "$baseDir/data/sam/*.sam"
+
+log.info "sams files : ${params.sam}"
+
+Channel
+  .fromPath( params.sam )
+  .ifEmpty { error "Cannot find any sam files matching: ${params.sam}" }
+  .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]}
+  .set { sam_files }
+
+process dedup_sam {
+  tag "$file_id"
+  cpus 4
+
+  input:
+    set file_id, file(sam) from sam_files
+
+  output:
+    set file_id, "*_dedup.sam*" into dedup_sam_files
+  script:
+"""
+samblaster --addMateTags -i ${sam} -o ${file_id}_dedup.sam
+"""
+}
+
+
diff --git a/src/nf_modules/samblaster/tests.sh b/src/nf_modules/samblaster/tests.sh
new file mode 100755
index 0000000000000000000000000000000000000000..63bbfc846928adae8300acc1d1b6623acf4213dc
--- /dev/null
+++ b/src/nf_modules/samblaster/tests.sh
@@ -0,0 +1,4 @@
+./nextflow src/nf_modules/samblaster/dedup_sams.nf \
+  -c src/nf_modules/samblaster/dedup_sams.config \
+  -profile docker \
+  --sam "data/tiny_dataset/map/tiny_v2.sam"