A field guide to population genetics

Computational population genetics, clearly explained

Posts on genetic data, ancient DNA, and the methods used to study ancestry and human history.

Latest Posts

Latest post

Testing Ancestry Models with qpAdm in AdmixPy: A Tarim Basin Example

qpAdm tests whether a target can be modeled as a mixture of proposed source populations. It uses f4f_4f4​-statistics to compare how the target and sources relate to a set of reference populations, then estimates mixture proportions and evaluates how well the proposed model fits the data. Data and prerequisites To run qpAdm models, you need a genetic dataset. See Downloading and Converting AADR v66 for the dataset used here. ...

October 17, 2026

Revisiting Genetic Ancestry in Chalcolithic and Early Bronze Age Eastern Anatolia and the Southern Caucasus

In the figure below, I used F4Mix to compare samples spanning the Chalcolithic to the Bronze Age from Arslantepe, Chalcolithic Areni-1, Kalavan, and Dzhoghaz-Berkaber. The last two are associated with the Bronze Age Kura-Araxes culture: All 41 models passed, none fell below the p-value threshold of 0.05. I kept the number of sources small to avoid introducing unnecessary complexity into the models. Groups shown in the plot were predefined prior to the analysis and do not reflect clustering based on the resulting scores. Some groups could be regrouped based on these results. ...

October 7, 2026

The Mediterranean Punic World Was Genetically Diverse, With Substantial Levantine Ancestry

Ringbauer et al. argued in their 2025 paper, “Punic people were genetically diverse with almost no Levantine ancestors”, that Punic people had almost no Levantine ancestors. Their conclusion seems to be based mainly on qpAdm rotation results. The source choices were distal. Instead of using Iron Age groups from around the Mediterranean, including the newly sequenced Akhziv Phoenician group, the study used Bronze Age groups. It also used Neolithic Ganj Dareh as a source. ...

September 24, 2026

Interpreting f4-Statistics with AdmixPy

f4-statistics can be used to test asymmetries in allele sharing between populations. They measure the covariance between allele-frequency differences across two pairs of populations. Theory and formula An f4-statistic is the average, across SNPs, of the product of the allele-frequency differences between two pairs of populations: f4(A,B;C,D)=Ei[(pA,i−pB,i)(pC,i−pD,i)] f_4(A,B;C,D)=\mathbb{E}_i\left[(p_{A,i}-p_{B,i})(p_{C,i}-p_{D,i})\right] f4​(A,B;C,D)=Ei​[(pA,i​−pB,i​)(pC,i​−pD,i​)]Multiplying out results in: ...

September 16, 2026

A Potential Early Dynastic Kish G2a Individual (I25719) with Upper Mesopotamian Neolithic Ancestry

Among the unreleased samples in the Akbari et al. dataset is an individual (IID: I25719) rumoured to be from Kish, dated in the supplementary table to the Early Dynastic III period, around 2450 BCE. His Y-DNA haplogroup is G-FT19860, a downstream branch of G2a, one of the main paternal lineages associated with Anatolian Neolithic farmers, and his mtDNA haplogroup is R0a1a. The sample has decent coverage: 598,059 “compatibility” SNPs were called, 645,472 were missing. ...

September 12, 2026

A Potential Bronze Age Anatolian-Derived V1636 Sample (I41584)

Among the Akbari et al. dataset, there is a previously unreported individual (Sample IID: I41584/I41584_preQC) potentially from Anatolia. His terminal Y-DNA subclade is Y148982/Y106006 (TMRCA ~3100 BCE according to FTDNA), a lineage that also includes most modern West Asian and Near Eastern V1636 samples. His maternal haplogroup is HV29d1, also according to FTDNA. ...

September 4, 2026