大家好,我是邓飞
群体遗传学中常用的三大分析工具:主成分分析(PCA)、Admixture分析和进化树(Phylogenetic Tree),它们在分析基因型数据时各有侧重,互为补充。下面介绍一下这三种方法。
1. 主成分分析(PCA)
作用:
PCA是一种降维技术,用于可视化基因型数据的群体结构。它通过线性变换,将高维的基因型数据(例如SNP位点)投影到低维空间(通常是2D或3D),以揭示样本间的遗传变异模式。
原理:
- 输入数据:通常是基因型矩阵(行是样本,列是SNP位点,值是0/1/2表示基因型的等位基因计数)。
- 计算过程:
- 对基因型矩阵进行标准化(去除均值,避免频率差异的影响)。
- 计算协方差矩阵,反映样本间的遗传相似性。
- 特征分解,提取主成分(PCs),每个主成分解释一部分遗传变异。
- 输出:散点图(如PC1 vs PC2),样本点的位置反映遗传距离,群体分化通常表现为点群的分离。
应用场景:
- 检测群体分化(如欧洲人群与亚洲人群的分离)。
- 识别异常样本(outliers)。
- 探索环境或地理因素与遗传变异的关系。
工具:
- PLINK(计算PCA的常用软件)。
- EIGENSOFT(SmartPCA)。
- R语言包(如adegenet、SNPRelate)
2. Admixture分析
作用:
Admixture分析用于估计个体基因组中来自不同祖先群体的比例,帮助理解群体的混合历史。
原理:
- 假设模型:每个个体的基因组由K个祖先群体的遗传成分按一定比例混合而成。
- 输入数据:与PCA类似,使用基因型矩阵。
- 计算过程:
- 通过最大似然估计或贝叶斯方法,推断每个个体的祖先成分比例。
- 确定最佳的K值(祖先群体数),通常通过交叉验证误差(CV error)选择。
- 输出:柱状图,每个个体由K种颜色表示,颜色长度代表祖先成分比例。
应用场景:
- 研究混合群体(如拉美人群的欧洲、美洲原住民和非洲成分)。
- 推断历史上的群体迁徙和基因流动。
- 与地理或语言数据结合,验证假说。
工具:
- ADMIXTURE(最常用软件)。
- STRUCTURE(基于贝叶斯方法的经典工具)。
- fastSTRUCTURE(适用于大规模数据)。
3. 进化树(Phylogenetic Tree)
作用:
进化树用于刻画群体间的进化关系,反映群体分化历史的拓扑结构和时间顺序。
原理:
- 输入数据:基于基因型数据计算的遗传距离矩阵(如Fst、Nei's distance)或等位基因频率。
- 计算过程:
- 邻接法(NJ, Neighbor-Joining):快速构建树。
- 最大似然法(ML):更精确但计算量大。
- 贝叶斯方法:结合先验信息推断树。
- 构建距离矩阵,衡量群体间的遗传分化。
- 使用树构建算法:
- 可选:加入bootstrap支持度,评估树分支的可靠性。
- 输出:树形图,分支长度通常与遗传距离或时间成正比。
应用场景:
- 推断群体的分化顺序(如人类的“出非洲”假说)。
- 验证群体间的亲缘关系。
- 与化石或考古数据结合,重建进化历史。
工具:
- PHYLIP(经典工具,支持多种算法)。
- MEGA(用户友好,适合初学者)。
- TreeMix(专门为群体遗传设计,支持基因流动推断)。
三者的关系与选择
- PCA:快速、直观,适合初步探索群体结构,但不直接提供祖先比例或进化关系。
- Admixture:聚焦于混合比例,帮助理解群体历史,但对K值的选择敏感。
- 进化树:提供群体间的系统发育关系,但对数据质量和模型假设要求较高。
通常,这三者结合使用:
- 先用PCA可视化群体结构,确认分化模式。
- 用Admixture分析祖先成分,量化混合程度。
- 用进化树验证群体间的历史关系。
实现建议
如果你有具体的基因型数据(例如VCF文件),可以按以下步骤操作:
- 数据预处理:
- 用PLINK或VCFtools过滤低质量SNP(缺失率高、MAF过低)。
- 去除连锁不平衡(LD pruning)。
- 分析流程:
- PCA:PLINK --pca 或 R中SNPRelate。
- Admixture:运行ADMIXTURE --cv 测试多个K值。
- 进化树:用PLINK计算Fst,导入MEGA或TreeMix建树。
- 结果可视化:
- PCA和Admixture用R(ggplot2)绘图。
- 进化树用FigTree或R包ape展示。
后面出个教程,介绍群体遗传的具体操作方法,包括示例数据和代码,欢迎继续关注。Flag立起来,实现就在前方。