Skip to content

MWII01, a low-coverage femur from the Abbey Church of Middelburg: ancestry fit against medieval, Roman and Iron Age references

MWII01, a low-coverage femur from Middelburg Abbey, fitted with qpAdm, f-statistics and entropy-rescaled PCA distances: a Netherlands Medieval Saxon source fits, no Slavic source adds anything, and only 4 of 104 two-source models are precise.

Mvagnus Albertus · Popualtion Geneticist

Published 13 min read

MWII01 is a low-coverage femur (ENA PRJEB113845) from the Abbey Church of Middelburg, traditionally attributed to William II, Count of Holland and King of the Romans (r. 1247–1256); historians have also named his brother Floris the Guardian, and the attribution is not settled. We describe which reference groups the genome resembles, using 106 qpAdm models fixed before they were run, f3 and f4 statistics, Fst among reference groups, a distal model and rescaled PCA distances. A single North Sea medieval source, Netherlands Medieval Saxon, is not rejected (p = 0.108), and no second medieval source is supported when added to it. In a Roman-period frame the only precise model is Denmark Roman Iron Age 90 ± 4 % plus Imperial Rome (Lazio) 10 ± 4 % (p = 0.068); the single-source version is rejected (p = 0.019). Only 4 of 104 two-source models are both feasible and precise. On the rescaled maps MWII01 lies with Low Countries and English medieval groups, and modern French, English and GBR cannot be separated. Fst among 32 reference groups puts Netherlands Medieval Saxon 9–11 × 10⁻³ from ten other North Sea medieval and Viking groups, which differ by at most 3 × 10⁻³ from one another. One low-coverage genome supports a Northwest European medieval profile with no detectable Slavic input and at most a small Mediterranean component; it does not resolve which North Sea group, and it says nothing about whose bones these are.

Data and design

Sample and reference. MWII01 (femur) was converted from public sequence data1 to the 1240K SNP set: 388,541 SNPs in the converted file, 369,415 overlapping the AADR v66 reference2 (1,233,013 SNPs); between 221,000 and 235,000 SNPs entered each qpAdm model on the AADR frame (70,000 to 214,000 in the distal models). Comparison groups come from the AADR v66 extended frame in a Nexju custom dataset; Belgium Medieval is used without 11 genomes that duplicate libraries of other Belgian groups or are flagged for contamination (32 of 43 kept). The identity of the skeleton is not tested by any analysis here.

qpAdm. Models follow the qpAdm method3 with alpha 0.05, maximum weight SE 10 percentage points (pp) and all-SNPs off. Right panel D (14 populations): Australian, Papuan, Mbuti, Karitiana, Turkey_PPN, Israel_Natufian, Iran_WezmehCave_N, Italy_Sicily_Epigravettian, Turkey_N, Russia_Samara_EBA_Yamnaya, Iran_GanjDareh_N, Georgia_KotiasKlde_Mesolithic, Serbia_IronGates_Mesolithic, Russia_Karelia_Mesolithic; in rotations the candidates not used on the left join the rights. A model is retained when p ≥ 0.05, every weight lies in [0, 1] and every weight SE is below 10 pp. Retention is not a best-model claim: Table 1 shows every model that passes, not a ranking. Seven fixed models (W1–W7), six exhaustive two-source rotations (A, B, Iron Age, C, D, E; six candidates, 15 models each) and an add-one rotation (F; Netherlands Medieval Saxon locked, nine candidates) were specified in writing before each batch was run. In total 106 models were run on this one genome.

Distal model. On the distal frame (Anatolian farmer, Yamnaya, CHG-Zagros, WHG as lefts; 9 to 13 rights) rank 4 and rank 3 models were fitted.

f-statistics. Outgroup f3(Mbuti; MWII01, X) for 29 groups and f4(Mbuti, MWII01; X, Y) for 18 contrasts4, with block-jackknife SEs.

Fst. Hudson Fst5 among 32 reference groups, on the 970,494 SNPs that all of them share, with block-jackknife SEs. Fst is undefined for a single pseudohaploid genome, which has no within-group variance, so MWII01 is not one of the 32 groups; the analysis shows how well the reference groups can be told apart.

