Skip to content

Ancestry methods & validation

This page explains how Yeliztli infers ancestry, and — just as importantly — the limitations of those methods. It's the deeper companion to the user-facing Ancestry module.

Ancestry is an estimate, not an identity

Everything here produces statistical estimates with genuine uncertainty. Genetic ancestry is a continuous, model- and reference-dependent quantity — not a fixed label, and not a statement about culture, ethnicity, or identity.

Yeliztli uses a two-tier system:

  • Tier 1 (always available, instant): genome-wide global ancestry via PCA, admixture proportions, and haplogroups.
  • Tier 2 (optional, slower): local ancestry inference — "painting" each chromosome by ancestral origin.

Tier 1 — Global ancestry by PCA

Principal Component Analysis (PCA) is the standard way to summarise genome-wide genetic structure: a handful of principal components capture the major axes of variation that separate populations 1. Yeliztli does not re-run PCA on your data; instead it projects you onto a pre-computed reference space.

  • Reference panel & markers. A panel of 3,419 reference individuals spanning 7 super-populations — African (AFR), American (AMR), Central/South Asian (CSA), East Asian (EAS), European (EUR), Middle Eastern (MID), and Oceanian (OCE) — with 8 principal components (their significance assessed by Tracy–Widom statistics).
  • Ancestry-informative markers (AIMs). Projection uses 5,000 AIMs — markers chosen because their allele frequencies differ most between populations. Carefully selected AIMs can assign continental ancestry with high accuracy using only a small fraction of the genome 2.
  • Projection onto reference PCs. Reusing pre-computed PC loadings from a reference panel (rather than re-deriving them) is an established, accurate approach to ancestry inference 3.

Projection shrinkage on sparse data

Markers your file doesn't cover are mean-imputed before projection. Projected PCs are known to suffer a shrinkage bias toward the origin, which grows as coverage drops 4. On sparse genotypes this can pull you toward the centre of the PCA plot and soften the signal — which is one reason Yeliztli reports a coverage fraction and can return Uncertain.

Admixture proportions

