A synthetic 480 bp circular genome carries planted variants. Reads with random sequencing errors are piled up and a per-site genotype-likelihood caller decides which differences are real. Synthetic data, for teaching only: not a clinical tool.
Measured (Monte-Carlo reads, the same caller) vs predicted (exact Poisson x multinomial enumeration) recall of heterozygous SNVs at your current error rate and filters.
Press the button.
The science
Coverage. With N reads of length R on a circular genome of length L the mean depth is c = N·R/L. Read starts are uniform, so depth at a site is Poisson(c) and the uncovered fraction is e-c (Lander-Waterman, 1988). The histogram compares your genome with that curve.
Sequencing error. Each base is wrong with probability ε (Phred Q = -10 log10 ε), replaced by one of the three other bases uniformly. The number of reads showing one specific wrong base is Binomial(d, ε/3) - the tail of that distribution is why a single stray mismatch at 30x is not a variant.
Genotype likelihood. For each site the caller scores three genotypes using the counts of reference, best alternative and other bases: hom-ref P(ref)=1-ε; het P(ref)=P(alt)=½(1-ε)+½·ε/3; hom-alt P(alt)=1-ε; every other base has probability ε/3. The caller normally assumes the true ε; the slider "Caller assumes ε" lets it be over-confident (assumes less error than reality), which turns systematic errors into confident false calls. With prior π (het 0.6π, hom-alt 0.4π) Bayes gives the posterior, and QUAL = -10 log10 P(hom-ref | data). A call must pass minimum depth, QUAL and alternative-allele fraction.
What is simplified. The aligner is idealised: every read is placed at its true position (real aligners mis-map repeats). One global base quality instead of per-base Phred scores; no indels, no strand or PCR bias; error rate is known exactly to the caller; the "genes" and the network are an invented annotation to show how calls map onto features. Priors of a few percent per site are far higher than a real human genome (about 1 SNV per 1000 bp) to keep a 480 bp toy interesting. Any depth/QUAL values you read here are typical teaching values, not clinical thresholds.
Honest numbers. Poisson sampling for mean depth above 30 uses a Gaussian approximation; the sweep experiment compares two different methods (sampling vs exact enumeration) of the same decision rule.
Models built in Blender and rendered with Three.js. Educational synthetic data; not affiliated with any sequencing vendor.