From 05dfb3b0c62ca589a9748690612e87666f8a0576 Mon Sep 17 00:00:00 2001
From: Laurent Modolo <laurent@modolo.fr>
Date: Mon, 17 Sep 2018 11:52:22 +0200
Subject: [PATCH] samblaster: add nf files

---
 src/nf_modules/samblaster/dedup_sams.config | 18 ++++++++++++++
 src/nf_modules/samblaster/dedup_sams.nf     | 26 +++++++++++++++++++++
 src/nf_modules/samblaster/tests.sh          |  4 ++++
 3 files changed, 48 insertions(+)
 create mode 100644 src/nf_modules/samblaster/dedup_sams.config
 create mode 100644 src/nf_modules/samblaster/dedup_sams.nf
 create mode 100755 src/nf_modules/samblaster/tests.sh

diff --git a/src/nf_modules/samblaster/dedup_sams.config b/src/nf_modules/samblaster/dedup_sams.config
new file mode 100644
index 0000000..69cff99
--- /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 0000000..fd9f2b1
--- /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 0000000..63bbfc8
--- /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"
-- 
GitLab