Docker Image:
google/deepvariant:1.5.0How It Works
DeepVariant operates in three stages:1. make_examples
Scans the BAM file and identifies candidate variant sites. For each candidate, it constructs a pileup image — a multi-channel tensor encoding read alignments, base qualities, mapping qualities, strand information, and other signals. This is where most quality-affecting parameters live (candidate thresholds, read quality filters, read processing options).2. call_variants
Feeds each pileup image through the pre-trained CNN model. The model outputs probabilities for three genotype classes: 0/0 (hom-ref), 0/1 (het), and 1/1 (hom-alt). The model was trained on truth sets and is specific to the sequencing platform (WGS, WES, PacBio, etc.).3. postprocess_variants
Converts model predictions to a VCF file. Applies quality filters (QUAL thresholds), handles multi-allelic sites, and computes genotype quality (GQ) scores.Unlike GATK/FreeBayes where hyperparameters control the statistical model, DeepVariant parameters affect what data the CNN sees and how outputs are filtered. You cannot change the model itself — but you can significantly affect accuracy by controlling inputs and output filtering.
