Skip to content

Choosing qpAdm sources: proxies, rotation and competing models

How to choose source populations for a qpAdm model, why sources are proxies, how the rotating strategy works, and how to compare competing source sets.

Updated 3 min read

A qpAdm source is a proxy: a sampled population that stands in for the real ancestral group, which was almost never sampled. Choose sources that are close to the real ancestors and differ from each other in their relation to the right populations, then let a rotation test them against their alternatives.

What makes a good source

  • Close to the real ancestor. A source does not need to be the ancestor, but drift it has and the ancestor did not have makes the model fail. Sources older than and near to the target in place are often best.

  • Distinct from the other sources. The right populations must tell the sources apart. Two sources that relate to the right populations in the same way give unstable weights with large standard errors.

  • Well covered. A source of one low-coverage genome costs SNPs in every statistic; see How many SNPs does qpAdm need?

  • Unmixed with the target. A source that already carries the target's own later ancestry absorbs it, and the model can fit for the wrong reason.

How many sources

Start with the fewest sources that history suggests, usually two or three. Add a source only when the smaller model fails and the larger one fits. qpAdm reports nested models: if a model without one source still fits, that source may not be needed. Each extra source needs one more right population, and the weights become less precise.

The rotating strategy

In a rotation, you choose a pool of candidate populations. Each model takes some candidates as sources and puts all the other candidates among the right populations. A source that fits while its close relatives sit on the right is well supported, because the model had the chance to fail.

Harney et al. (2021) tested qpAdm on simulated histories and recommend a rotating strategy when possible. It also avoids hand-picking a right panel after seeing the results.

Read a rotation as a ranking, not one answer:

  1. Keep the models with p ≥ 0.01 and every weight between 0 and 1.

  2. If several fit, the data cannot choose between them. Report them all, or add right populations that separate them.

  3. A candidate that never fits as a source, but whose presence on the right makes others fail, is informative too.

qpWave: can the sources be told apart?

Before trusting weights, test the sources alone with qpWave against the right populations. If two sources are rank 0, the right populations see them as one stream of ancestry, and their weights in the model mean little.

Competing models

A model that fits is one of perhaps many that fit. Replace each source with a related population, for example a farmer from another site or period, and run again. If the alternatives fit equally well, report the range rather than one set of weights.

Choosing and rotating sources in Nexju

  • Rotations run from a model: guided rotation swaps one source slot at a time, and exhaustive rotation tries every combination from your pool. Nexju previews each rotation, so you see how many models it will fit before it runs. Rotations run on every plan.

  • In a workflow, a Find sources step fits every combination of up to 20 candidates as 1 to 4 sources, up to 500 models. Candidates a model leaves out join its right populations. It tests each pair of candidates with qpWave, to show which ones the right populations cannot tell apart, and refits up to 12 plausible models on fixed right populations. Its tests use p ≥ 0.05.

  • A Check rights step then tests that the right populations tell the chosen sources apart, which ones the result depends on, and which candidates would add to it.

  • On the Pro plan, Competing models fits 2 to 6 source sets, each with its rivals' sources among its right populations, and Add a source refits a model with each of up to 40 candidate sources added.

A qpAdm model in Nexju takes up to 5 sources.

References

  • Harney É. et al. 2021. Assessing the performance of qpAdm: a statistical tool for studying population admixture. Genetics 217. doi:10.1093/genetics/iyaa045

  • 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

  • Patterson N. et al. 2012. Ancient admixture in human history. Genetics 192. doi:10.1534/genetics.112.145037

  • 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

Frequently asked questions

Short answers to the questions people ask most about this topic.

How do I choose sources for qpAdm?
Pick sampled populations close in time and place to the ancestors you want to test, that differ from each other in their relation to the right populations. Then test them in a rotation against related alternatives, and keep the sources that fit when their relatives are among the right populations.
What is a qpAdm rotation?
A set of models built from one pool of candidates. Each model takes some candidates as sources and puts the others among the right populations. It tests whether a source still fits when its close relatives can expose it.
How many sources can a qpAdm model have?
In principle, any number below the number of right populations. In practice, models use 2 to 4, because each extra source needs another right population and makes the weights less precise. Nexju fits up to 5 sources.
Two different source sets both fit. Which is right?
Possibly both, or neither. qpAdm can only reject models. Report every model that fits, or add right populations that relate differently to the competing sources and run them again.
Should a source be older than the target?
Usually, but not always. A source is a proxy, and a later population can be a good proxy if it has little drift of its own since it split from the real ancestor. Prefer older sources when they are available and well covered.
Every help article

Allow analytics cookies? They help us see how the site is used and measure our ads. Your DNA and results are never included. Details