Skip to content
Ancestrify
All stories

qpAdm

By Andi Thomaj
6 min read

qpAdm rotation explained: fair comparison, and why pre-study odds decide its error rate

Rotation makes qpAdm comparisons fair, not winners true. What the audits found on admixture graphs and landscapes, and why pre-study odds set the error rate.

qpAdmMethodology

  1. What rotation does well
  2. What the audits measured
  3. The number that decides it: pre-study odds
  4. What rotation is actually for
  5. How our search is built
  6. References

Choose sources and outgroups one model at a time and you inherit a suspicion: did the analyst tune the right set until the favourite model passed? The rotating protocol was invented to answer that suspicion with procedure. Take one candidate pool; in each model, some candidates are sources and the rest join the outgroups; test every arrangement. No population is privileged, every model faces comparable opposition, and the search space is explored rather than navigated by preference. Skoglund et al. 2017 introduced the strategy for African population history; Harney et al. 2021 recommended it over the fixed-base alternative, whose models are "not equivalent, and therefore are difficult to compare".

So rotation is the gold standard? For fairness of comparison, yes. For truth of the winners, the 2024 and 2025 audits changed the conversation, and the number that decides it turns out to be neither the protocol nor who runs it.

What rotation does well#

The fixed-base strategy has a structural flaw the auditors named precisely: any population parked permanently in the reference set can never be tried as a source, so the search silently excludes models nobody decided to exclude. Rotation fixes that, and adds a second virtue: moving a rejected model's sources into the right set of surviving models, model competition in Flegontova et al. 2025's terminology, is a genuine stress test, since a reference differentially related to a source either sharpens the model or exposes the proxy. In ADMIXTOOLS 2 the whole machine is one call, qpadm_rotate(), and precomputed f2 statistics make thousands of models cost seconds.

That cheapness is the trap, though not quite for the reason usually given.

What the audits measured#

Flegontova et al. 2025 scored qpAdm screens against simulated histories where the truth was known, in two very different worlds.

On admixture-graph histories, discrete populations mixing in occasional pulses, temporal order dominated. Run without temporal stratification, with targets allowed to predate sources (the proximal regime), the rotating protocol's false-discovery rate ranged from 72.5 to 100% across conditions, mostly through false rejections of simple true models that push acceptance up the complexity ladder, and it grew with more data. Distal models, with every source as old as or older than the target, had median rates of 16.4 to 31.2% (their Fig. 3), and validating them with PCA and unsupervised ADMIXTURE brought the rate to about 0% in those simulations.

On stepping-stone landscapes, groups exchanging migrants with their neighbours continuously, the protocol stopped mattering: rotating and nonrotating screens showed no statistically significant differences in false-discovery rate (their Fig. 7). Rotation did change one thing. Because a rotation tries many splits of the same pool, some with the left and right sets far apart, it finds higher p-values on average, and rotating experiments stopped at simpler models than nonrotating ones.

Two structural cautions hold in both worlds. A screen ranks its survivors somehow, and the tempting key, the p-value, picks the true model in only 48% of cases (Harney et al. 2021): p ranks nothing. And filters on the admixture weights cut false positives without fixing the false-discovery rate on their own. In Williams et al. 2024's rotation simulations of recent history, a p ≥ 0.05 filter alone had a false-positive rate of 27.5% and a false-discovery rate of 84.1%; requiring weights inside [0,1] brought those to 9.8% and 57.4%; adding a two-standard-error margin cut false positives to 6.0% and left the false-discovery rate at 61.0%. Why the second number barely moves is the subject of the next section.

The number that decides it: pre-study odds#

The false-discovery rate is the share of accepted models that are wrong, and it depends on three things. Two belong to the test: its false-positive rate (how often a wrong model passes) and its power (how often a right one does). The third belongs to the search: the pre-study odds, the ratio of plausible to implausible models among everything tested, fixed before a single model runs. The paper's equation is

FDR = FPR / (FPR + R × (1 − FNR))

where R is the pre-study odds and 1 − FNR is the power. Put numbers in. A test with a 1% false-positive rate and 20% power, run over a set where one model in twenty-one is plausible (odds of 1 to 20), accepts one wrong model for every right one: a 50% false-discovery rate. Run the same test over a set where one model in three is plausible (odds of 1 to 2) and the rate falls to about 9%. Nothing about the test changed.

