Principal components analysis fails to recover phylogenetic structure in hominins
Data files
Jun 30, 2026 version files 128.08 GB
-
distances_BM.zip
22.54 MB
-
distances_GM.zip
19.94 MB
-
lddmm_distances_all_pcs.tar.gz
195.69 MB
-
lddmm_distances_procrustes_all_pcs.tar.gz
196.25 MB
-
lddmm_distances_procrustes.tar.gz
196.25 MB
-
lddmm_distances.tar.gz
196.34 MB
-
phylogenetic_posterior_distribution.zip
2.66 GB
-
raw_simulations_BM.tar.gz
104.89 GB
-
raw_simulations_LDDMM.tar.gz
19.70 GB
-
README.md
12.55 KB
Abstract
Objectives Paleoanthropologists often utilize geometric morphometrics and principal components analysis (PCA) to interpret shape variation within the hominin fossil record. It is common practice to interpret proximity in principal components (PC) space among taxa as indicative of not just morphological, but also phylogenetic affinity. This interpretation, however, has not been directly evaluated for hominins.
Materials and Methods First, we inferred the posterior distribution of hominin phylogenetic trees and subsampled trees from this distribution. On these phylogenies, we simulated 2D and 3D geometric morphometric datasets and traditional morphological datasets, containing traits analogous to measurements of size or length, with varying numbers of landmarks or traits and evolutionary rates. On each dataset, we conducted a PCA and used neighbor-joining to infer evolutionary relationships from the PC scores of each taxon. We measure the difference between the PCA tree and sampled tree with subtree pruning and regrafting distance and Robinson-Foulds distance.
Results PCA trees inferred from traditional morphometric data were identical to the sampled tree in 0.11% of datasets when we only considered PC axes 1 and 2, and in 2.9% of datasets when we considered all axes. No PCA tree inferred from any of the 2,400,000 shape datasets was identical to the sampled tree, regardless of the number of axes.
Discussion Phylogenetic interpretations of the hominin fossil record based on proximity in PC space are inherently flawed and likely to be erroneous. Arguments in the hominin systematics literature based on PCA should therefore be reevaluated using phylogenetically-informed alternatives.
Warning: raw_simulations_BM.tar.gz contains 3.6 million small CSV files and raw_simulations_LDDMM.tar.gz contains 2.4 million small TSV files. Uncompressed, these folders occupy exceptionally large amounts of disc space.
Dataset DOI: 10.5061/dryad.mcvdnckg2
Description of the data and file structure
This dataset was generated to evaluate the common practice in paleoanthropology of inferring phylogeny from principal components analyses. It contains the phylogenetic posterior distribution we inferred from the Mongle et al. (2023) character matrix, our simulated datasets, and our tree distances calculated between our inferred PCA trees and our known true simulated trees. Here, we refer to data generated from uncorrelated Brownian motion as "traditional morphological data" and we refer to data generated from the large deformation diffeomorphic metric mapping framework as "geometric morphometric data". We also use "PCA trees" to refer to trees inferred from distance in PC space.
Files and variables
File: lddmm_distances_all_pcs.tar.gz
Description: Tree distances between the known true tree and the inferred PCA tree from all PCs for our morphometric dataset. These are 2.4 million TSV files, one for each of our simulated datasets, consisting of one row, each with the following columns:
- RF [Robinson-Foulds distance]; a measure of tree distance, defined as the number of taxon bipartitions that appear in one tree, but not the other
- SPR [subtree pruning and regrafting distance]; a measure of tree distance, defined as the minimum number of subtree pruning and regrafting moves needed to travel between the two topologies
- SPRe [subtree pruning and regrafting distance divided by maximum agreement subtree size]; a measure of tree distance; a rescaled SPR distance by the size of largest subtree identical between the two topologies
- Number of Landmarks; number of landmarks used in the simulations.
- Dimension; dimensionality of those landmarks (either two or three-dimensional)
- Alpha [rate of evolution]; rate of evolutionary change acting on each landmark
File: distances_BM.zip
Description: Folder containing RDS files containing distances from the traditional morphological dataset inferred from just PCs 1 and 2 and from all PCs. These files need to be read in with the base R code: as.list(readRDS(filePath)).
These RDS files (once converted to a list) each are a list with 1,000 elements. Each element has two objects: the tree with which we simulated the data and a data frame containing the distances between the PCA tree and the true tree and the generative parameters we used to simulate the data. This dataframe has the following columns:
- RF [Robinson-Foulds distance]; a measure of tree distance, defined as the number of taxon bipartitions that appear in one tree, but not the other
- SPR [subtree pruning and regrafting distance]; a measure of tree distance, defined as the minimum number of subtree pruning and regrafting moves needed to travel between the two topologies
- SPRe [subtree pruning and regrafting distance divided by maximum agreement subtree size]; a measure of tree distance; a rescaled SPR distance by the size of largest subtree identical between the two topologies
- Number of characters; number of characters simulated with Brownian motion.
- Set rate (NA if distances came from a variable rate simulation); rate of evolutionary change used to simulate characters.
- Variable rate shape (NA if distances came from a set rate simulation); shape parameter of the gamma distribution used to simulate variable rates across the dataset.
- Variable rate scale (NA if distances came from a set rate simulation); scale parameter of the gamma distribution used to simulate variable rates across the dataset.
- Proportion conflicting (proportion of characters) simulated with conflicting phylogenetic signal; proportion of the dataset where the simulated values for two taxa were swapped, thus creating conflicting signals in the dataset.
File: distances_GM.zip
Description: Folder containing RDS files containing distances from the geometric morphometric dataset inferred from just PCs 1 and 2 and from all PCs. Dataframes with 2.4 million rows and 6 columns:
- RF [Robinson-Foulds distance]; a measure of tree distance, defined as the number of taxon bipartitions that appear in one tree, but not the other
- SPR [subtree pruning and regrafting distance]; a measure of tree distance, defined as the minimum number of subtree pruning and regrafting moves needed to travel between the two topologies
- SPRe [subtree pruning and regrafting distance divided by maximum agreement subtree size]; a measure of tree distance; a rescaled SPR distance by the size of largest subtree identical between the two topologies
- Number of Landmarks; number of landmarks used in the simulations.
- Dimension; dimensionality of those landmarks (either two or three-dimensional)
- Alpha [rate of evolution]; rate of evolutionary change acting on each landmark
File: lddmm_distances_procrustes_all_pcs.tar.gz
Description: Tree distances between the known true tree and the inferred PCA tree from all PCs for our morphometric dataset after procrustes alignment. These are 2.4 million TSV files, one for each of our simulated datasets, consisting of one row, each with the following columns:
- RF [Robinson-Foulds distance]; a measure of tree distance, defined as the number of taxon bipartitions that appear in one tree, but not the other
- SPR [subtree pruning and regrafting distance]; a measure of tree distance, defined as the minimum number of subtree pruning and regrafting moves needed to travel between the two topologies
- SPRe [subtree pruning and regrafting distance divided by maximum agreement subtree size]; a measure of tree distance; a rescaled SPR distance by the size of largest subtree identical between the two topologies
- Number of Landmarks; number of landmarks used in the simulations.
- Dimension; dimensionality of those landmarks (either two or three-dimensional)
- Alpha [rate of evolution]; rate of evolutionary change acting on each landmark
File: lddmm_distances.tar.gz
Description: Tree distances between the known true tree and the inferred PCA tree from PC1 and PC2 for our morphometric dataset. These are 2.4 million TSV files, one for each of our simulated datasets, consisting of one row, each with the following columns:
- RF [Robinson-Foulds distance]; a measure of tree distance, defined as the number of taxon bipartitions that appear in one tree, but not the other
- SPR [subtree pruning and regrafting distance]; a measure of tree distance, defined as the minimum number of subtree pruning and regrafting moves needed to travel between the two topologies
- SPRe [subtree pruning and regrafting distance divided by maximum agreement subtree size]; a measure of tree distance; a rescaled SPR distance by the size of largest subtree identical between the two topologies
- Number of Landmarks; number of landmarks used in the simulations.
- Dimension; dimensionality of those landmarks (either two or three-dimensional)
- Alpha [rate of evolution]; rate of evolutionary change acting on each landmark
File: lddmm_distances_procrustes.tar.gz
Description: Tree distances between the known true tree and the inferred PCA tree from PC1 and PC2 for our morphometric dataset after procrustes alignment. These are 2.4 million TSV files, one for each of our simulated datasets, consisting of one row, each with the following columns:
- RF [Robinson-Foulds distance]; a measure of tree distance, defined as the number of taxon bipartitions that appear in one tree, but not the other
- SPR [subtree pruning and regrafting distance]; a measure of tree distance, defined as the minimum number of subtree pruning and regrafting moves needed to travel between the two topologies
- SPRe [subtree pruning and regrafting distance divided by maximum agreement subtree size]; a measure of tree distance; a rescaled SPR distance by the size of largest subtree identical between the two topologies
- Number of Landmarks; number of landmarks used in the simulations.
- Dimension; dimensionality of those landmarks (either two or three-dimensional)
- Alpha [rate of evolution]; rate of evolutionary change acting on each landmark
File: phylogenetic_posterior_distribution.zip
Description: Contains the RevBayes output for our phylogenetic posterior distribution (hominin.log.gz; hominin.majRule.tre.gz; hominin.mcc.tree.gz; hominin.trees.gz). Also contains the trees we subsampled from the posterior distribution (sampledTrees.tsv.gz) and our null distribution for distances in tree space (nullDistribution.csv.gz). nullDistribution.csv contains a dataframe with two columns: RF [Robinson-Foulds distance] and SPR [subtree pruning and regrafting distance]
File: raw_simulations_LDDMM.tar.gz
Warning: this .tar.gz contains 2.4 million small CSV files and occupies substantial disc space.
Description: Simulated two dimensional and three dimensional geometric morphometric datasets. These are TSV files with file names of the form:
{dimension}DimensionSimTreeIndex{treeIndex}LM{numLandmarks}Alpha{alpha}Dataset{dataIndex}.tsv
dimension: either "two" or "three"
treeIndex: records which tree these data were simulated on; 1+treeIdx corresponds to row indexing in sampledTrees.tsv.gz. Ranges 0-999 because C++ is 0-indexed.
numLandmarks: number of landmarks simulated. 10, 25, or 50.
Alpha: rate of evolution used to simulated these data. 0.1, 0.2, 0.3, or 0.4.
dataIndex: what repetition these data came from (i.e., if we simulated 100 datasets, this would be 0-99). These data were generated in C++ which uses 0-indexing.
Each TSV file is structured with columns: taxon, landmark index, x value, y value, and z value (if the simulation was three-dimensional) with no header row. An example file with n two dimensional landmarks would look like:
taxon1 1 0.12 0.24
taxon1 2 0.34 -0.4
...
taxon1 n 0.10 1.1
taxon2 1 0.17 1.6
taxon2 2 0.11 -0.5
...
taxon2 n -5.1 16.0
The 2.4 million TSV files are broken down as follows:
- 2D 10 landmarks:
- 210 rows x 4 columns
- 400,000 such files
- 3D 10 landmarks:
- 210 rows x 5 columns
- 400,000 such files
- 2D 25 landmarks
- 525 rows x 4 columns
- 400,000 such files
- 3D 25 landmarks
- 525 rows x 5 columns
- 400,000 such files
- 2D 50 landmarks
- 1,050 rows x 4 columns
- 400,000 such files
- 3D 50 landmarks
- 1,050 rows x 5 columns
- 400,000 such files
File: raw_simulations_BM.tar.gz
Warning: this .tar.gz contains 3.6 million small CSV files and occupies substantial disc space.
Description: Simulated traditional morphological datasets. These are CSV files with file names of the form:
fastBMTree{treeIdx}NumChar{nC}SetRate{sR}PropConflicting{pc}Dataset{d}.csv
or
fastBMTree{treeIdx}NumChar{nC}VarRatesShape{shape}Scale{scale}PropConflicting{pc}Dataset{d}.csv
treeIdx: records which tree these data were simulated on; matches row indexing in sampledTrees.tsv.gz. 1-1,000 because R is 1-indexed.
NumChar: records number of characters simulated. 10, 25, 50, 100, 250, and 500.
SetRate: rate of evolution that we used to simulate all traits with. 0.1, 1.0, and 10.0.
VarRates shape, scale: parameters of the gamma distribution we used to simulate variable rates across the characters. Paired values and either: 1,10; 1, 1; or 10,1.
d: what repetition these data came from (i.e., if we simulated 100 datasets, this would be 1-100). These data were generated in R which uses 1-indexing.
The 3.6 million CSV files are broken down as follows:
- 10 traits:
- 21 rows x 10 columns
- 600,000 such files
- 25 traits:
- 21 rows x 25 columns
- 600,000 such files
- 50 traits:
- 21 rows x 50 columns
- 600,000 such files
- 100 traits:
- 21 rows x 100 columns
- 600,000 such files
- 250 traits:
- 21 rows x 250 columns
- 600,000 such files
- 500 traits:
-
21 rows x 500 columns
-
600,000 such files
-
Code/software
The R code language is required for the RDS files; CSV and TSV files are also recommended to be loaded through R due to the number of files in this dataset. Base R is sufficient to view all files.
Code to reproduce and analyze these data is available at: https://github.com/Levi-Raskin/PCAPhylogenetics
