群体结构图形三剑客——PCA图

重测序便宜了,群体的测序和分析也多了起来。群体结构分析,是重测序最常见的分析内容。群体结构分析应用十分广泛,首先其本身是群体进化关系分析里面最基础的分析内容,其次在进行GWAS分析的时候,本身也需要使用PCA或structure分析的结果作为协变量,来校正群体结构对关联分析带来的假阳性。

我们之所以冠以 “群体结构三剑客”的称呼,那是因为这三张图(或者说三项分析)几乎总是在一篇文章中一起出现。虽然这三张图常常一起出现,但它们能够解释的生物学问题,以及绘制的方法都是有所不同的,所以我们还是一一来解释。

2.1 PCA图(主成分分析)
颜值:☆ ☆
实用性:☆ ☆ ☆ ☆

PCA图形的解读

PCA分析是一项朴实无华的分析内容,但它应用十分广泛,的确能够帮助我们解决某些生物问题。说起朴实无华,是因为它的结果不花哨且及其容易看懂,仅仅是一张散点图而已。

比如,下图来自熊猫重测序的文章[1],作者使用主成分1(principal component1)和主成分2作为X轴和Y轴绘制散点图,每个点代表1个样本。在这样的PCA图中,如果两个样本距离越远,则说明两个样本遗传背景差异越大。理想情况下,遗传背景相似的个体会在图中聚类在一起。

例如,这张图中涉及的熊猫个体分别来自3个不同的熊猫自然保护区。PCA分析的结果也将这些个体分为了3个亚群,和熊猫来源的地域信息完全一致。

 
图1 PCA分析将来自三个区的大熊猫准确区分开

但是如果你不仅仅满足于把图形基本信息读懂的话,你还是需要对PCA这一方法有初步的了解。PCA是一种线性代数中的数据处理方法,而这个方法的数学过程比较抽象,在这里有限的篇幅里不便展开讨论,感兴趣的同学可以自己百度查询。PCA分析应用的情境是:在某些情况下,我们数据实在过于复杂。

例如:对一个群体进行重测序,得到的SNP位点数是百万级别的。如果我们直接使用百万级别的SNP信息作为指标对个体进行区分,就会显得信息过于庞大而无法把握重点。PCA分析过程就是从这百万级别的信息中提取关键的信息,以便我们使用更少的变量(指标)就可以对样本进行有效区分。这些被提取出的信息,按照其效应从大到小排列,我们称之为主成分1(principal component1)、主成分2、主成分3… …

在实际文章中,我们不仅仅只使用PC1和PC2来对样本群体进行区分。从数学上理解,PCA分析的过程就是从大量数据指标中提取关键信息的过程。但PC1或PC2对总体信息的解释程度总是有限的。我们将之称为PCn对总体方差解释的百分比。一般重测序的PCA分析结果中,PC1对总体信息的解释比例在3~10%之间。所以,我们也需要关注一下其他主成分的分类效果。

例如在家蚕重测序文章中,分别使用主成分1和2绘图(左图)以及主成分3与主成分4绘图(右图)。两个聚类结果呈现了不同的意义。在PC1和PC2的聚类图中,将野生蚕和家蚕区分开了两个群体。而在PC3和PC4的聚类中,则分离出了两个来自江南地区高产丝量的品种。
所以,从生物学层面理解,PCA分析的过程就是信息浓缩的过程,会从原始的各个SNP位点信息中提取相似的信息,浓缩为新的变量PC1、PC2、PC3…. 输出。所以不同的主成分可能会(记住,仅仅是可能)对应不同的生物学意义,产生不同的聚类分类效果。

 
图2蚕群体利用不同主成分的聚类结果比较

在其他实际案例中的使用

PCA分析只是一种非常单纯的数学方法,具体有什么样的生物学意义还是需要具体问题具体分析。PCA分析在实际案例中应用主要包括:

1.检测离群样本

例如,在上图(右)中,两个高产的品种就属于离群样本。如果你材料已知都是来源同一品种的个体,这种离群样本可能就意味着在采样或测序过程中,出现了样本混淆。如果这些材料后续用于GWAS分析,个别样本出现离群则考虑要把这些离群样本剔除。当然,如果大量样本离群或出现群体分层(例如,上图的左图,明显分层为两个亚群体),则需要将PCA或structure分析的结果作为后续关联分析的协变量,校正它们对关联分析的影响。

