Recently, in April 2026, new AADR versions were released on Harvard Dataverse. Among the more important additions are the new compatibility datasets introduced for reducing platform-specific bias when co-analyzing ancient DNA generated with different experimental setups. This is especially relevant when combining data produced with different capture reagents such as Agilent (AG), Twist (TW), and shotgun (SG), because these can introduce systematic differences that may affect downstream analyses. The compatibility panels were added to minimize that problem and make mixed-platform datasets more directly comparable.
Downloading the New Compatibility 2M SNP Subset
Below are the commands to download the latest AADR compatibility dataset. At the moment, this seems like the most sensible choice if you want to work with mixed-platform ancient DNA in ADMIXTOOLS, especially when combining data generated with different capture reagents or with shotgun data. If, instead, you need a broader set of modern samples, for example for PCA or ADMIXTURE, you should choose an _HO dataset, since these datasets include more modern individuals.
wget -O aadr_v66p1_2m_compatibility.tgeno "https://dataverse.harvard.edu/api/access/datafile/13994522"
wget -O aadr_v66p1_2m_compatibility.snp "https://dataverse.harvard.edu/api/access/datafile/13994517"
wget -O aadr_v66p1_2m_compatibility.ind "https://dataverse.harvard.edu/api/access/datafile/13994523"
# Optional: sample metadata / annotations
wget -O aadr_v66p1_2m_compatibility.anno "https://dataverse.harvard.edu/api/access/datafile/13994521"
Note: the newer AADR releases are now distributed in TGENO format. That works fine with the original ADMIXTOOLS implementation, but not directly with admixtools2 in R. If you want to use the R version, you first need to convert the dataset to PACKEDANCESTRYMAP format with convertf.
Option 1: Using TGENO Directly with AdmixPy
AdmixPy, my Python implementation of f-statistics, qpAdm, and qpWave, reads AADR TGENO files directly, so no conversion step is required. It also supports EIGENSTRAT, PACKEDANCESTRYMAP, and PLINK binary datasets, and runs on Linux, macOS, and Windows.
See Introducing AdmixPy for installation instructions and an f4 example.
Option 2: Converting with PLINK 2
Since 1 July 2025, PLINK 2 supports TGENO input directly and can export EIGENSOFT data in PACKEDANCESTRYMAP format. This provides a simpler conversion route than compiling convertf. This is a simpler and faster option than with convertf. You can download the appropritate PLINK 2 binary for your operating system on the PLINK 2 website. After making sure that the executable is available in your PATH, run:
# PLINK 2 expects the genotype file to have a .geno extension
# when --eigfile is used. The file itself remains TGENO format.
ln -s aadr_v66p1_2m_compatibility.tgeno \
aadr_v66p1_2m_compatibility.geno
plink2 \
--eigfile aadr_v66p1_2m_compatibility \
--export eig \
--out aadr_v66p1_2m_compatibility_packed
This produces .geno, .snp, and .ind files in PACKEDANCESTRYMAP format with the specified output prefix.
This, however, replaces the population labels in the third column of the .ind file with phenotype information. Since the sample order is preserved during this conversion, you can simply replace the generated .ind file with the original AADR file to restore the population labels:
cp aadr_v66p1_2m_compatibility.ind \
aadr_v66p1_2m_compatibility_packed.ind
Option 3: Converting TGENO to PACKEDANCESTRYMAP
For use in admixtools2, you will need a recent enough build of convertf that supports TGENO input and can convert the current TGENO format to PACKEDANCESTRYMAP. Older binaries, including the EIGENSOFT version I compiled in a previous post alongside smartpca, will not work here.
To compile the current version on a Debian-based Linux system:
sudo apt update
sudo apt install -y \
build-essential \
gfortran \
liblapack-dev \
liblapacke-dev \
libgsl-dev \
libopenblas-dev
git clone https://github.com/DReichLab/AdmixTools
cd AdmixTools/src
make clobber
make LDLIBS="-llapacke" install
After compilation, the binaries will be inside:
AdmixTools/bin
You can either copy convertf somewhere in your $PATH:
sudo cp ../bin/convertf /usr/local/bin/
or just move the binary into the dataset directory and run it locally from there. For occasional use, that is usually enough.
Next, create a parameter file called for example convert.par:
genotypename: aadr_v66p1_2m_compatibility.tgeno
snpname: aadr_v66p1_2m_compatibility.snp
indivname: aadr_v66p1_2m_compatibility.ind
outputformat: PACKEDANCESTRYMAP
genooutfilename: aadr_v66p1_2m_compatibility_packed.geno
snpoutfilename: aadr_v66p1_2m_compatibility_packed.snp
indoutfilename: aadr_v66p1_2m_compatibility_packed.ind
Now we run:
convertf -p convert.par
# If convertf is in the current directory instead:
./convertf -p convert.par
This may take a while. After it finishes, you will have a PACKEDANCESTRYMAP version compatible with admixtools2.
One thing worth pointing out here: the TGENO files may appear to load in admixtools2 without throwing an obvious error, but the results are not correct.
General Thoughts on V66
My first impression of this SNP set is positive. The compatibility panels are a sensible and useful approach, especially for mixed-platform analyses, where they can help account for platform effects more effectively than relying on older SNP sets alone.
What I like less is the current .ind file labeling. Population groupings seem more country-based than site-based in many cases, which feels like a step back compared to v62. The older naming was often easier to work with when you actually wanted archaeologically meaningful grouping rather than broader geographic bins.
That said, this is not a major problem. You can always relabel or regroup samples manually depending on the analysis with the annotation files shipped with the releases.
If you want to continue from dataset preparation to actual analysis, see: Running f4-Statistics with Admixtools in R and Running qpAdm in R: Testing and Interpreting Ancestry Models for ancestry modeling.