Rescaled PCA distances. Two reference panels build the axes (P1: Basque, Sardinian, Russian, Finnish, Adygei, Druze; P2: Palestinian instead of Druze; six components, no shrinkage, no LD pruning). MWII01 and 27 comparison groups are projected only; none is a reference. PC1 and PC2 explain 1.90 % and 1.60 % (P1, 311,543 SNPs) and 1.94 % and 1.49 % (P2, 321,506 SNPs). Distances follow Taleb et al.6 as implemented in the Nexju PCA-distance tool: entropy-rescaled maps A and B only (no classical map), four origin shifts and a bootstrap of individuals (2,000 resamples). A statement is stable if it holds in at least 80 % of settings and shifts and in the bootstrap, otherwise it depends. These are descriptions of a two-dimensional projection, not ancestry results, and a low-coverage genome is shrunk toward the centre of the cloud.

qpAdm: few models are both feasible and precise

Of 104 two-source models, 44 are rejected (p < 0.05), 37 fit but need a weight outside 0–100 %, 19 are feasible but imprecise (SE ≥ 10 pp) and 4 are feasible and precise (Table 1 shows the models that pass, Table 2 gives every rotation). Of the two single-source models, W2 (Netherlands Medieval Saxon, 100 %) is retained (p = 0.108) and W1 (Belgium High Medieval) is rejected (p = 0.0016).

Table 1qpAdm models that pass: p ≥ 0.05, weights in 0–100 %, every weight SE below 10 pp.

Model

Frame

Sources (weight % ± SE)

p

Largest weight SE (pp)

W2

Medieval, single source

NL Medieval Saxon 100

0.108

single source

B3

Medieval plus Lazio

NL Medieval Saxon 98 ± 5; Imperial Rome (Lazio) 2 ± 5

0.130

4.9

E6

Roman period

Denmark Roman IA 90 ± 4; Imperial Rome (Lazio) 10 ± 4

0.068

4.4

IA2

Iron Age

Denmark Roman IA 73 ± 8; Magdalenenberg 27 ± 8

0.178

8.1

IA12

Iron Age

Magdalenenberg 29 ± 7; Sweden IA 71 ± 7

0.128

7.3

Right panel D, alpha 0.05. W2 is a single-source model; B3, E6, IA2 and IA12 are two-source models from rotations B, E and Iron Age (Table 2). Magdalenenberg is Germany Magdalenenberg Iron Age (Hallstatt). The Lazio weight in B3 (1.9 %) is zero within error. Passing is not a ranking, and 106 models were run on this one genome.

Table 2qpAdm rotations for MWII01: models that pass at each step, and the best retained model.

Rotation

Candidate pool

Models

p ≥ 0.05

+ feasible

+ SE < 10

Best retained model (weights, SE)

W

NL Saxon, Belgium HM, Denmark Viking, Niederwunsch Slavic, Valkenburg Roman

7

5

1

1*

W2: NL Medieval Saxon 100 % (p 0.108)

A

NL Saxon, Belgium HM, Anderten, Denmark Viking, England Saxon, Valkenburg

15

12

4

0

NL Saxon 82 ± 35 + Belgium HM 18 ± 35

B

NL Saxon, Belgium HM, Niederwunsch, Lazio Imperial, Bucy-le-Long, Valkenburg

15

6

1

1

NL Saxon 98 ± 5 + Lazio 2 ± 5 (p 0.130)

Iron Age

Denmark Roman IA, Bucy-le-Long, Magdalenenberg, England LIA/MIA, Valkenburg, Sweden IA

15

8

7

2

Denmark Roman IA 73 ± 8 + Magdalenenberg 27 ± 8; Magdalenenberg 29 ± 7 + Sweden IA 71 ± 7

C

NL Saxon, Denmark Medieval, Norway Viking, Sweden Viking, England Early Med. Saxon, Cambridgeshire Med.

15

12

6

0

none precise (SE 24–68 pp)

D

Belgium Early Med., Belgium Medieval, Schleswig, Drantum, Dunum, Iceland Viking

15

9

2

0

none precise (SE 23–36 pp)

E (Roman)

Valkenburg, Denmark Roman IA, Lazio Imperial, Croatia Bubis Cave, England Roman (GP), France Grand Est Late Antiquity

15

3

1

1

