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.


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.