Skip to content
Strata

Connecting to the API…

Documentation

Methods

The statistics Strata computes, their assumptions, and how their results should be read. The research assistant retrieves from these same texts and cites them by section.

1.Principal Component Analysis in Population Genetics

Purpose and interpretation

Principal component analysis (PCA) summarises genotype data as a small number of orthogonal axes that capture the largest components of allele-frequency variation among individuals. Applied to human genetic data it recovers, to a striking degree, geographic structure: the leading components of European variation correspond closely to latitude and longitude (Novembre et al. 2008, Nature 456:98-101). This is a descriptive summary, not a model of history.

Patterson, Price and Reich (2006, PLoS Genetics 2:e190) set out the statistical framework used by the smartpca program in the EIGENSOFT package, including the Tracy-Widom distribution for deciding how many eigenvectors reflect real structure rather than noise. The standard preprocessing centres each SNP's genotype values and divides by an estimate of sqrt(p(1-p)), where p is the allele frequency; this weighting makes the analysis behave like a drift-scaled analysis rather than one dominated by high-frequency variants.

What PCA does and does not tell you

  • Position is relative. Coordinates depend entirely on which samples are in the analysis. Adding or removing populations rotates and rescales the space, so coordinates from different runs are not comparable. Strata therefore records a named, versioned coordinate space with every result and refuses to mix spaces.
  • Intermediate position is ambiguous. A sample lying between two clusters is consistent with admixture, but also with shared drift, a cline of continuous gene flow, or a population that simply diverged along an intermediate path. McVean (2009, PLoS Genetics 5:e1000686) derives the expected PCA positions under genealogical models and shows explicitly how admixture and ancestral structure can produce similar configurations.
  • Axes are not ancestries. PC1 is the single direction of greatest variance, which is typically some combination of several historical processes. The weights of an exploratory coordinate fit (see g25-coordinates.md) are therefore not ancestry proportions in the sense that f-statistic methods estimate.
  • Eigenvalue magnitudes reflect sampling design. Unequal sample sizes and the inclusion of closely related individuals distort the space; relatives and duplicates should be removed, and SNPs pruned for linkage disequilibrium, before interpreting components.

Projection, projection bias and shrinkage

A common workflow computes a PCA from a reference panel and then projects additional samples (for example, an ancient genome or a consumer genotype file) into that fixed space. Projection avoids letting one unusual sample define its own axis, and it is the only option when the sample has far fewer SNPs than the reference.

Projected samples are systematically pulled toward the origin. This shrinkage arises because the projection of a noisy, partly missing genotype vector onto estimated eigenvectors is attenuated relative to the position the sample would occupy had it been used in the eigen-decomposition. The effect grows as the number of observed SNPs falls and as the reference sample size shrinks. Consequences in practice:

  • A projected ancient or low-coverage sample appears less extreme (closer to the centre of the cloud) than its true ancestry warrants. Distances between a projected sample and reference population means are therefore biased, and the bias depends on the sample's SNP count.
  • Comparing a projected sample with non-projected reference individuals on the same plot exaggerates how "intermediate" the projected sample is.
  • smartpca's lsqproject: YES option fits each projected individual by least squares on the SNPs actually observed for that individual, which is the appropriate treatment for data with substantial and non-random missingness; it reduces, but does not remove, shrinkage.
  • smartpca also provides autoshrink to correct the scale of projected samples. Any correction is approximate, and reporting that projection was used, with the SNP count, is more informative than presenting a single corrected coordinate.

Strata computes projections by least squares over the SNPs observed in the sample and attaches a note recording the SNP overlap and the shrinkage caveat to every projected coordinate.

Reporting guidance

State the coordinate space and its version; the number of SNPs used for the sample and for the reference; whether the sample was projected; and the fact that distances in PCA space are descriptive. Conclusions about admixture require f-statistic tests (f-statistics.md, qpadm.md).

References

  • Patterson N, Price AL, Reich D (2006). Population structure and eigenanalysis. PLoS Genetics 2(12):e190.
  • Novembre J, Johnson T, Bryc K, et al. (2008). Genes mirror geography within Europe. Nature 456:98-101.
  • McVean G (2009). A genealogical interpretation of principal components analysis. PLoS Genetics 5(10):e1000686.
  • Price AL, Patterson NJ, Plenge RM, Weinblatt ME, Shadick NA, Reich D (2006). Principal components analysis corrects for stratification in genome-wide association studies. Nature Genetics 38:904-909.