Denmark Roman IA 90 ± 4 + Lazio Imperial 10 ± 4 (p 0.068)

F (add-one)

NL Saxon locked + 9 candidates (Belgium HM, Denmark Viking, England Saxon, Niederwunsch, Velim, Estonia, Basilicata, Lazio Late Ant., Valkenburg)

9

6

2

0

added weights imprecise or near zero

Panel D, alpha 0.05. The columns count the models with p ≥ 0.05, of those the models with all weights in 0–100 %, and of those the models with all weight SE below 10 pp. *W2 is a single-source model. Rotations are exploratory, and 106 models were run in total.

Roman-period and medieval models

Rotation E gives the only precise Roman-period survivor: Denmark Roman Iron Age pool 89.7 ± 4.4 % with Imperial Rome (Lazio) 10.3 ± 4.4 % (p = 0.068, 230,854 SNPs). Twelve of its 15 models are rejected by p-value, and two fit only with weights far outside 0–100 % (SE 80 and 1,238 pp). The single-source model, Denmark Roman IA alone on the same rights, is rejected (p = 0.019, 231,419 SNPs), so inside this frame the Lazio-like component is needed; it lies 2.3 SE above zero and the model clears alpha by only 0.018, so it is a candidate, not a result.

In the medieval frame, rotations C and D produce survivors only with SE of 24–68 pp (C) and 23–36 pp (D). The two survivors of D put 83–89 % on Iceland Viking with 11–17 % Belgium Early Medieval or Belgium Medieval. In rotation F, which adds one source to Netherlands Medieval Saxon, the precisely estimated added weights are negative or near zero: Niederwunsch Slavic −4 ± 7 %, Basilicata Late Antiquity −4 ± 5 %, Croatia Velim Slavic −11 ± 7 % (rejected, p = 0.049) and Lazio Late Antiquity +4 ± 5 % (rejected, p = 0.026). The two survivors, with Belgium High Medieval (31 ± 29 %) and Estonia Early Medieval (3 ± 40 %) added, are imprecise. The Iron Age rotation has two precise survivors, Denmark Roman IA 73 ± 8 % with Magdalenenberg Hallstatt 27 ± 8 %, and Magdalenenberg 29 ± 7 % with Sweden Iron Age 71 ± 7 % (that group has 8 individuals, 6 flagged for quality); they share one source and are not separated by these data.

Distal model

Three distal models are retained (Table 3). Natufian as an extra source gives 5 ± 9 % and a rejected model (p = 0.022). The decomposition is roughly one third Anatolian farmer, half Yamnaya and one eighth WHG; CHG-Zagros is not needed. Yamnaya and CHG-Zagros overlap, and their separation was not tested.

Table 3Retained distal models: weights in % ± SE (pp), alpha 0.05.

Model

Rights

SNPs

p

Anatolian farmer

Yamnaya

CHG-Zagros

WHG

Rank 4

11

70,361

0.101

33 ± 4

49 ± 7

6 ± 6

12 ± 3

Rank 4, lean panel

9

214,439

0.096

37 ± 4

50 ± 5

1 ± 4

12 ± 2

Rank 3

13

70,361

0.059

36 ± 4

52 ± 4

not used

12 ± 3

f-statistics

Table 4 gives 12 of the 18 f4 contrasts f4(Mbuti, MWII01; first, second). A positive Z means that MWII01 is closer to the second group; a difference is read at |Z| ≥ 3.

Table 4Selected f4 contrasts for MWII01: 12 of the 18 run.

f4(Mbuti, MWII01; first, second)

Z

MWII01 closer to

Imperial Rome (Lazio), NL Medieval Saxon

+13.7

NL Medieval Saxon

Belgium High Medieval, Denmark Viking

+4.4

Denmark Viking

Belgium High Medieval, Niederwunsch Slavic

+4.4

Niederwunsch Slavic

Belgium High Medieval, NL Medieval Saxon

+3.5

NL Medieval Saxon

NL Medieval Saxon, Denmark Viking

−0.9

no difference

NL Medieval Saxon, Niederwunsch Slavic

−0.2

no difference

England Saxon, NL Medieval Saxon

−0.2

no difference

Valkenburg Roman, NL Medieval Saxon

+1.8

no difference

Sardinian, French

+4.3

French

