Contamination check
VerifyBamID2
If DNA from several people is mixed, variants are called wrongly and analyses become unreliable. A contamination check estimates the fraction of foreign DNA before further interpretation. Genome runs this quality control as its own step.
Key points
- Even a few percent of foreign DNA can distort variant calls and genotypes.
- The estimate uses population allele frequencies and is designed to be ancestry-agnostic.
- The contamination check is a prerequisite, not a result: it protects all downstream reports.
Why it comes first
Every statement about variants, HLA, pharmacogenetics or haplogroups assumes the sample comes from one person. An unnoticed mixture creates apparent heterozygosity and false findings. Even a few percent of foreign DNA can flip genotypes and produce false positive signals. That is why the contamination check belongs at the start of the analysis and not at its end.
How Genome analyses
Genome runs VerifyBamID2 on the aligned BAM or CRAM file together with the matching reference genome. The method is genotype-free: it does not require a prior known genotype of the person, but models the observed allele patterns at known variant positions against population allele frequencies. Ancestry is co-estimated from a PCA reference, so the contamination estimate stays largely ancestry-agnostic and holds even when the contaminating DNA comes from a different population. As its metric the tool reports the FREEMIX value, the estimated fraction of foreign DNA, which Genome reads from the result file and surfaces in the report.
Why this is hard for short-read WGS
In short-read sequencing one does not see a whole foreign person, only slightly raised allele rates across many positions that are hard to separate from sequencing errors and mapping artefacts. Low contamination and low read depth look similar, so a reliable value depends on having enough well-covered, informative positions. VerifyBamID2 addresses this by jointly evaluating many markers with known frequencies and carrying ancestry inside the model rather than assuming it. Genome presents this technical estimate and deliberately keeps it separate from a diagnosis: an elevated value is a warning flag for the interpretation of all further reports, not a finding in itself.
Distinction from non-human contamination
VerifyBamID2 measures human-to-human mixture, that is foreign DNA from another person, but not non-human or microbial reads. Genome covers this second, different quality question elsewhere: in the optional viral analysis, Kraken2 assigns reads taxonomically and Bracken estimates abundance at species level, which makes off-target and non-human signals visible. The two axes complement each other but are separate steps in Genome with their own purpose: the contamination check itself remains solely the task of VerifyBamID2.
What Genome measures. The estimated fraction of foreign DNA in the sample as a quality metric, independent of the ancestry of the people involved.
Related topics
Sources
- 1Zhang et al., 2020 Ancestry-agnostic estimation of DNA sample contamination from sequence reads. Genome Research 30(2):185-194. doi.org/10.1101/gr.246934.118
- 2Jun et al., 2012 Detecting and estimating contamination of human DNA samples in sequencing and array-based genotype data. American Journal of Human Genetics 91(5):839-848. doi.org/10.1016/j.ajhg.2012.09.004
- 3Wood et al., 2019 Improved metagenomic analysis with Kraken 2. Genome Biology 20:257. doi.org/10.1186/s13059-019-1891-0
- 4Lu et al., 2017 Bracken: estimating species abundance in metagenomics data. PeerJ Computer Science 3:e104. doi.org/10.7717/peerj-cs.104