Source: docs\methods\pca.md

2.Coordinate-Space Ancestry Modelling (Global25-style) and Its Limits

What these coordinates are

A "G25-style" vector is a set of 25 scaled coordinates placing a sample in a fixed, precomputed PCA-like space derived from a large reference panel. Global25 is a privately produced coordinate set distributed by the Eurogenes project; the underlying panel, SNP set and scaling are not formally published, so the space cannot be audited the way smartpca output from a named dataset can. Strata accepts user-supplied Global25 coordinates because many users already have them, treats them as an opaque named space (g25), and also offers its own documented space (strata-pca-v1) computed from a public reference panel.

The fitting procedure

Given a target vector t and source population mean vectors s_1..s_k, a coordinate fit solves

minimise || sum_i w_i s_i - t ||^2 subject to w_i >= 0 and sum_i w_i = 1

This is a non-negative least squares problem with a simplex constraint, and it always has a solution. The residual norm ("distance") measures how well the mixture reproduces the target's position in that space. Strata reports weights, the residual distance, per-dimension residuals, and, when sample-level coordinates are available, bootstrap confidence intervals obtained by resampling individuals within each source population.

Why this is exploratory and not a test

  1. Every model returns weights. The optimisation has no notion of statistical rejection. A model composed of historically impossible sources still yields a weight vector and a distance. There is no p-value, no standard error from the fit itself, and no null hypothesis.
  2. Dimensions are weighted arbitrarily relative to history. The 25 coordinates are scaled by eigenvalue-derived factors; the resulting metric does not correspond to any population-genetic quantity such as f4 or drift distance.
  3. Non-identifiability. Genetically similar sources are nearly collinear in coordinate space, so weights trade off between them with almost no change in distance. Small changes to the source list can move a weight from one population to its neighbour. Sensitivity analysis (leave-one-source-out, leave-one-dimension-out) is the minimum check.
  4. Distances are not comparable across spaces or targets. A distance of 0.02 means nothing absolute; it is only interpretable against other fits for the same target in the same space.
  5. Projection and shrinkage. If the target was projected into the space (as a consumer genotype file must be), it is biased toward the origin, which tends to favour mixtures of dispersed sources. See pca.md.
  6. Overfitting with many sources. Allowing more sources always reduces the residual. Parsimony matters: prefer the smallest source set that fits, drop sources with negligible weight, and compare models with equal numbers of sources.

Legitimate uses

  • Screening a large reference library for plausible sources before running formal tests.
  • Visualising where a sample sits relative to reference populations.
  • Generating hypotheses and candidate source/right sets for qpAdm.
  • Detecting gross data problems (a sample far outside the reference cloud usually indicates a parsing, strand or panel-overlap failure rather than exotic ancestry).

Reporting guidance

Label every coordinate fit as exploratory. Report the space and its version, the source list, weights with bootstrap intervals when available, the residual distance, and the results of sensitivity checks. Do not describe coordinate weights as admixture proportions and do not rank them against qpAdm results; formal and exploratory evidence belong in separate tables. When a coordinate fit and a qpAdm model disagree, the f-statistic result is the evidence.

References

  • Patterson N, Price AL, Reich D (2006). Population structure and eigenanalysis. PLoS Genetics 2(12):e190. (Framework for the underlying PCA scaling.)
  • Lawson DJ, van Dorp L, Falush D (2018). A tutorial on how not to over-interpret STRUCTURE and ADMIXTURE bar plots. Nature Communications 9:3258. (On over-interpretation of ancestry-proportion style output generally.)
  • Harney E, Patterson N, Reich D, Wakeley J (2021). Assessing the performance of qpAdm: a statistical tool for studying population admixture. Genetics 217(4):iyaa045. (Why formal tests, and their own assumptions, are required for admixture claims.)

Source: docs\methods\g25-coordinates.md

3.Interpreting Uncertainty in Ancestry Analyses