That is why tightening the filters barely moved Williams' false-discovery rate: when implausible models vastly outnumber plausible ones, a stricter filter also costs power, and the ratio stays bad. It is also why the landscape screens in Flegontova et al. fared so poorly. Built like typical published high-throughput protocols, they had pre-study odds of about 0.18 for two-way models, 0.04 for three-way and 0.015 for four-way, and across their criteria the false-discovery rate tracked those odds almost perfectly (Pearson r between −0.86 and −0.99).

So the distinction that matters is not manual against automated. Four hundred models composed one at a time can still be a fishing expedition with terrible odds, and a script that tests three well-motivated hypotheses is not. The distinction is between a small set of hypotheses made plausible by evidence outside qpAdm (archaeology, chronology, geography, earlier genetic work) and a large exploratory search that lets qpAdm pick from everything available. The first is what the authors recommend. The second is where their false-discovery rates live.

What rotation is actually for#

Read the numbers as an operating manual rather than a verdict and rotation has a clear, narrow job: map the model space, never crown the winner. Rotate to learn which sources are interchangeable (they swap without moving the fit, a cladality fact worth knowing), which candidate the data refuses everywhere, and whether any temporally legal two-way family survives at all. Then test the few hypotheses that the history, not the screen, makes plausible: era-appropriate outgroups chosen for the specific contrast, simple models given first refusal, and the final candidate defended with margins and alternative right sets rather than with its rank in a screen. And read the result for what it is. On a landscape-like history, a fitting model describes a position between sampled groups; it does not prove that those groups mixed.

How our search is built#

Here is how that applies to our own reports. Candidate sources are fixed before any model runs: a pool curated for the customer's declared origins and era. Our analyst tests models drawn from that pool, including automated searches over it, and re-tests the survivors on alternative right sets and against their simpler nested models; a person reviews the candidates, chooses the model to publish and approves it. No search result is published without that approval. The pool is our main lever on pre-study odds. The search inside it is large, which is why a published model is best read as one adequate description of a genome relative to the sampled groups, not as proof that those groups mixed.

The Ancestry Workbench hands you the same tools interactively: your merged dataset, any model you can compose, a rotation fitted as a batch of real runs and labelled as your own hypotheses, and the numbers to reject most of what you try. Start from a few hypotheses you can justify before anything runs, and the rejections will mean something.

From €29.99 · one-time
The tested version of this question
A qpAdm model tested against AADR v66 and approved by a person, published with its p-value, every source's standard error and z-score, and the full right set, so the result can be argued with.
See Ancient Ancestry

Terms used here are defined in the glossary.

References#

  • Skoglund, P. et al. (2017). Reconstructing prehistoric African population structure. Cell, 171(1), 59 to 71.
  • Harney, É., Patterson, N., Reich, D. & Wakeley, J. (2021). Assessing the performance of qpAdm. Genetics, 217(4), iyaa045.
  • Williams, M. P. et al. (2024). Testing times: disentangling admixture histories in recent and complex demographies using ancient DNA. Genetics, 228(1), iyae110.
  • Flegontova, O. et al. (2025). Performance of qpAdm-based screens for genetic admixture on graph-shaped histories and stepping stone landscapes. Genetics, 230(1), iyaf047.

Editorial note: revised on 24 September 2026. An earlier version quoted the admixture-graph false-discovery rates as the price of rotation in general, framed the problem as automated screening against manual model building, and described our own search in terms that no longer matched how it runs. This version adds the stepping-stone landscape results and puts pre-study odds at the centre.


Related posts

Is Ancestrify legit? What it is, who runs it, and what it does not do (2026)
Is Ancestrify legit? What it is, who runs it, and what it does not do (2026)

A first-person answer to "is Ancestrify legit": the registered trader behind it, what each of the three analyses delivers and costs, where the data lives, how refunds work, what it never claims, and how to verify every statement yourself.

6 min read
Learn qpAdm: the complete guide, from zero to defensible models
Learn qpAdm: the complete guide, from zero to defensible models

A structured learning path through everything qpAdm: what to read in what order, from the f4-statistics underneath to running models in R, choosing outgroups, reading results and knowing the method's measured limits.

4 min read
qpAdm best practices: a working checklist, and where each rule comes from
qpAdm best practices: a working checklist, and where each rule comes from

A working qpAdm checklist: history type, pre-study odds, temporal order, right sets, parsimony, acceptance and reporting, each rule with its source and limits.

8 min read
Back to all stories
Ancestrify

Combining cutting-edge genomic science with rich historical records to map your ancestry across generations and continents.


© 2026 Ancestrify. All rights reserved. · Ancestrify is a trading name of Andi Thomaj, a sole trader registered in Tiranë, Albania · NUIS M61725001N
Card payments processed by POK Payments (RPay Ltd)VISAMASTERCARD