Samples within each species were aligned and clustered independently. First, variable genes were determined for each sample using Seurat’s FindVariableGenes function with default parameters. CCA, as implemented in Seurat v2.0’s AlignSubspace function, was then used to align samples within each species using only genes that were found the top 1000 variable genes in at least two samples per species. Clusters in the resulting subspace were then identified using FindClusters and mapped using RunTSNE. Alignment between species samples can be seen in fig. S1.