2.推断亚群间的进化关系

例如下图这篇葡萄群体研究的文章[3],研究的葡萄品种来源三个地域。绿色的西部葡萄和红色的东部葡萄区分比较明显,而蓝色的中部葡萄夹杂在东、西两个亚群间,和两个亚群有大量重叠。作者从中推断,东、西两个地域的葡萄都有传播到中部地区,并伴随大量杂交,导致中部地区的品种系谱比较混杂,并没有形成自己独立的亚群。其实本人作为小白鼠也做过基因型检测,PCA结果最后被归类到江南地区人群。当然我对结果一点也不意外,因为我是如假包换的大胡建人。

<ignore_js_op> 
图3 葡萄亚群体的基因混杂现象

PCA分析和绘制的方法

PCA分析只是一种统计方法,我们可以使用一些群体统计软件计算出群体中PC1~pCn的数值,然后绘制散点图就可以了(绘制散点图其实利用excel就可以完成。当然,使用R语言绘图的话,会更加美观一些)。

在群体分析软件上,我们推荐GCTA软件中的PCA模块来完成分析(http://cnsgenomics.com/software/gcta/pca.html)。这个软件有window版本,但和本地blast类似(我们之前分享过)只能在Dos界面下的命令行模式运行。当然还包括比较老牌的PCA分析软件EIGENSOFT(http://www.hsph.harvard.edu/alkes-price/software/),但这个软件只有linux版本。总之,在生物信息领域,软件大都不太友好,这也是这个行业的现状。

当然,PCA分析不仅仅用在重测序的领域,在RNA-seq、16s meta rDNA 测序也被大量使用,只是将上文提到的SNP信息替换为表达丰度了而已。如果你对RNA-seq,16s meta 测序的PCA分析感到头疼,其实可以直接使用我们基迪奥新开发的免费在线分析云工具(www.omicshare.com/tools/)。

被各种生物信息软件虐过的生物狗们一起团结起来,英特纳雄耐尔就一定要实现… … 感觉有点跑题,重新喊一次口号:欢迎被各种生物信息软件虐过的生物狗们多给我们反馈修改意见,OS tools 的用户友好程度一定会持续提高的。

参考文献:
【1】Zhao S, et al. (2013)Whole-genome sequencing of giant pandas provides insights into demographichistory and local adaptation. Nature genetics45(1):67-71.
【2】Xia Q, Guo Y, Zhang Z, et al.Complete resequencing of 40 genomes reveals domestication events and genes insilkworm (Bombyx)[J]. Science, 2009, 326(5951): 433-436.
【3】Myles S, Boyko A R, Owens C L, et al. Genetic structure and domesticationhistory of the grape[J]. Proceedings of the National Academy of Sciences, 2011,108(9): 3530-3535.

转自:

群体结构图形三剑客——PCA图
http://www.omicshare.com/forum/thread-816-1-180.html
(出处: OmicShare Forum)

时间: 2024-10-12 19:27:18

群体结构图形三剑客——PCA图的相关文章

java图形界面之图形化按钮

要将按钮图形化,只需创建一个ImageIcon对象,将图形路径赋予ImageIcon对象,然后将该对象传递给按钮即可. 此处涉及eclipse中图形的路径设置,包括(项目路径下.非项目路径下.相对路径.绝对路径),相对路径前不加/,此处相对路径是相对于eclipse中项目文件夹而言的,绝对路径为图形所在未知的具体路径.以picture1.jpg(在H:/java/workspace/study/src/picture路径下)为例: 1.若将picture文件夹置于study/src路径(非项目路

VS2010 使用TeeChart画图控件 - 之二 - 绘制图形(折线图,柱状图)

1.前期准备 详细可见VS2010 使用TeeChart画图控件 - 之中的一个 控件和类的导入 1. 1 加入TeeChart控件,给控件加入变量m_TeeChart 加入TeeChart控件,右击控件,选择加入变量,vs会自己主动给我们引入CTchart1这个类,可是仅仅有这个类,我们是远远不够的,须要加入teechart其它相关的类,加入方法在之前已经讲过,不再反复. 1.2. 引入必要的头文件 事实上之前的方法比較麻烦,更简单就是通过类向导,导入类型库的类 如图进入类向导,选择加入类bu

excel 图表 保持矢量图格式 黏贴进word

笔者,最近投稿一篇学术论文时,要求数据图使用矢量图,excel图恰好画出图形为矢量图,且比较便利.但查找资料,网上无完全版本. 步骤如下: 1.excel 画图 2.word 选择性粘贴, 选择,Mcrosoft excel 工作表对象 3.编辑

cad动态的2D/3D图形控件VectorDraw Developer Framework (VDF)

VectorDraw Developer Framework (VDF)为您的应用程序增加动态的2D/3D图形.是一个可轻松创建爱你和管理及打印2D和3D图形的构件. 其对象可显示与大多数公共矢量格式和其他CAD对象兼容的方法和属性. 支持10多种矢量格式和多种离散格式.VectorDraw Developer Framework (VDF) 是完全基于对象的和支持 .NET 2的. 此构件是用.NET 2005 C# 代码写成的. 同时还提供了一个ActiveX组件. 此ActiveX组件为旧

一起talk C栗子吧(第一百六十二回:C语言实例--套接字知识体系图)

各位看官们,大家好,上一回中咱们说的是套接字通信模型的例子,这一回咱们说的例子是:套接字知识体系图.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们, 我们在前面的章回中介绍了许多关于套接字的内容,有些看官感觉知识比较乱,不断地摇头叹气,而且还在吟诗:剪不断,理还乱,是离愁.不对,是套接字.别有一番滋味在心头.哈哈.这位看官太有才了呀,连古诗也用上了.今天我和大家一起整理下套接字的知识,到时候将会是一番喜悦的滋味在心头. 看官们,我们最开始介绍的是套接字的概念,接着介绍了套接字的属性,

Qt Quick里的图形效果——渐变(Gradient)

Qt Quick提供了三种渐变图形效果: ConicalGradient,锥形渐变 LinearGradient,线性渐变 RadialGradient,径向渐变 效果 下图是我设计的示例效果: 图 1 渐变图形效果 如图所示,第一行为线性渐变,第二行为锥形渐变,第三行为径向渐变. 渐变元素与其他图形效果元素不同之处在于:渐变元素既可以用来改变一个已有的元素(如Image),也有可以独立使用.如你在示例效果图中看到的那样,每一行前两个是独立使用渐变元素的效果,后两个是讲渐变效果应用到其它元素上的

R in action读书笔记(21)第十六章 高级图形进阶(上)

16.1 R 中的四种图形系统 基础图形函数可自动调用,而grid和lattice函数的调用必须要加载相应的包(如library(lattice)).要调用ggplot2函数需下载并安装该包(install.packages("ggplot2")),第一次使用前还要进行加载(library(ggplot2)). 16.2 lattice 包 lattice包为单变量和多变量数据的可视化提供了一个全面的图形系统.在一个或多个其他变量的条件下,栅栏图形展示某个变量的分布或与其他变量间的关系

labview图形和图表的类型

http://zone.ni.com/reference/zhs-XX/help/371361H-0118/lvconcepts/types_of_graphs_and_charts/ LabVIEW包含以下类型的图形和图表: 波形图和图表-显示采样率恒定的数据. XY图-显示采样率非均匀的数据及多值函数的数据. 强度图和图表-在二维图上以颜色显示第三个维度的值,从而在二维图上显示三维数据. 数字波形图-以脉冲或成组的数字线的形式显示数据. 混合信号图-显示波形图.XY图和数字波形图所接受的数据

unity多边形uv贴图

以前我写过一篇文章,不规则图形uv贴图的,(http://blog.csdn.net/itolfn/article/details/17240131)当时用的三角剖分的算法,但是那个算法有所不完整,有一条这么规定的:最优性:任意两个相邻三角形形成的凸四边形的对角线如果可以互换的话,那么两个三角形六个内角中最小的角度不会变大.就是取四变形的最大化三角形内角去连接对角线,分组两个三角形,但是有时候不是自己想要的那一个图形,如图: 三角剖分算法会算出ABC和ACD这两个三角形,但是我们需要ABD和BC