Russian, French

+3.9

French

N. Italian, French

+3.9

French

French, Orcadian

+2.9

no difference at |Z| 3

The Saxon group beats Imperial Rome by a wide margin (Z +13.7). Belgium High Medieval is the outlier: MWII01 is closer to Saxon, Danish and even Niederwunsch Slavic groups than to it, in line with the rejection of W1 (p = 0.0016). Between the North Sea groups themselves f4 shows no difference.

Outgroup f3 is flat: for 23 of 29 groups it runs from 0.06814 (Finnish) to 0.06878 (Wielbark), a spread of about 1.1 SE (SE about 0.0006). Lower are Imperial Rome (0.06617), Spanish, N. Italian, Sardinian and Russian, and England Viking, whose value rests on 55,603 SNPs (SE 0.0012).

Rescaled PCA distances

Fig. 1 shows MWII01 among the 27 projected groups of panel P1 on the rescaled maps. Table 5 lists the groups nearest to MWII01 in each class and Table 6 the contrasts between pairs of groups, each over two panels, maps A and B and four origin shifts.

P1, Map A (rescaled)
-0.0016-0.0012-0.0008-0.000400.0004-0.0013-0.0012-0.0011-0.0010-0.0009-0.0008-0.0007-0.0006-0.0005-0.0004-0.0003-0.0002-0.000100.00010.0002PC1PC2MWII01 (n = 1)English (n = 12)GBR (n = 79)Orcadian (n = 17)French (n = 31)Italian North (n = 24)Spanish (n = 55)England Saxon (n = 57)England Cambridgeshire Medieval (n = 119)Netherlands Medieval Saxon (n = 24)Belgium EarlyMedieval (n = 52)Belgium HighMedieval (n = 183)Germany Anderten Medieval Saxon (n = 14)Germany Drantum Medieval Saxon (n = 17)Germany Dunum Medieval Saxon (n = 12)Germany Schleswig LateMedieval (n = 15)Denmark Viking (n = 74)Denmark Medieval (n = 83)Norway Viking (n = 28)Iceland Viking (n = 18)Italy Lazio ImperialRoman Roman (n = 25)Netherlands ValkenburgMarktveld Roman (n = 29)Denmark RomanIA Pool (n = 70)England LIA MIA (n = 74)France Bucy le Long IA LaTene (n = 41)Germany Magdalenenberg IA Hallstatt (n = 16)England BellBeaker (n = 28)Czechia EBA CordedWare (n = 48)MWII01EnglishGBROrcadianFrenchItalian NorthSpanishEngland SaxonEngland Cambridgeshire MedievalGermany Schleswig LateMedievalNorway VikingIceland VikingItaly Lazio ImperialRoman RomanEngland LIA MIAGermany Magdalenenberg IA HallstattEngland BellBeakerCzechia EBA CordedWare
P1, Map B (bits)
-0.0014-0.0012-0.0010-0.0008-0.0006-0.0004-0.000200.0002-0.0012-0.0011-0.0010-0.0009-0.0008-0.0007-0.0006-0.0005-0.0004-0.0003-0.0002-0.000100.00010.0002PC1PC2MWII01 (n = 1)English (n = 12)GBR (n = 79)Orcadian (n = 17)French (n = 31)Italian North (n = 24)Spanish (n = 55)England Saxon (n = 57)England Cambridgeshire Medieval (n = 119)Netherlands Medieval Saxon (n = 24)Belgium EarlyMedieval (n = 52)Belgium HighMedieval (n = 183)Germany Anderten Medieval Saxon (n = 14)Germany Drantum Medieval Saxon (n = 17)Germany Dunum Medieval Saxon (n = 12)Germany Schleswig LateMedieval (n = 15)Denmark Viking (n = 74)Denmark Medieval (n = 83)Norway Viking (n = 28)Iceland Viking (n = 18)Italy Lazio ImperialRoman Roman (n = 25)Netherlands ValkenburgMarktveld Roman (n = 29)Denmark RomanIA Pool (n = 70)England LIA MIA (n = 74)France Bucy le Long IA LaTene (n = 41)Germany Magdalenenberg IA Hallstatt (n = 16)England BellBeaker (n = 28)Czechia EBA CordedWare (n = 48)MWII01EnglishGBROrcadianFrenchItalian NorthSpanishEngland SaxonEngland Cambridgeshire MedievalGermany Schleswig LateMedievalNorway VikingIceland VikingItaly Lazio ImperialRoman RomanEngland LIA MIAGermany Magdalenenberg IA HallstattEngland BellBeakerCzechia EBA CordedWare
  • Target
  • Modern
  • Medieval and Viking
  • Roman and Iron Age
  • Bronze Age

