Docker Image: broadinstitute/gatk:4.5.0.0
GATK (Genome Analysis Toolkit) HaplotypeCaller is the Broad Institute’s flagship variant caller, part of the GATK4 suite. Unlike simple pileup-based callers, HaplotypeCaller performs local de novo assembly of haplotypes in active regions of the genome. This makes it particularly strong at detecting indels and complex variants that simpler callers miss.
How It Works
HaplotypeCaller operates in four main stages:
1. Active Region Determination
The caller scans the genome and identifies active regions — intervals where there’s evidence of variation. Regions with no evidence of variants are skipped entirely. This is controlled by the active_probability_threshold — the minimum probability a site must have to be considered “active.”
2. Local Assembly
Within each active region, HaplotypeCaller builds a De Bruijn-like assembly graph from the reads. This graph captures all possible haplotypes (sequences of variants) supported by the read data. The assembler uses configurable kmer sizes and pruning thresholds to balance sensitivity against noise.
3. Pairwise HMM (Pair-HMM)
Each read is realigned against every candidate haplotype using a Pair Hidden Markov Model. This computes the likelihood of observing each read given each haplotype, accounting for base quality scores, mapping quality, and gap penalties. This is the most computationally expensive step.
4. Genotyping
Using the Pair-HMM likelihoods as input, the caller applies Bayesian genotyping with configurable priors (heterozygosity, indel heterozygosity) to determine the most likely genotype at each variant site.
Hyperparameters
Quality Filtering
Calling Confidence
PCR Error Model
Assembly Graph
Active Region Determination
Pair-HMM / Likelihood Computation
Genotyping Priors
Downsampling
Read Filtering