The sources of uncertainty

  1. Statistical (sampling) error. Finitely many SNPs and individuals. Quantified by block jackknife or bootstrap standard errors for f-statistics and qpAdm weights, and by bootstrap intervals for coordinate fits. Scales roughly with the inverse square root of the number of independent genomic blocks, so it shrinks slowly.
  2. Model error. The target's history is more complex than any two- or three-source mixture. This is not reduced by more data; more data makes it easier to detect, which is why well-powered analyses reject simple models that are approximately right.
  3. Reference-choice error. Which sources and which right populations are used. Usually the largest source of variation in applied work, and the one standard errors do not express. Quantified only by rotation and leave-one-out analyses.
  4. Proxy error. Sources are stand-ins for unsampled populations. Weights are estimated for the proxies used; a different proxy for the same lineage can shift weights materially.
  5. Data-processing error. Strand, build, panel overlap, missingness, contamination. Usually detected by QC rather than expressed as an interval.

Reporting rules used by Strata

  • Give an interval or standard error with every estimate, and the number of SNPs behind it.
  • Separate exploratory from formal evidence. Never place coordinate-fit distances and qpAdm p-values in one ranking, and never let an exploratory fit upgrade a rejected formal model.
  • State the alternatives. If five source combinations are not rejected, report five, with weights; do not present the one with the largest p-value as the answer (see qpadm.md on why p-values are not a ranking score).
  • Report the robustness checks actually performed, and their outcome, including checks that undermine the preferred model.
  • Distinguish "rejected", "not rejected" and "untestable with these data". Low power is a result, and should be stated as such.
  • Avoid false precision. A weight with a standard error of 0.04 should be reported to two decimal places at most, and percentages derived from it rounded accordingly.
  • Name the coordinate space or f2 panel; results from different spaces or panels are not comparable.

Language to prefer

Instead ofWrite
"You are 23.7% Steppe""The model estimates 0.24 (SE 0.05) ancestry from the Steppe_MLBA proxy"
"This proves admixture""The model with sources A and B is not rejected (p = ...); models without B are rejected"
"The best model is X""X and Y are both consistent with the data; they differ in ..."
"Your ancestors were from Rakhigarhi""Your genotype is consistent with ancestry related to the Indus-periphery profile represented by that sample"
"G25 shows 15% ancestry""An exploratory coordinate fit gives weight 0.15 for this source; this is a screening result, not a formal estimate"

A note on consumer expectations

Commercial ancestry reports give single percentages without intervals, which sets an expectation that scientific analysis cannot meet honestly. Explaining why the uncertainty exists - limited SNP overlap, proxy populations, several models fitting equally well - is part of the answer, not a caveat to be appended to it.

References

  • Harney E, Patterson N, Reich D, Wakeley J (2021). Assessing the performance of qpAdm: a statistical tool for studying population admixture. Genetics 217(4):iyaa045.
  • Maier R, Flegontov P, Flegontova O, Isildak U, Changmai P, Reich D (2023). On the limits of fitting complex models of population history to f-statistics. eLife 12:e85492.
  • Lawson DJ, van Dorp L, Falush D (2018). A tutorial on how not to over-interpret STRUCTURE and ADMIXTURE bar plots. Nature Communications 9:3258.
  • Patterson N, Moorjani P, Luo Y, et al. (2012). Ancient admixture in human history. Genetics 192(3):1065-1093.

Source: docs\methods\uncertainty.md

4.f-Statistics: f2, f3 and f4

The f-statistic framework was developed by Reich, Patterson and colleagues and is set out systematically in Patterson N, Moorjani P, Luo Y, Mallick S, Rohland N, Zhan Y, Genschoreck T, Webster T, Reich D (2012), "Ancient admixture in human history", Genetics 192(3):1065-1093. It provides tests of admixture that are based on allele-frequency correlations expected under a tree, and that remain interpretable with the sparse, missing-heavy data typical of ancient DNA.

Definitions

For populations A, B, C, D with sample allele frequencies a, b, c, d at a SNP, averaged over SNPs:

  • f2(A,B) = E[(a - b)^2] - a measure of genetic drift separating A and B.
  • f3(A; B,C) = E[(a - b)(a - c)] - shared drift of B and C with respect to outgroup A when used as an outgroup f3, measuring how much B and C share relative to A.
  • f4(A,B; C,D) = E[(a - b)(c - d)] - the statistic central to admixture testing.