28 groups · 4 settings · 16 shifts · 2,000 resamples

Figure 1Rescaled maps A and B of panel P1: centroids of the 27 projected groups and MWII01. Group centroids of MWII01 and the 27 projected groups on the entropy-rescaled maps A and B, panel P1. The reference populations that build the axes are not drawn. Positions in a two-dimensional projection, not ancestry.

Table 5Groups nearest to MWII01 on the rescaled maps A and B, two panels (4 settings), top-3 counts.

Class

Nearest group

Other groups in the top 3 (settings of 4)

Status

Modern

French (2)

English (4), GBR (4); French also 4

depends

Medieval and Viking

Belgium Early Medieval (2)

Cambridgeshire Medieval (4); Belgium High Medieval (2), Schleswig Late Medieval (2)

depends

Roman and Iron Age

Bucy-le-Long La Tène (4)

England Late/Middle IA (4); Magdalenenberg (2), Valkenburg (2)

stable

Bronze Age

England Bell Beaker (4)

Czechia Corded Ware (4); only two groups compared

stable

Ancient (all)

Belgium Early Medieval (2)

Bucy-le-Long (4); Belgium High Medieval (2), Cambridgeshire Medieval (2)

depends

In brackets: the number of settings, of 4, in which the group is nearest or among the top 3.

Table 6Contrasts Q = d(MWII01, first group) / d(MWII01, second group); Q below 1 means nearer to the first group.

Contrast (first vs second)

Q (map A)

95 % bootstrap

Nearer group

Status

English vs French

1.15

0.57–2.24

not resolved

depends

Orcadian vs English

1.99

1.34–3.65

English

stable

French vs N. Italian

0.20

0.11–0.29

French

stable

English vs Spanish

0.31

0.17–0.45

English

stable

NL Medieval Saxon vs Imperial Rome

0.38

0.26–0.51

NL Medieval Saxon

stable

Belgium High Med. vs NL Medieval Saxon

0.16

0.09–0.27

Belgium High Medieval

stable

Cambridgeshire Med. vs NL Medieval Saxon

0.35

0.12–0.70

Cambridgeshire Medieval

stable

Belgium Early Med. vs Denmark Medieval

0.07

0.02–0.30

Belgium Early Medieval

stable

Denmark Viking vs Belgium High Med.

5.31

3.14–9.78

Belgium High Medieval (settings split 2/2)

depends

Maps A and B agree (Spearman 0.9997 and 0.9991 within a panel); the two panels agree at 0.95 with two side flips.

Fst among the reference groups

Fst and f2 are undefined for one pseudohaploid genome, so MWII01 is not in this analysis; Table 7 shows how well the reference groups can be told apart. Belgium High Medieval, Denmark Viking, England Saxon and Denmark Roman IA lie within 0.8–3.1 of one another (ten North Sea medieval and Viking groups within 2.9). Netherlands Medieval Saxon, the best single-source fit, is 9.5–10.6 from the four, as far as Roman Italy (6.9–12.8) and Niederwunsch Slavic (10.1–12.9).

Table 7Hudson Fst (× 10⁻³) among eight reference groups, group size in brackets.

Fst (× 10⁻³)

1

2

3

4

5

6

7

8

1 NL Medieval Saxon (24)

–

9.7

9.5

9.8

10.6

14.5

18.6

18.3

2 Belgium High Medieval (183)

9.7

–

0.8

2.2

2.9

5.5

6.9

10.9

3 Denmark Viking (74)

9.5

0.8

–

2.1

1.7

6.9

9.1

10.9

4 England Saxon (57)

9.8

2.2

2.1

–

3.1

6.4

11.4

10.1

5 Denmark Roman IA (70)

10.6

2.9

1.7

3.1

–

9.3

12.8

12.9

6 Magdalenenberg Hallstatt (16)

