configfile: "config.json" SAMPLES, = glob_wildcards(config['data']+"/{id}_L001_R1_001.fastq.gz") rule move: input: bam = expand("{sample}.final.bam", sample=SAMPLES), bai = expand("{sample}.final.bai", sample=SAMPLES) params: output = config['data']+"/Alignment" shell: """ mkdir -p {params.output} mv {input} {params.output} """ rule align_sort: input: config['data']+"/{sample}_L001_R1_001.fastq.gz", config['data']+"/{sample}_L001_R2_001.fastq.gz" output: temp("{sample}.mapped.bam") params: rg = "@RG\\tID:{sample}\\tPL:ILLUMINA\\tSM:{sample}", ref = config['genome'] conda: "envs.yaml" shell: "bwa mem -R '{params.rg}' -M {params.ref} {input} | samtools sort -o {output} -" rule mark_duplicates: input: "{sample}.mapped.bam" output: bam = "{sample}.final.bam", bai = "{sample}.final.bai", metrics = temp("{sample}_dedup_metricx.txt") conda: "envs.yaml" shell: "picard MarkDuplicates I={input} O={output.bam} M={output.metrics} CREATE_INDEX=true"