f4 can be written as a difference of f2 values, and under a population tree in which (A,B) and (C,D) are the two pairs separated by the internal branch, f4(A,B; C,D) has expectation zero. A significantly non-zero f4 therefore rejects that tree and indicates gene flow between one of A/B and one of C/D (or unmodelled structure).

Admixture f3 and its asymmetry

f3(X; A,B) with X as the target is negative when X's allele frequencies are intermediate between A and B in a way no simple tree produces; a significantly negative admixture f3 is strong evidence that X is admixed between populations related to A and B. The test is conservative: drift in X since admixture pushes f3 upward, so an admixed population can easily give a non-significant or positive value, especially if the admixture was ancient or the proxies are poor. A non-negative f3 is therefore not evidence against admixture.

By contrast, outgroup f3, f3(O; A,B) with O a distant outgroup, is a similarity measure used for ranking which populations share most drift with a target.

Standard errors

Because SNPs are correlated along a chromosome, standard errors are computed by a block jackknife (or bootstrap) over genomic blocks, typically a few centimorgans each, rather than by treating SNPs as independent. A Z-score is the statistic divided by its jackknife standard error; |Z| >= 3 is the conventional threshold for significance in this literature, reflecting the many statistics usually computed. Report Z together with the statistic, the standard error and the number of SNPs used.

Practical considerations

  • SNP overlap drives power. f-statistics are computed on SNPs present in all populations involved (or, with the allsnps/useallsnps option, per-statistic subsets). Consumer genotype files overlapping only tens of thousands of SNPs with an ancient panel yield large standard errors; see consumer-data.md.
  • allsnps versus intersection. Using all available SNPs per statistic increases power but can introduce bias if missingness is correlated with ancestry; Patterson et al. (2012) and the ADMIXTOOLS documentation both advise checking that conclusions hold under both settings.
  • Ascertainment. f-statistic ratios (such as admixture proportions from f4-ratio estimation) are relatively robust to SNP ascertainment, but absolute magnitudes are not; comparing statistics computed on different SNP panels is unsafe.
  • Which populations enter matters more than how many. A significant f4 localises gene flow only up to the set of populations tested; unsampled "ghost" populations related to those tested produce the same signal.

f4-ratio estimation

When a target X is a mixture of sources related to A and B, and suitable outgroups exist, the mixture proportion can be estimated as a ratio of two f4 statistics, which cancels the drift specific to X. This is the conceptual ancestor of qpAdm (see qpadm.md), which generalises it to several sources and a set of right populations and adds a goodness-of-fit test.

References

  • Patterson N, Moorjani P, Luo Y, et al. (2012). Ancient admixture in human history. Genetics 192(3):1065-1093.
  • Reich D, Thangaraj K, Patterson N, Price AL, Singh L (2009). Reconstructing Indian population history. Nature 461:489-494. (Introduces the f-statistic-based approach used for South Asia; see south-asia.md.)
  • Maier R, Flegontov P, Flegontova O, Isildak U, Changmai P, Reich D (2023). On the limits of fitting complex models of population history to f-statistics. eLife 12:e85492.

Source: docs\methods\f-statistics.md

5.qpWave and qpAdm

What qpAdm does

qpAdm tests whether a target population can be modelled as a mixture of a set of left (source, or "proximate") populations, using a set of right (reference, or "outgroup") populations as a scaffold, and estimates the mixture weights. It works on the matrix of f4 statistics of the form f4(left_i, left_j; right_k, right_l) and, equivalently, on f4 statistics relating the target to the right populations. The method is described in the supplementary material of Haak et al. (2015, Nature 522:207-211) and systematically evaluated by Harney, Patterson, Reich and Wakeley (2021, Genetics 217(4):iyaa045). qpWave is the related test of how many independent streams of ancestry are needed to relate two sets of populations.

Key property: qpAdm does not require the sources to be the actual admixing populations, only populations that are cladal with them relative to the right set. This is what makes it usable with imperfect proxies, and also what makes the choice of right populations decisive.