14.5

5.5

6.9

6.4

9.3

–

10.9

10.6

7 Imperial Rome (Lazio) (25)

18.6

6.9

9.1

11.4

12.8

10.9

–

18.7

8 Niederwunsch Slavic (182)

18.3

10.9

10.9

10.1

12.9

10.6

18.7

–

From one run on 32 groups and 970,494 shared SNPs; block-jackknife SE 0.05–0.47. Values below 4 in bold.

Discussion

What the data support. MWII01 has a Northwest European medieval profile: a single Netherlands Medieval Saxon source fits, no Slavic source adds anything, f4 puts it far from Imperial Rome, and the rescaled maps place it with Low Countries and English medieval groups and with the Iron Age group of Bucy-le-Long.

What they do not support. They do not choose between Saxon, Frisian, Flemish and Danish-like sources, they do not separate modern French, English and GBR, and the Roman-period model with a 10 % Lazio component is a candidate that clears alpha by 0.018 within a set of 15 tests. The single low-coverage genome limits resolution: Netherlands Medieval Saxon and Denmark Viking differ by Fst 9.5 × 10⁻³ (Table 7), yet f4 does not separate them for MWII01 (Z −0.9). With 106 models on one genome and low power, a model that is not rejected is weak evidence.

Where methods disagree. The rescaled maps put MWII01 nearer to Belgium High Medieval than to Netherlands Medieval Saxon (Q 0.16), while f4 puts it closer to the Saxon group (Z +3.5) and qpAdm rejects Belgium High Medieval alone. The measures answer different questions: position in a two-dimensional projection of a genome that is shrunk toward the centre of the cloud, against shared drift with an outgroup. Where they disagree, the maps describe position and qpAdm and f4 test shared drift; the disagreement is not a test of the rescaling.

Identity. The remains in the Abbey Church of Middelburg have been assigned to William II or to his brother Floris the Guardian: an osteological examination in Leiden allowed either, and a reading of the tomb favours Floris7. Population-level ancestry cannot separate the two brothers or another male of the House of Holland, who would share the same ancestry. Only kinship, Y-lineage or documented provenance can speak to identity; none of these was tested.

Reproducibility. Each batch of models was specified in writing before it was run; all runs are stored on the Nexju platform (nexju.com).

1.

European Nucleotide Archive, project PRJEB113845 (sample MWII01).

2.

Mallick, S. et al. The Allen Ancient DNA Resource (AADR): a curated compendium of ancient human genomes. Scientific Data 11, 182 (2024).

3.

Harney, É., Patterson, N., Reich, D. & Wakeley, J. Assessing the performance of qpAdm: a statistical tool for studying population admixture. Genetics 217(4), iyaa045 (2021).

4.

Patterson, N. et al. Ancient admixture in human history. Genetics 192(3), 1065–1093 (2012).

5.

Bhatia, G., Patterson, N., Sankararaman, S. & Price, A. L. Estimating and interpreting FST: the impact of rare variants. Genome Research 23(9), 1514–1521 (2013).

6.

Taleb, N. N., Zalloua, P., Elbassioni, K., Hatzikirou, H., Henschel, A. & Platt, D. E. Informational rescaling of PCA maps with application to genetic distance. Computational and Structural Biotechnology Journal 27, 48–56 (2025); arXiv:2303.12654.

7.

Henderikx, P. Willem II of Floris de Voogd? Vragen rond een grafmonument en een skelet in de Koorkerk te Middelburg. BMGN – Low Countries Historical Review 130(4), 78–88 (2015).

Magnus Albertus Papers · @AlbertusMvagnus

Every article
  • England13 min read

    Bronze Age England: Where Do the Closest Genomes Lie?

    Three methods on the same 20 Beaker-period and 25 Middle Bronze Age persons from England: Gaussian-process match maps, entropy-rescaled PCA distances and qpAdm.

    • PCA
    • qpAdm

    Mvagnus Albertus

  • qpAdm6 min read

    qpAdm in Three Steps

    What qpAdm asks, how it computes and where it fails: a short guide to reading a qpAdm result without reading more into it than the test supports.

    Mvagnus Albertus

Allow analytics cookies? They help us see how the site is used so we can improve it. Your DNA and results are never included. Details