Ancestrify
All stories

qpadm

By Andi Thomaj
3 min read

qpWave explained: counting ancestry streams before naming them

qpAdm's sibling asks a prior question — how many independent streams of ancestry does a set of populations need? The rank test, cladality checks, and why every good qpAdm search starts with a qpWave answer.

qpadmmethodologypopulation-genetics

  1. The idea: rank
  2. The two jobs it does
  3. Where it sits in a real workflow
  4. References

Before you can ask which populations contributed to a genome, there is a prior question almost everyone skips: how many contributions does the data even require? That is qpWave's question. It shares nearly all of its machinery with qpAdm — same f4-statistics, same jackknife, same left-and-right structure — but instead of estimating proportions of named sources, it counts the independent streams of ancestry a set of populations carries relative to the outgroups. Small question, outsized consequences: most bad qpAdm models die at a question qpWave would have answered first.

The idea: rank#

Take your left populations and your right set, and build the matrix of f4-statistics contrasting every left-vs-left pair against every right-vs-right pair. If all the left populations descend from n ancestral streams (relative to the rights), that matrix has rank n − 1 — the allele-frequency vectors are linearly dependent beyond that. qpWave tests successive ranks and reports, for each, whether the matrix is consistent with it: the number of waves is the lowest rank the data cannot reject. (The same computation appears inside every qpAdm run as the rank test — the f4rank rows in the model record. qpAdm is qpWave plus the assertion that the target sits inside the span of the named sources.)

Degrees of freedom come from the same arithmetic as qpAdm's — which is why the right set must outnumber the streams being tested, and why a rank test against a symmetric right set is a test of nothing.

The two jobs it does#

Counting streams. Run qpWave on a set of related populations — say, the Bronze Age groups of one region — and it answers whether they can all be explained as mixes of two streams, or need three. That number is a hard constraint on every model downstream: a three-source qpAdm model of a target whose region needs only two is fitting noise with the third; a two-source model where three streams flow is structurally under-specified and will fail — informatively.

Testing cladality. With exactly two left populations, qpWave asks whether the matrix is consistent with rank zero — whether the pair forms a clade relative to the rights, no differential relatedness at all. This is the tool for the question that decides source lists: are these two candidate sources distinguishable, or are they the same stream wearing two labels? A cladal pair should never both sit in one source list (their weights would trade arbitrarily); the auditors' resolution floor makes the same point quantitatively — sources separated by FST under roughly 0.002 cannot be told apart by any right set (Williams et al. 2024).

Where it sits in a real workflow#

The auditors' recommended sequence — "testing all possible models with the lowest rank … before proceeding to test models with higher rank" (Harney et al. 2021) — is a qpWave-first discipline:

  1. One stream? Test whether the target is cladal with any single candidate source. If yes, the story is resemblance, not admixture, and no mixture model is justified.
  2. Two? Only after every one-stream explanation fails do two-source models earn their hearing; the rank test inside each qpAdm run is the referee.
  3. Three? Only when every two-way model over the pool is rejected — and the third stream must be one the chronology permits.

That ladder is exactly how models are searched here — the worked example climbs it on a real customer file, and the nested-model table in every published record shows the simpler models being given first refusal. The same machinery is also yours to run: the free AdmixTools 2 Lab exposes qpWave and the rank tests against a curated ancient panel, and the Model Lab runs the full ladder on your own merged genome. Counting before naming is the cheapest rigour in the entire toolkit — and the habit that separates models built on the data from stories decorated with it.

From €29.99 · one-time
The tested version of this question
A qpAdm model composed, run and checked by hand against AADR v66, 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 the qpAdm analysis

Terms used here are defined in the glossary.

References#

  • Reich, D. et al. (2012). Reconstructing Native American population history. Nature, 488, 370–374. (qpWave's rank-test lineage.)
  • Haak, W. et al. (2015). Massive migration from the steppe was a source for Indo-European languages in Europe. Nature, 522, 207–211. (SI 10: qpWave/qpAdm as published methods.)
  • 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. Genetics, 228(1), iyae110.

Related posts

Is qpAdm still reliable? What the criticism established, honestly assessed
Is qpAdm still reliable? What the criticism established, honestly assessed

qpAdm has been audited harder than any tool in ancient DNA: measured false-discovery rates, resolution floors, protocol failures. What the 2021–2025 criticism literature actually established, what survived it, and how practice changed.

3 min read
Dating admixture with DATES and ALDER: when did the mixing happen?
Dating admixture with DATES and ALDER: when did the mixing happen?

qpAdm says how much; linkage-disequilibrium decay says when. How DATES and ALDER read generation counts out of chromosome fragment lengths, what the dates mean, and how a date corroborates or breaks a qpAdm model.

3 min read
The f4-ratio: ancestry estimation with one statistic, and when it beats qpAdm
The f4-ratio: ancestry estimation with one statistic, and when it beats qpAdm

Before qpAdm there was the f4-ratio — one number, two f4-statistics, an ancestry proportion. How the classic estimator works, the famous results built on it, and the precise trade against qpAdm.

3 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