Output and how to read it

  • Weights - the estimated proportions, which sum to one. Weights outside [0,1] (commonly reported as "infeasible") mean the model is not a valid mixture and should be rejected regardless of its p-value.
  • Standard errors - from a block jackknife over genomic blocks.
  • p-value - from the chi-square goodness-of-fit of the model's rank constraint. The null hypothesis is that the model is adequate. A small p-value rejects the model.
  • Rank/chi-square table - the fit of nested rank hypotheses, used to ask how many sources are needed.
  • Number of SNPs - the amount of data behind the statistics.

Interpreting p-values honestly

  • A p-value above the threshold means the model is not rejected. It is not evidence that the model is correct, and it does not rank above another non-rejected model. Several mutually exclusive models routinely pass.
  • A p-value below the threshold means the data are inconsistent with the model given that right set. This is informative, and usually more informative than a pass.
  • Thresholds are conventional (0.05 and 0.01 are both in use). Because many models are often tested, the nominal level is not the false-positive rate of the exercise as a whole; report how many models were tested.
  • p-values are not comparable across models with different right sets, different targets or different SNP counts, and a larger p-value does not mean a better model. Treating p-values as a model-ranking score is one of the most common errors in applied qpAdm work.
  • Power depends on SNP count and on how differentiated the sources are. With few SNPs, almost nothing is rejected; with very many, almost everything is, because real histories are more complex than any two- or three-way model.

Choice of right populations

Harney et al. (2021) show by simulation that qpAdm's behaviour depends strongly on the right set. Requirements, in practice:

  • Right populations must be differentially related to the sources: each source should share drift with at least one right population that the others do not. A right set that cannot distinguish two sources leaves their weights unidentifiable.
  • Right populations must not share post-divergence drift with the target that the sources lack (no gene flow between the target and a right population after the sources split off); otherwise valid models are rejected and invalid ones can pass.
  • A right population that is itself admixed from the sources is a common cause of hard-to-interpret failures.
  • Larger right sets give more power to reject, but also more opportunities for a violated assumption; adding closely related right populations adds little.
  • Harney et al. also find that qpAdm can be sensitive to the inclusion of a right population that is more closely related to the target than any source is, and that models with very few SNPs or very small sample sizes behave erratically.

Rotation strategies

Because conclusions depend on the left/right split, a standard robustness procedure is rotation: take a pool of candidate populations and, for each model, place some in the left set and the remainder in the right set. Variants:

  • Source rotation - try all subsets of candidates as sources with a fixed right set. Reports which source combinations are not rejected.
  • Rotating (left-right) rotation - every candidate not used as a source becomes a right population. This is the scheme used in several ancient-DNA studies and is implemented as qpadm_rotate in ADMIXTOOLS 2. It explores the space of models without privileging one hand-chosen right set.
  • Right-set rotation / leave-one-out - keep the model and drop or swap individual right populations to see whether the verdict is stable. A model whose p-value crosses the threshold when one right population is removed should be reported as unstable.

Maier et al. (2023) caution that large rotation exercises amount to searching for models that pass, and that the number of non-rejected models grows with the candidate pool; the honest report is the full set of non-rejected models with their weights, not the single best p-value.

  1. Form hypotheses and choose a target with enough SNPs to support the test.
  2. Propose candidate sources and right populations from geography, dates and screening distances, then justify them.
  3. Run the focal model(s) and record weights, SE, p-value and SNP count.
  4. Rotate sources to find the set of non-rejected models; rotate or drop right populations to test stability.
  5. Report every model tested, which were rejected, which were not, and what distinguishes them. Prefer the simplest non-rejected model and say explicitly that alternatives remain.

References

  • Haak W, Lazaridis I, Patterson N, et al. (2015). Massive migration from the steppe was a source for Indo-European languages in Europe. Nature 522:207-211. (qpAdm introduced in the supplement.)
  • Harney E, Patterson N, Reich D, Wakeley J (2021). Assessing the performance of qpAdm: a statistical tool for studying population admixture. Genetics 217(4):iyaa045.
  • Maier R, Flegontov P, Flegontova O, Isildak U, Changmai P, Reich D (2023). On the limits of fitting complex models of population history to f-statistics. eLife 12:e85492.
  • Patterson N, Moorjani P, Luo Y, et al. (2012). Ancient admixture in human history. Genetics 192(3):1065-1093.
  • Reich D, Thangaraj K, Patterson N, Price AL, Singh L (2009). Reconstructing Indian population history. Nature 461:489-494. (qpWave-style rank testing.)