PCA places you in a space; admixture estimation turns that position into fractions:

  • Primary estimate — NNLS. Your coordinates are decomposed into per-population proportions by non-negative least squares (proportions can't be negative and sum sensibly). Combining PCA with NNLS is a fast, validated way to estimate ancestry proportions, even with substantial missing data 5. A 95% confidence interval is produced by bootstrapping (100 iterations, resampling AIMs).
  • Secondary estimate — kNN. A k-nearest-neighbours estimate (k = 15) is computed independently; the cosine similarity between the NNLS and kNN vectors becomes a confidence signal. When the two disagree, confidence is lowered.

How a call is decided

  • A confident single-population call requires AIM coverage above ~55%; below that, Yeliztli returns Uncertain rather than guess.
  • If your second-nearest population centroid is not much farther than the nearest (within ~3×), you're reported as Admixed rather than forced into one label.
  • Quality flags (low coverage, narrow centroid margin) travel with the result.

Haplogroups

Yeliztli also assigns deep-lineage haplogroups from lineage-defining variants:

  • Mitochondrial (maternal) haplogroups via the PhyloTree reference phylogeny, the widely accepted reference tree for human mtDNA variation 6.
  • Y-chromosome (paternal) haplogroups via the ISOGG tree — only for samples inferred as XY (skipped otherwise).

How to read the haplogroup "confidence" badge

The current interface labels a path-marker support fraction as confidence. For the assigned tree path, Yeliztli adds the defining-marker counts recorded at every traversed node and displays present / total, where total = present + conflicting + missing:

  • Present — the marker is typed and its derived allele is observed.
  • Conflicting — the marker is typed but its derived allele is absent, which is positive evidence against that clade.
  • Missing — the marker is untyped or a no-call, so it supplies no evidence either way. It is nevertheless included in total.

This percentage is therefore not an estimated probability that the haplogroup call is correct. It reports how many of the assigned path's defining-marker entries were observed as derived, and it falls when the input file omits those markers. The same person can receive different percentages from arrays with different marker coverage, so do not compare the badge across vendors or files as though it were a probability. A low or red badge on a sparse file can reflect untyped markers rather than evidence that the assignment is wrong.

After the fraction is rounded to a whole percentage, the badge is green at 80% or above, amber from 50% through 79%, and red below 50%. The accompanying N / M defining SNPs matched line shows the same overall numerator and denominator before percentage rounding. The traversal path shows each successive tree node on the route to the final assignment; its N/M label uses that node's full defining-marker set, including inherited markers that may also appear at an earlier node. The overall N / M sums these per-node entries without deduplicating them, so a marker re-listed at multiple nodes can contribute more than once.

The display ratio is not the tree-walk decision rule

For a child to count as a directly supported clade, Yeliztli evaluates only the markers that distinguish it from its ancestors. At least one must be observed as derived, at least 50% of that clade-specific set must be derived, and no observed clade-specific marker may conflict. Structural or specially audited sparse internal nodes may be traversed only as pass-throughs when a deeper clade supplies independent support. The badge and traversal labels instead summarise the full marker sets recorded along the accepted path.


Tier 2 — Local ancestry inference (optional)

Where Tier 1 gives one genome-wide summary, local ancestry inference (LAI) estimates the ancestral origin of each segment of each chromosome — "chromosome painting." This is the optional LAI bundle (large download, Java 8+, ~15–30 minutes per sample; see reference data).

The pipeline first statistically phases your genotypes against a reference panel (Beagle), then assigns ancestry to short windows using machine-learning models, and smooths the result. This is the same family of methods as RFMix, a discriminative (random-forest) approach that is fast and robust for continental-scale local ancestry 7, and as the large-panel deconvolution pipelines used by consumer-genomics services 10.

LAI accuracy depends on phasing and reference panels

Two dependencies materially affect LAI quality:

  • Phase quality. Phase-based LAI degrades when statistical phasing is imperfect; switch errors directly reduce accuracy 9.
  • Reference representation. Accuracy is ancestry-specific and depends on having a well-matched reference panel. In benchmarks, true-positive rates were ~96–99% for European and African tracts but notably lower (~88–94%) for Indigenous-American tracts, and mis-calls tended to default toward European ancestry 8.

Treat painted segments — especially for under-represented ancestries — as estimates, not ground truth.


Limitations & honest caveats

  • Reference panels bound what can be seen. Populations that are sparsely represented in the reference panel (e.g. MID, OCE, many Indigenous groups) are inferred less reliably 8.
  • PCA itself has pitfalls. PCA results can be sensitive to data processing and ascertainment and can be over-interpreted; they should be read as a summary of structure, not a literal map of populations 11.
  • Array coverage matters. Sparse or low-coverage files shrink toward the centre of the PCA space 4; Yeliztli surfaces coverage and downgrades confidence accordingly.
  • It is not an identity test. Admixture percentages and haplogroups describe genetic similarity to reference groups; they don't define who you are.

  1. Principal components analysis corrects for stratification in genome-wide association studies (Price et al., 2006, Nature Genetics). 

  2. Ancestry informative markers for fine-scale individual assignment to worldwide populations (Paschou et al., 2010, J. Med. Genet.). 

  3. Improved ancestry inference using weights from external reference panels (Chen et al., 2013, Bioinformatics). 

  4. Efficient toolkit implementing best practices for principal component analysis of population genetic data (Privé et al., 2019, Bioinformatics). 

  5. PANE: fast and reliable ancestral reconstruction on ancient genotype data with non-negative least square and principal component analysis (de Gennaro et al., 2025, Genome Biology). 

  6. Updated comprehensive phylogenetic tree of global human mitochondrial DNA variation (PhyloTree) (van Oven & Kayser, 2009, Human Mutation). 

  7. RFMix: a discriminative modeling approach for rapid and robust local-ancestry inference (Maples et al., 2013, Am. J. Hum. Genet.). 

  8. Characterizing features affecting local ancestry inference performance in admixed populations (Honorato-Mauer et al., 2024, Am. J. Hum. Genet.). 

  9. Phase-free local ancestry inference mitigates the impact of switch errors on phase-based methods (Avadhanam et al., 2025, G3). 

  10. A scalable pipeline for local ancestry inference using tens of thousands of reference haplotypes (Durand et al., 2021). 

  11. Principal Component Analyses (PCA)-based findings in population genetic studies are highly biased and must be reevaluated (Elhaik, 2022, Scientific Reports).