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"