Source: docs\methods\qpadm.md

6.ADMIXTOOLS 2

What it is

ADMIXTOOLS 2 is an R package that reimplements the classical ADMIXTOOLS programs (qp3Pop, qpDstat, qpWave, qpAdm, qpGraph) with a different computational strategy, described in Maier R, Flegontov P, Flegontova O, Isildak U, Changmai P, Reich D (2023), "On the limits of fitting complex models of population history to f-statistics", eLife 12:e85492.

The central design change is precomputed f2 blocks. Instead of reading genotype files for every statistic, ADMIXTOOLS 2 computes per-block f2 statistics for all population pairs once and stores them in a directory (the f2_dir). Every subsequent f4, qpWave, qpAdm or qpGraph calculation is then a fast operation on that array. This makes large model searches, such as exhaustive qpAdm rotation over a candidate pool, practical, and it is why Strata computes an f2 directory for its reference panel as a pipeline step.

Practical notes

  • f2 blocks are panel-specific. A set of f2 blocks encodes a fixed SNP set, block definition and population grouping. Statistics from different f2 directories are not comparable, and adding a population requires extending the blocks.
  • maxmiss, minac2 and related options control how missing data and allele counts are handled when the blocks are built, and they affect every downstream statistic. Record them with the artefact.
  • "All SNPs" versus intersection - computing each statistic on all SNPs available for the populations involved increases power but can bias results when missingness correlates with ancestry (see f-statistics.md). ADMIXTOOLS 2 exposes this choice; results should be checked both ways when they are close to a decision boundary.
  • Numerical agreement with the original programs. Maier et al. report close agreement with the classic ADMIXTOOLS implementations; small differences arise from block definitions and missing-data handling, so a published statistic reproduced in ADMIXTOOLS 2 may differ in the last reported digit.
  • qpGraph fitting is a search, not an estimate. The same paper's main argument is a caution: the space of admixture graphs that fit f-statistics well is large, many graphs fit indistinguishably, and automated graph search can produce confidently wrong topologies. Strata exposes qpAdm and f4 rather than automated graph inference for this reason.

How Strata calls it

Formal statistics are computed by an R subprocess. Python writes a JSON specification (target, left, right, options, f2 directory or genotype prefix), invokes Rscript services/worker/r/qpadm.R spec.json out.json, and parses the JSON result into typed models carrying kind="formal". The agent never calls R directly; it goes through the job runner so that long-running rotations execute on the worker. When R or ADMIXTOOLS 2 is not installed, qpadm_available() returns false and the agent must state that only exploratory analyses are possible.

References

  • Maier R, Flegontov P, Flegontova O, Isildak U, Changmai P, Reich D (2023). On the limits of fitting complex models of population history to f-statistics. eLife 12:e85492.
  • Patterson N, Moorjani P, Luo Y, et al. (2012). Ancient admixture in human history. Genetics 192(3):1065-1093. (The statistics ADMIXTOOLS 2 implements.)
  • Harney E, Patterson N, Reich D, Wakeley J (2021). Assessing the performance of qpAdm. Genetics 217(4):iyaa045.

Source: docs\methods\admixtools2.md

7.Consumer Raw DNA Files: What They Can and Cannot Support

What the file is

Consumer genotyping services (23andMe, AncestryDNA, FamilyTreeDNA, MyHeritage and others) run a SNP array: a fixed set of several hundred thousand pre-selected variants, reported as a genotype call per marker. A raw-data export is therefore not a sequence. It typically contains rsID or vendor marker ID, chromosome, position and a two-allele genotype, on reference build GRCh37 for most vendors and chip versions.

Limitations that affect every analysis

SNP overlap with ancient-DNA panels

Ancient genomic studies most often use the "1240k" capture panel (about 1.24 million SNPs) or the Human Origins array (about 600,000 SNPs). A consumer array shares only part of its content with these. After intersecting with the SNPs actually covered in a given set of ancient samples

  • many of which have substantial missingness - the usable SNP count for an f-statistic can fall to tens of thousands. Consequences:
  • Standard errors on f4 and qpAdm weights scale roughly with the inverse square root of the number of SNPs, so low overlap produces wide intervals and little power to reject models.
  • With low power, many models are "not rejected" simply because the data cannot distinguish them. The honest conclusion is that the data are uninformative, not that all those models fit.
  • Always report the SNP count behind each statistic.

