进化树的构建

(1)数据准备

目前,构建生命之树常用的数据包括形态数据和分子数据

形态数据主要通过对形态性状编码来获取;

分子数据主要通过公共数据库GeBank下载或实验获取。选择合适的DNA片段对系统发育关系重建至关重要。如果所选基因的进化速率太慢,提供的系统发育信息不足, 系统发育关系可能得不到很好的解决;如果所选基因的进化速率太快,正确的系统发育信息常常会被大量的非同源相似信号淹没。

(2)序列拼接

为了提高序列的准确性, 往往需要对所测正反向序列进行拼接和校正, 常用的拼接软件有Contig Express、Geneious (created by Biomatters, available at  http://www.geneious.com)、Sequencher等。

(3)序列比对

为了保证序列的同源性和所得系统发育关系的可靠性,需要对原始序列进行比对和校正。自动比对序列的软件包括Clustal 、MAFFT、MUSCLE等; 手工校对序列的软件有BioEdit 、Se-Al 、Geneious (http://www.geneious.com)等。

(4)校正有争议的位点

保守区选择是系统发育分析过程中一个重要的步骤,对于信息位点足够多的建树序列,该步骤更是必不可少。常用的软件为Gblock、MEME。

进化分析时可以选择保守位点,也可以选择基因全长序列,但是当序列差异大时,建议选择保守序列分析。

(5)模型选择

a) 决定替代模型

替代模型既影响比对,也影响建树,因此需要采用递归方法。

对于核酸数据而言,可以通过替代模型中的两个要素进行计算机评估,但是对于氨基酸和密码子数据而言,没有什么评估方案。

其中一个要素是碱基之间相互替代的模型,另外一个要素是序列中不同位点的所有替代的相对速率。

还没有一种简单的计算机程序可以对较复杂的变量(比如,位点特异性或者系统特异性替代模型)进行评估,同样,现有的建树软件也不可能理解这些复杂变量。

(1)碱基取代模型。

一般而言,生物化学性质相近的碱基之间的取代频率较高。在DNA中,四种转换(A→G,G→A,C→T,T→C)的频率比颠换(A→C,A→T,C→G,G→T)以及它们的反向取代的频率要高。这些偏向会影响两个序列之间的预计分歧。

各残基之间的相对取代速率一般用矩阵形式给出:对碱基而言,行和列都是4,对于氨基酸,行和列都是20(如PAM矩阵);对于密码子,行和列都是61(除去终止密码子)。矩阵中对角元素代表不同序列拥有相同碱基的代价,非对角线元素对应于一个碱基变为另一个碱基的相对代价。固定的代价矩阵就是典型的静态权重矩阵,MP法中使用的就是这种,又如在ML法中,代价值是即时的速率矩阵得到,这个矩阵代表了各种取代可能会发生的概率的ML估计值。

(2)位点之间取代速率模型

除了前面取代模型的多元化外,序列中各个不同位点之间的取代速率差异也会对进化树的结果产生深远影响。

关于位点之间的速率差异(位点异质性),一个最明显的例子就是在三联体编码中,第三个编码位点比前两个更加容易发生变化。在分析编码序列时,许多发育分析都会将第三个位点排除;然而在某些情况下,速率差异模型会更加敏锐,如rRNA的保守序列。

对位点差异的取代速率予以估值的方法有非参数模型、不变式模型和Gamma模型。非参数模型在MP法中使用,对ML法被认为在计算上不可行。不变式模型对一定比例的位点进行估值,而这些位点不能自由变化,其余的位点假定为等概率变化。Gamma模型假定一给定序列变化的概率服从Gamma分布,据此指定位点的取代概率。Gamma分布的形状决定于其参数,描述了一个序列中各个位点的取代频率分布。目前DNA的替代模型有十种之多,再加上不变位点参数和形状分布参数。Gamma,模型更有几十种之多, 几种有代表性的替代模型是JC, F81, K80, HKY和GTR。

(3)取代模型的选择

最好的取代模型并不一定总是拥有最多参数的模型。因为对每一个参数进行估值都会引入一个相关变量,从而使整体的变数增加,有时甚至会对模型起到抑制作用。在PAt中可以对DNA序列的取代模型进行规范一个较好的策略,使用似然法同时评估几个,可逆的取代速率、gamma分布的形状参数和不变位点的比例。通过估算的取代参数,可以通过比较较多参数和较少参数分别评估得到的似然分值,决定一个简化的模型是否合理。目前较好的选择模型方法是似然比检验(LikelihoodRatio Test)

在建树之前,通常要对矩阵的最佳模型进行评估。

常用的软件有ModelTest 、MrModelTest、jModelTest等。ModelTest包含56种DNA替代模型,MrModelTest包含24种MrBayes中可用的模型, 而jModelTest包含88种模型。

熟悉各建树模型的优点与不足,根据数据特点有针对性地利用不同的模型,可以减少建树过程中出现的偏差。

目前,通常使用的模型选择软件,如ModelTest等,包含似然比检验(LRT),赤池信息标准(AIC)和贝叶斯信息标准(BIC)等多种模型选择的统计标准。但一个比较令研究者困惑的问题是:根据什么统计标准,我们可以选出比较可靠的进化模型?

(6)选择建树方法

当前最常用的建树方法有距离法、最大简约法(Maximum Parsimony, MP)、最大似然法(Maximum Likelihood, ML)和贝叶斯法(Bayesian Inference, BI) (Hall, 2008)。

MP法认为进化历程中发生碱基替代次数最少的系统发育树为最优树,常用的分析软件为PAUP*软件包。MP法由于不能对长枝的平行突变作出校正, 可能会得到错误的拓扑结构。

ML法基于碱基替代模型,认为似然值最大的系统发育树为最优树, 常用的分析软件有GARLI、PHYML、RAxML 等,目前应用较多的RAxML软件运算速度快、操作简单, 使大矩阵建树成为可能。

BI法采用与ML法一致的评分标准,但并不直接选取似然值最大的树,而是在马尔可夫链(Monte Carlo MarkoChain, MCMC)中取样,选取出现频率最高的系统发育树为最优树,常用的软件为MrBayes。BI法通过后验概率(posterior probability, PP)来评估拓扑结构的可靠性,一般PP > 95%的分支可信度较高。相对于其他方法,BI法所得的多数一致树被认为更能真实反映类群间的系统关系。

(7)树的显示与美化

常用的编辑和显示树图的软件有TreeView、FigTree、MEGA、ITOL(http://itol.embl.de/)、R包(ggtree、APE)等。

建树方法

构建进化树有两种基本的方法:独立元素法(discrete character methods)和距离法(distance methods)

基于距离的构建方法UPGMA(Unweighted pair group method with arithmetic mean,平均连接聚类法)、ME(Minimum Evolution,最小进化法)和NJ(Neighbor-Joining,邻接法);

基于特征的构建方法:最大简约法(MP法),最大似然法(ML法),进化简约法(EP法),相容性方法等。

第一种:UPGMA法(非加权配对算术平均法)

前提条件:在进化过程中,每一代发生趋异的次数相同,即碱基或氨基酸的替换速率是均等且恒等的。

UPGMA法计算原理和过程:

①以已求得的距离系数,所有比较的分类单元的成对距离构成一个t×t方阵,即建立一个距离矩阵M。

②对于一个给定的距离矩阵,寻求最小距离值Dpq。

③定义类群p和q之间的分支深度Lpq=Dpq/2。

④若p和q是最后一个类群,侧聚类过程完成,否侧合并p和q成一个新类群r。

定义并计算新类群r到其他各类群i(i≠p和q)的距离Dir=(Dpi+Dqi)/2。

⑥回到第一步,在矩阵中消除p和q,加入新类群r,矩阵减少一阶,重复进行直至达到最后归群。

UPGMA法比较直观和简单,运算速度快,应用很广。它的缺点在于当分子进化速率较大时,在建树过程会引入系统误差。

第二种:邻接法NJ法(neighbor joining method)

是一种推论叠加树的方法。在概念上与UPGMA法相同,但是有四点区别

a. NJ法不要求距离符合超度量特性,但要求数据应非常接近或符合叠加性条件,即该方法要求对距离进行校正。

b. 邻接法在成聚过程中连接的是分类单元之间的节点(node),而不是分类单元本身。

c. NJ法中原始距离数据用于估算系统树上所有端结分类单元之间的距离矩阵,校正后的距离用于确定节点之间的连接顺序

d. 在重建系统发育树时,NJ法取消了UPGMA法所做的假定,认为在此进化分支上,发生趋异的次数可以不同。

邻接法的运算过程如下:

① 对于给定距离矩阵中的每一端结i,用下式计算与其它分类单元之间的净趋异量(Ri) (t:矩阵中的分类单元数)

② 建立一个速率校正距离矩阵M,其元素由下式确定:

③ 定义一个新节点u,u的三个分支分别与节点i,j和树的其余部分相连,并且Dij为矩阵中距离最小者,u到节点i和j的分支长度定义为

④ 定义u到树的其它节点k(k≠i和j外的所有节点)的距离:

⑤ 从距离矩阵中删除i和j的距离,矩阵减少一阶。

⑥ 如果矩阵仍然多于两个的节点,重复第①-⑤步,否测除最外两个节点的分支长度来确定外,树上其余节点都确定,最后是剩余的2个的分支长度Sy=Dij

第三种:最大简约法(Maximum Parsimony Method)

最大简约法的理论基础是奥卡姆(Ockham)哲学原则,这个原则认为:解释一个过程的最好理论是所需假设数目最少的那一个。

方法:

  1. 计算所有可能的拓扑结构
  2. 计算出所需替代数最小的那个拓扑结构,作为最优树。

第四种:最大似然法

其原理是考虑到每个位点出现残基的似然值,将每个位置所有可能出现的残基替换概率进行累加,产生特定位点的似然值。ML法对所有可能的系统发育树都计算似然函数,似然函数值最大的那棵树即为最可能的系统发育树。

利用最大似然法来推断一组序列的系统发生树,需首先确定序列进化的模型,如Jukes—Cantor模型、Kimura二参数模型及一般二参数模型等。在进化模型选择合理的情况下,ML法是与进化事实吻合最好的建树算法。其缺点是计算强度非常大,极为耗时。

小结

比较以上几种主要的构树方法,一般情况下,若有合适的分子进化模型可供选择,用最大似然法构树获得的结果较好;对于近缘物种序列,通常情况下使用最大简约法;而对于远缘物种序列,一般使用邻接法或最大似然法。对于相似度很低的序列,邻接法往往出现长枝吸引(branch attraction)现象,有时严重干扰进化树的构建。对于各种方法重建进化树的准确性,Hall (2005)认为贝叶斯法最好,其次是最大似然法,然后是最大简约法。其实如果序列的相似性较高,各种方法都会得到不错的结果,模型间的差别也不大。邻接法和最大似然法是需要选择模型的。蛋白质序列和DNA序列的模型选择是不同的。蛋白质序列的构树模型一般选择Poissoncorrection(泊松修正),而核酸序列的构树模型一般选择Kimura2-parameter (Kimura2参数)如果对各种模型的理解并不深入,最好不要使用其他复杂的模型。参数的设置推荐使用缺省的参数。

Bootstrap检验

不同的方法可能会得到不同的结论,我们需要用不同的方法以及不同的参数,加上对生物问题的理解来构建最好的进化树来帮助我们更好的理解生物学问题。其中一个衡量树的好坏的方法就是看bootstrap的值,值越大越好。

在重建进化树过程中,均需选择bootstrap进行树的检验。一般bootstrap的值>70,则认为重建的进化树较为可靠。如果bootstrap的值太低,则有可能进化树的拓扑结构有错误,进化树是不可靠的。因此,一般推荐用两种以上不同的方法构建进化树,如果所得到的进化树类似,且bootstrap值总体较高,则得到的结果较为可靠。通常情况下,只要选择了合适的方法和模型,构出的树均是有意义的,研究者可根据自己研究的需要选择最佳的树进行分析。

BOOTSTRAP值即自展值,可用来检验所计算的进化树分支可信度。Bootstrap几乎是构建系统进化树一个必须的选项。一般Bootstrap的值>70%,则认为构建的进化树较为可靠。如果Bootstrap的值太低,则有可能进化树的拓扑结构有错误,进化树是不可靠的。

Bootstrap值是指根据所选的统计计算模型,设定初始值1000次,就是把序列的位点都重排,重排后的序列再用相同的办法构树,如此让模型计算并绘制1000株系统发育树,这是命令阶段产生的。如果原来树的分枝在重排后构建的树中也出现了,就给这个分枝打上1分,如果没出现就给0分,这样给进化树打分后,每个分枝就都得出分值。系统发育树中每个节点上的数字则代表在命令阶段要求的1000次进化树分析中,有多少次。重排的序列有很多组合,值越小说明分枝的可信度越低,最好根据数据的情况选用不同的构树方法和模型。比如鉴定菌种时一般认为节点数字初始设置1000计算后显示大于500(有的时候显示是百分数,要注意),这样的系统发育分析才具有可信度,学术杂志才会接收或者认可。

进化树构建的方法原理及检验相关推荐

  1. 重测序群体遗传进化分析之进化树构建

    tree 重测序大家都不陌生,它是检测样本基因组变异(SNP,indel,SV,CNV)的主要手段之一,有了这些变异信息,后续可以做很多分析工作,例如: 遗传群体可以进行遗传图谱构建.BSA分析等:大 ...

  2. 系统进化树构建及数据分析的简介

    本文引用地址:http://blog.sciencenet.cn/blog-344534-352797.html 1.涉及基本概念 例如,"分子进化与生物进化是不是一个概念",&q ...

  3. GTDB:基因组分类数据库,物种注释和进化树构建工具GTDB-tk

    简介 基因组分类数据库:GENOME TAXONOMY DATABASE 网址:https://gtdb.ecogenomic.org/ 该数据库已经于2018/2020连续发表两篇Nature Bi ...

  4. vbn中使用的3种流程控制结构是_细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定...

    细菌进化树 • 构 建 细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定 对于细菌新种或者新属的发现,总是那么让人期待,但是当我们批量获得16S序列后,逐一对这些尚不知分类地位的序列进行比对并 ...

  5. 梯度下降优化方法'原理_优化梯度下降的新方法

    梯度下降优化方法'原理 The new era of machine learning and artificial intelligence is the Deep learning era. It ...

  6. 进化树构建之邻接法(Neighbor-Joining)的介绍

    进化树构建 进化树构建的问题是推断可能产生给定基因序列数据的进化树的拓扑结构和分支长度.推断树中叶节点的数量应等于给定数据中基因序列的数量. Neighbor-Joining Algorithm Ne ...

  7. linux下phylip软件构建NJ树,进化树构建-NJ法lpar;megarpar;

    进化树构建-NJ法 V1.2 By ZHAO Yangguo, email: sunshine.zhao@yahoo.com.cn 通过长期的分析认为对于16S rDNA序列的进化(Phyligene ...

  8. 第三代测序技术的方法原理及其在生物领域的应用

    第三代测序技术的方法原理及其在生物领域的应用 张子敬  刘燕蓉  张顺进  贺花  李佳霄  刘贤  吕世杰  李志明  王二耀  雷初朝  黄永震   [摘要]:在自然界中,生物DNA的碱基序列包含 ...

  9. Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net

    Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...

  10. python定义私有变量的方法_Python面向对象程序设计之私有变量,私有方法原理与用法分析...

    本文实例讲述了Python面向对象程序设计之私有变量,私有方法原理与用法.分享给大家供大家参考,具体如下: 私有变量,私有方法:python的私有化是为了规划私有属性,避免非相关的访问[假如!我有老婆 ...

最新文章

  1. CICC科普栏目|神经网络浅讲:从神经元到深度学习
  2. 【linux回炉 档案权限与目录配置】
  3. SVN使用CVS使用
  4. SpringSecurity认证
  5. mysql查询当前库的实例名_oracle查询数据库名、实例名等
  6. list元素求和_LeetCode刷题实战82:删除排序链表中的重复元素 II
  7. 红杉千万美元投资壁虎烘热游戏内置广告
  8. ORACLE——ROWNUM解析(使用ROWNUM大于条件,无法得到任何查询结果)
  9. 农村三资管理平台app_鑫农三资app下载-鑫农三资app下载安卓版 v1.0.2_手机乐园
  10. JPG图片怎么转换成Word文档
  11. macOS更换jupyter notebook默认浏览器
  12. LINK : fatal error LNK1561和LINK : fatal error LNK1168:解决方法
  13. win10偶尔打不开开始菜单(按win键和点击开始菜单都没反应)
  14. 用R语言对网络数据进行统计分析(四)
  15. python编写word_如何使用Python来编辑word
  16. 计算机组成原理复习提纲六(CPU结构和功能)
  17. javaweb登录验证码的实现
  18. Prolog系列学习-1
  19. 安装完Ubuntu 18.04之后要做的几件事
  20. 计算机控制系统EHA,民用飞机EHA/EBHA/EMA技术浅谈

热门文章

  1. 【Adobe Premiere Pro 2020】pr2020文字与图形的关键帧制作说明、各类字体添加和字幕创建说【包含动态字幕】、特效添加说明【混合视频剪辑】
  2. Xp计算机同步时间,windows xp时间不准不能自动同步的解决办法
  3. 使用postman发送post请求下载文件
  4. RuntimeError:The size of tensor a (100) must match the size of tensor b (12800) at non-singleton di
  5. 微信小程序开发者工具运行不了
  6. python连连看小游戏_python之自动化连连看脚本-第一关不动-小记
  7. 网络拓扑图是用什么软件画的?
  8. 网站整体策划书的撰写
  9. win10应用商店打不开_为何win10应用商店不能下载itunes
  10. Web Polygraph (WebAxe-4) 测试反向代理缓存服务器