Snakemake Core Idea
Instead of defining steps , you define rules that produce files .
rule align:
input:
“reads.fastq”
output:
“aligned.bam”
shell:
“bwa mem ref.fa {input} > {output}”
Snakemake builds a directed acyclic graph (DAG) automatically.
Fastq → Cutadapt → BWA → Sorted BAM → Freebayes → VCF