Chip ascertainment

Array content is chosen for medical and genealogical utility in largely European-ancestry cohorts: common variants, variants useful for imputation in reference panels, and known trait-associated loci. This ascertainment distorts allele-frequency spectra and makes absolute f-statistic magnitudes panel-dependent. The Affymetrix Human Origins array was specifically designed with ascertainment schemes based on discovery in single individuals of known populations, precisely so that frequency spectra would be interpretable (Patterson et al. 2012; Lazaridis et al. 2014, Nature 513:409-413). Consumer arrays have no such design. Practical rules:

  • Compare statistics only within one SNP panel.
  • Prefer f-statistic ratios and model fits over absolute magnitudes.
  • Expect ancestry components rare in the discovery cohorts to be less well resolved.

Strand, build and allele coding

Vendor files vary in strand convention, allele ordering and build. Harmonisation must match by rsID where possible, fall back to chromosome and position on the same build, resolve strand flips, and drop strand-ambiguous A/T and C/G SNPs, which cannot be resolved by flipping alone. Un-resolved strand errors look like genuine but implausible ancestry, and are a frequent cause of a sample sitting far outside the reference cloud.

Genotype quality and missingness

Consumer arrays have per-marker call rates below 100%, occasional systematic failures on specific chip versions, no-calls encoded in vendor-specific ways, and indels that do not map to biallelic SNP panels. Report call rate, number of no-calls, heterozygosity and sex-chromosome counts as QC, and treat an unusual heterozygosity rate as a sign of contamination or of a non-standard file rather than of unusual ancestry.

One individual, not a population

A single genome is one draw from the ancestry distribution of its ancestors. A reference population mean is an average over individuals. Modelling one person against population means conflates individual-level variation (including recent, idiosyncratic ancestry and the particular recombination of four grandparents) with population-level history. Confidence intervals from bootstrapping reference individuals do not capture this.

Relatives, recent admixture and consanguinity

Recent admixture produces long ancestry tracts and can fit poorly in methods assuming long-settled mixtures. Consanguinity raises homozygosity, affecting heterozygosity-based QC and some statistics.

What consumer data can support

  • Position relative to reference populations in a documented coordinate space, with projection shrinkage noted (see pca.md).
  • Exploratory coordinate fits for screening (see g25-coordinates.md).
  • Formal qpAdm or f4 tests where SNP overlap is sufficient, with SNP counts and standard errors reported, and with the understanding that power is limited.
  • Clear statements about what the data cannot resolve.

What they cannot support

  • Fine-scale claims (specific villages, named historical individuals or clans, exact percentages to multiple decimal places).
  • Dating individual admixture events reliably from a single array genotype.
  • Any claim about identity, nationality or group membership. Ancestry is a statement about statistical relatedness to sampled reference groups.

References

  • Patterson N, Moorjani P, Luo Y, et al. (2012). Ancient admixture in human history. Genetics 192(3):1065-1093.
  • Lazaridis I, Patterson N, Mittnik A, et al. (2014). Ancient human genomes suggest three ancestral populations for present-day Europeans. Nature 513:409-413. (Human Origins array and its ascertainment panels.)
  • Mathieson I, Lazaridis I, Rohland N, et al. (2015). Genome-wide patterns of selection in 230 ancient Eurasians. Nature 528:499-503. (1240k capture panel in use.)
  • Harney E, Patterson N, Reich D, Wakeley J (2021). Assessing the performance of qpAdm. Genetics 217(4):iyaa045. (Effects of SNP count and sample size on qpAdm behaviour.)

Source: docs\methods\consumer-data.md

8.South Asian Population History

This summary covers the published findings most often needed when analysing South Asian ancestry. It states what the cited papers report; it is not a substitute for running the analyses.

The ANI-ASI cline

Reich D, Thangaraj K, Patterson N, Price AL, Singh L (2009), "Reconstructing Indian population history", Nature 461:489-494, showed that genetic variation among most Indian groups is well described by a gradient between two inferred ancestral components, which they named Ancestral North Indian (ANI), related to West Eurasians (including Central Asians, Middle Easterners, Caucasians and Europeans), and Ancestral South Indian (ASI), not closely related to any population outside the subcontinent. Groups across the subcontinent fall along this cline, with ANI proportion varying systematically with geography, language family and traditional social group. The paper also reported strong founder effects and endogamy in many groups, which is why individual-level inference in South Asia must account for high levels of relatedness and group-specific drift.

