Is qpAdm reliable? What Harney et al. 2021 found, and how to check a model
What simulation studies found about qpAdm's accuracy, the conditions where it fails, and the checks that tell a robust qpAdm model from a lucky fit.
Updated 3 min read
Under the conditions it was designed for, yes. Harney et al. (2021) tested qpAdm on simulated population histories and called it "a robust tool that yields accurate results in many cases", including with low coverage, much missing data, ancient DNA damage and pseudohaploid calls. It is less reliable when ancient and present-day data are analysed together, when one model has a very large number of right populations, and when gene flow went on for a long time. A single model that passes is not enough; robustness checks are what make it credible.
What the simulations tested
Harney et al. simulated histories with known admixture proportions, generated data like real ancient genomes, and ran qpAdm on them. They asked two questions: does qpAdm accept the true model, and does it reject wrong ones? With a suitable set of right populations, qpAdm estimated the proportions accurately.
Its accuracy held up with:
low-coverage genomes and high rates of missing data;
ancient DNA damage;
pseudohaploid calls, where only one allele is read at each SNP.
Where it can mislead
The study names conditions that need care:
Ancient and present-day data together. The two kinds of data are produced differently, from damaged DNA on one side and fresh samples on the other, and such differences can add signals that are not history.
Very many right populations in one model. The authors advise against an extremely large right panel in a single model.
Long periods of gene flow. qpAdm models a mixture of sources, not a long process of migration, so the weights describe the result and not the timing.
Other limits follow from the method itself:
A fit is not proof. qpAdm can only reject. If the right populations cannot tell two source sets apart, both fit.
Sources are proxies. A source with much drift of its own since it split from the real ancestor makes the model fail, or fit with biased weights.
The right panel decides what the test sees. A right population related to the target after the admixture breaks the model's assumptions; see Choosing right populations.
The checks that make a model credible
Rotation. Move candidate sources among the right populations. A source that still fits when its relatives can expose it is well supported. Harney et al. recommend rotating when possible.
Competing sources. Replace each source with a related population. If many alternatives fit, report the range.
Right-panel sensitivity. Drop one right population at a time. A model that fails when one leaves depends on that population.
One source more. Test whether adding a source improves the fit. A large improvement means the simpler model missed a stream of ancestry.
Coverage. Check the SNP count. A run on few SNPs has little power to reject; see How many SNPs does qpAdm need?
Other methods. Check the direction of the result with f4-statistics, PCA or an admixture graph in qpGraph.
The same checks in Nexju
Rotation, guided or exhaustive, runs on every plan.
Right-panel sensitivity, from Check right-panel sensitivity… on a model, refits it with each right population dropped in turn and flags a right population whose removal moves a weight by more than two standard errors (Pro).
Competing models fits 2 to 6 source sets, each with the other sets' sources added to its right populations, so each must fit while its rivals can expose it (Pro).
Add a source refits the model with each of up to 40 candidate sources added (Pro).
Every result shows its SNPs analyzed, and the model's Parameters… switch to Transversions only to check for damage.
Nexju calls a model Plausible at p ≥ 0.01 with every weight between 0 and 1, Rejected below 0.01, and Infeasible when a weight is outside 0 to 1.
References
Harney É. et al. 2021. Assessing the performance of qpAdm: a statistical tool for studying population admixture. Genetics 217. doi:10.1093/genetics/iyaa045
Maier R. et al. 2023. On the limits of fitting complex models of population history to f-statistics. eLife 12. doi:10.7554/eLife.85492
Patterson N. et al. 2012. Ancient admixture in human history. Genetics 192. doi:10.1534/genetics.112.145037
Haak W. et al. 2015. Massive migration from the steppe was a source for Indo-European languages in Europe. Nature 522. doi:10.1038/nature14317