StructHDP: automatic inference of number of clusters and population structure from admixed genotype data.

Shringarpure S, Won D, Xing EP - Bioinformatics (2011)

Bottom Line:
We use a Gibbs sampler to perform inference on the resulting model and infer the ancestry proportions and the number of clusters that best explain the data.We found that the clusters obtained correspond with major geographical divisions of the world, which is in agreement with previous analyses of the dataset.StructHDP is written in C++.

Motivation: Clustering of genotype data is an important way of understanding similarities and differences between populations. A summary of populations through clustering allows us to make inferences about the evolutionary history of the populations. Many methods have been proposed to perform clustering on multilocus genotype data. However, most of these methods do not directly address the question of how many clusters the data should be divided into and leave that choice to the user.

Methods: We present StructHDP, which is a method for automatically inferring the number of clusters from genotype data in the presence of admixture. Our method is an extension of two existing methods, Structure and Structurama. Using a Hierarchical Dirichlet Process (HDP), we model the presence of admixture of an unknown number of ancestral populations in a given sample of genotype data. We use a Gibbs sampler to perform inference on the resulting model and infer the ancestry proportions and the number of clusters that best explain the data.

Results: To demonstrate our method, we simulated data from an island model using the neutral coalescent. Comparing the results of StructHDP with Structurama shows the utility of combining HDPs with the Structure model. We used StructHDP to analyze a dataset of 155 Taita thrush, Turdus helleri, which has been previously analyzed using Structure and Structurama. StructHDP correctly picks the optimal number of populations to cluster the data. The clustering based on the inferred ancestry proportions also agrees with that inferred using Structure for the optimal number of populations. We also analyzed data from 1048 individuals from the Human Genome Diversity project from 53 world populations. We found that the clusters obtained correspond with major geographical divisions of the world, which is in agreement with previous analyses of the dataset.

Availability: StructHDP is written in C++. The code will be available for download at http://www.sailing.cs.cmu.edu/structhdp.

Figure 3: A single sample of the ancestry proportions for the thrush data. The black lines separate the individuals according to their geographic labels. The analysis did not use any geographical information.

Mentions:
We find that our method converges to K=3 populations in a few thousand iterations. The posterior distribution for K is shown in Figure 2. From the posterior, we can see that K=3 is the most likely value for K. Figure 3 shows a single sample for the ancestry proportions of the thrush data. The clusters agree with geographical labels well except for a few individuals. We also see that the four Yale individuals fall into the same cluster as the Ngangao individuals. All these findings agree with those of Pritchard et al. (2000) when Structure is initialized with K=3 clusters. Figure 4 shows the results of Structure analysis of the thrush data with K=3. In their analysis, Pritchard et al. also found that K=3 explains the data best. Their conclusion was based on an ad hoc approximation to Pr(K/X), the posterior likelihood of K given the data X while StructHDP automatically infers this from the data.Fig. 2.

Figure 3: A single sample of the ancestry proportions for the thrush data. The black lines separate the individuals according to their geographic labels. The analysis did not use any geographical information.

Mentions:
We find that our method converges to K=3 populations in a few thousand iterations. The posterior distribution for K is shown in Figure 2. From the posterior, we can see that K=3 is the most likely value for K. Figure 3 shows a single sample for the ancestry proportions of the thrush data. The clusters agree with geographical labels well except for a few individuals. We also see that the four Yale individuals fall into the same cluster as the Ngangao individuals. All these findings agree with those of Pritchard et al. (2000) when Structure is initialized with K=3 clusters. Figure 4 shows the results of Structure analysis of the thrush data with K=3. In their analysis, Pritchard et al. also found that K=3 explains the data best. Their conclusion was based on an ad hoc approximation to Pr(K/X), the posterior likelihood of K given the data X while StructHDP automatically infers this from the data.Fig. 2.

Bottom Line:
We use a Gibbs sampler to perform inference on the resulting model and infer the ancestry proportions and the number of clusters that best explain the data.We found that the clusters obtained correspond with major geographical divisions of the world, which is in agreement with previous analyses of the dataset.StructHDP is written in C++.

Motivation: Clustering of genotype data is an important way of understanding similarities and differences between populations. A summary of populations through clustering allows us to make inferences about the evolutionary history of the populations. Many methods have been proposed to perform clustering on multilocus genotype data. However, most of these methods do not directly address the question of how many clusters the data should be divided into and leave that choice to the user.

Methods: We present StructHDP, which is a method for automatically inferring the number of clusters from genotype data in the presence of admixture. Our method is an extension of two existing methods, Structure and Structurama. Using a Hierarchical Dirichlet Process (HDP), we model the presence of admixture of an unknown number of ancestral populations in a given sample of genotype data. We use a Gibbs sampler to perform inference on the resulting model and infer the ancestry proportions and the number of clusters that best explain the data.

Results: To demonstrate our method, we simulated data from an island model using the neutral coalescent. Comparing the results of StructHDP with Structurama shows the utility of combining HDPs with the Structure model. We used StructHDP to analyze a dataset of 155 Taita thrush, Turdus helleri, which has been previously analyzed using Structure and Structurama. StructHDP correctly picks the optimal number of populations to cluster the data. The clustering based on the inferred ancestry proportions also agrees with that inferred using Structure for the optimal number of populations. We also analyzed data from 1048 individuals from the Human Genome Diversity project from 53 world populations. We found that the clusters obtained correspond with major geographical divisions of the world, which is in agreement with previous analyses of the dataset.

Availability: StructHDP is written in C++. The code will be available for download at http://www.sailing.cs.cmu.edu/structhdp.