Snakefile "ymp/rules/sambamba.rules"
Env(name="sambamba", base="bioconda", packages="sambamba")
with Stage("sort_bam") as S:
rule sambamba_sort:
message:
"Sambamba: Sorting BAM file {input}"
input:
"{:prev:}/{target}.bam"
output:
"{:this:}/{target}.sorted.bam",
"{:this:}/{target}.sorted.bam.bai"
log:
"{:this:}/{target}.sorted.bam.log"
params:
mem=icfg.mem("32g"),
compress=6
threads:
8
conda:
"sambamba"
shell:
"sambamba sort"
" --memory-limit={params.mem}MB"
" --compression-level={params.compress}"
" --nthreads={threads}"
" --out={output[0]}"
" {input}"
" >{log} 2>&1"
rule sambamba_sort_all:
message:
"Sambamba: done sorting"
input:
"{:this:}/{:targets:}.sorted.bam"
output:
touch("{:this:}/all_targets.stamp")