Skip to main content
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