Note that ANI and ASI are inferred, unsampled ancestral components, not populations that exist as reference samples. Modelling a modern South Asian individual therefore uses proxies.

Ancient DNA and the three-source picture

Narasimhan VM, Patterson N, Moorjani P, et al. (2019), "The formation of human populations in South and Central Asia", Science 365:eaat7487, assembled a large ancient genomic dataset from Central and South Asia. Its principal findings, as reported:

  • South Asian populations are modelled with contributions from (i) a local South Asian hunter-gatherer-related lineage, (ii) Iranian-plateau-related ancestry, and (iii) Steppe pastoralist-related ancestry arriving later.
  • A group of individuals from sites in Central Asia and one outlier at Gonur, plus individuals from the Indus periphery, carry a mixture of Iranian-related and South-Asian-hunter-gatherer- related ancestry without Steppe ancestry; these are treated as a proxy for the ancestry of Indus Valley Civilisation populations.
  • Steppe-related ancestry (Middle to Late Bronze Age steppe, "Steppe_MLBA") is present in later South Asian groups and is correlated with traditional priestly status in some present-day groups, which the authors discuss in relation to the spread of Indo-European languages.
  • The ASI component is modelled as a mixture of the indigenous South Asian lineage with Iranian-related ancestry, i.e. ASI itself is not a pristine lineage.

Shinde V, Narasimhan VM, Rohland N, et al. (2019), "An ancient Harappan genome lacks ancestry from Steppe pastoralists or Iranian farmers", Cell 179:729-735, reported a single low-coverage genome from Rakhigarhi, a major Indus Valley Civilisation site. Its ancestry is consistent with the Indus-periphery profile: a mixture of a South Asian hunter-gatherer-related lineage and an Iranian-plateau-related lineage that diverged from the ancestors of Iranian farmers and herders before those groups adopted farming, and it carries no detectable Steppe ancestry. The sample size is one individual with limited coverage, a limitation the paper states explicitly.

Implications for modelling

  • Three-way models are the norm. Modern South Asian targets usually need sources representing an indigenous South Asian lineage, an Iranian-plateau-related lineage, and a Steppe-related lineage. Two-way models frequently fail for groups with substantial Steppe ancestry.
  • Proxies, not ancestors. Onge (Andamanese) is commonly used as the least West-Eurasian- shifted available proxy for the indigenous South Asian lineage, but the Onge are a specific, highly drifted population and not an ASI sample. Similarly, Iranian Neolithic samples (e.g. from Ganj Dareh) are proxies for a lineage, not the actual contributing population. Weights attach to the proxies, not to historical peoples.
  • Right-population choice is delicate. Many Eurasian populations share drift with one or more South Asian sources. Right sets must be checked for gene flow with the target (see qpadm.md), and conclusions should be tested by rotation.
  • Endogamy and founder effects inflate within-group drift, which reduces qpAdm's power and can make group-specific drift look like a poor fit. Narasimhan et al. and Reich et al. both discuss this.
  • Caste, language and genetics are distinct. The cited papers report statistical correlations between ancestry components and social or linguistic categories at the level of groups. Those correlations do not license statements about an individual's identity, and Strata's reports should not make them.

References

  • Reich D, Thangaraj K, Patterson N, Price AL, Singh L (2009). Reconstructing Indian population history. Nature 461:489-494.
  • Narasimhan VM, Patterson N, Moorjani P, et al. (2019). The formation of human populations in South and Central Asia. Science 365:eaat7487.
  • Shinde V, Narasimhan VM, Rohland N, et al. (2019). An ancient Harappan genome lacks ancestry from Steppe pastoralists or Iranian farmers. Cell 179:729-735.
  • Moorjani P, Thangaraj K, Patterson N, et al. (2013). Genetic evidence for recent population mixture in India. American Journal of Human Genetics 93:422-438. (Dates the ANI-ASI mixture using admixture linkage disequilibrium.)

Source: docs\methods\south-asia.md