首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >搞起来!群体遗传三剑客:PCA、Admixture、进化树

搞起来!群体遗传三剑客:PCA、Admixture、进化树

作者头像
邓飞
发布2025-02-25 09:33:31
发布2025-02-25 09:33:31
1.3K0
举报

大家好,我是邓飞

群体遗传学中常用的三大分析工具:主成分分析(PCA)、Admixture分析和进化树(Phylogenetic Tree),它们在分析基因型数据时各有侧重,互为补充。下面介绍一下这三种方法。

1. 主成分分析(PCA)

作用:

PCA是一种降维技术,用于可视化基因型数据的群体结构。它通过线性变换,将高维的基因型数据(例如SNP位点)投影到低维空间(通常是2D或3D),以揭示样本间的遗传变异模式。

原理:

  • 输入数据:通常是基因型矩阵(行是样本,列是SNP位点,值是0/1/2表示基因型的等位基因计数)。
  • 计算过程:
    1. 对基因型矩阵进行标准化(去除均值,避免频率差异的影响)。
    2. 计算协方差矩阵,反映样本间的遗传相似性。
    3. 特征分解,提取主成分(PCs),每个主成分解释一部分遗传变异。
  • 输出:散点图(如PC1 vs PC2),样本点的位置反映遗传距离,群体分化通常表现为点群的分离。

应用场景:

  • 检测群体分化(如欧洲人群与亚洲人群的分离)。
  • 识别异常样本(outliers)。
  • 探索环境或地理因素与遗传变异的关系。

工具:

  • PLINK(计算PCA的常用软件)。
  • EIGENSOFT(SmartPCA)。
  • R语言包(如adegenet、SNPRelate)

2. Admixture分析

作用:

Admixture分析用于估计个体基因组中来自不同祖先群体的比例,帮助理解群体的混合历史。

原理:

  • 假设模型:每个个体的基因组由K个祖先群体的遗传成分按一定比例混合而成。
  • 输入数据:与PCA类似,使用基因型矩阵。
  • 计算过程:
    1. 通过最大似然估计或贝叶斯方法,推断每个个体的祖先成分比例。
    2. 确定最佳的K值(祖先群体数),通常通过交叉验证误差(CV error)选择。
  • 输出:柱状图,每个个体由K种颜色表示,颜色长度代表祖先成分比例。

应用场景:

  • 研究混合群体(如拉美人群的欧洲、美洲原住民和非洲成分)。
  • 推断历史上的群体迁徙和基因流动。
  • 与地理或语言数据结合,验证假说。

工具:

  • ADMIXTURE(最常用软件)。
  • STRUCTURE(基于贝叶斯方法的经典工具)。
  • fastSTRUCTURE(适用于大规模数据)。

3. 进化树(Phylogenetic Tree)

作用:

进化树用于刻画群体间的进化关系,反映群体分化历史的拓扑结构和时间顺序。

原理:

  • 输入数据:基于基因型数据计算的遗传距离矩阵(如Fst、Nei's distance)或等位基因频率。
  • 计算过程:
    • 邻接法(NJ, Neighbor-Joining):快速构建树。
    • 最大似然法(ML):更精确但计算量大。
    • 贝叶斯方法:结合先验信息推断树。
    1. 构建距离矩阵,衡量群体间的遗传分化。
    2. 使用树构建算法:
    3. 可选:加入bootstrap支持度,评估树分支的可靠性。
  • 输出:树形图,分支长度通常与遗传距离或时间成正比。

应用场景:

  • 推断群体的分化顺序(如人类的“出非洲”假说)。
  • 验证群体间的亲缘关系。
  • 与化石或考古数据结合,重建进化历史。

工具:

  • PHYLIP(经典工具,支持多种算法)。
  • MEGA(用户友好,适合初学者)。
  • TreeMix(专门为群体遗传设计,支持基因流动推断)。

三者的关系与选择

  • PCA:快速、直观,适合初步探索群体结构,但不直接提供祖先比例或进化关系。
  • Admixture:聚焦于混合比例,帮助理解群体历史,但对K值的选择敏感。
  • 进化树:提供群体间的系统发育关系,但对数据质量和模型假设要求较高。

通常,这三者结合使用:

  1. 先用PCA可视化群体结构,确认分化模式。
  2. 用Admixture分析祖先成分,量化混合程度。
  3. 用进化树验证群体间的历史关系。

实现建议

如果你有具体的基因型数据(例如VCF文件),可以按以下步骤操作:

  1. 数据预处理:
    • 用PLINK或VCFtools过滤低质量SNP(缺失率高、MAF过低)。
    • 去除连锁不平衡(LD pruning)。
  2. 分析流程:
    • PCA:PLINK --pca 或 R中SNPRelate。
    • Admixture:运行ADMIXTURE --cv 测试多个K值。
    • 进化树:用PLINK计算Fst,导入MEGA或TreeMix建树。
  3. 结果可视化:
    • PCA和Admixture用R(ggplot2)绘图。
    • 进化树用FigTree或R包ape展示。

后面出个教程,介绍群体遗传的具体操作方法,包括示例数据和代码,欢迎继续关注。Flag立起来,实现就在前方。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 育种数据分析之放飞自我 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档