在这里插入图片描述

由于之前做过一些进化树的工作,而对进化树的很多概念不是很清楚,本文简单记录一下。

文中内容主要来自于由陈铭主编的生物信息学


分子进化的特点

  • 生物大分子进化速率相对恒定
  • 生物大分子进化的保守性

正是因为上面的两个特点,我们根据DNA或蛋白质序列画出的进化树才被认为是有意义的,画出的进化树是在一定程度上能代表生物大分子进化的趋势和规律的。

分子进化的中性学说

分子进化的中性学说认为多数或绝大多数突变都是中性或者近中性的,即无所谓有利或不利,自然选择对它们不起作用,因此对于这些中性突变不会发生自然选择与适者生存的情况。生物的进化主要是中性突变在自自然群体中进行随机的“遗传漂变”的结果,而与选择无关,这些突变全靠一代又一代的随机漂变而被保存或趋于消失,从而形成分子水平上的进化性变化或种内变异。

中性学说揭示了分子进化的基本规律,是解释生物大分子进化现象的重要理论。

进化树的概念

书中的解释(较为冗长):假如生物大分子进化速率是相对恒定的,那么大分子进化改变的量只与大分子进化所经历的时间呈正相关。如果我们将不同种类生物的同源大分子的一级结构作比较(假定这些大分子的结构顺序已知),其差异量(氨基酸或核苷酸替换数)只与所比较的生物由共同祖先分异以后所经历的独立进化的时间呈正比。用这个差异量来确定所比较的生物种类在进化中的地位,由此构建系统树,这就被称为分子系统树,也就是进化树。

通俗一点讲也就是我们认为分子的进化速率是相对稳定的,而对于每种同源序列来说,他们的共同祖先可能是一样的,因此它们产生的差异就是由进化得来的,这种差异最直接的体现在序列的一级结构上,因此通过构建序列一级结构间差异的进化树能在一定程度上反映同源序列进化的规律及趋势。

进化树的分类

有根树和无根树

根据表面含义即可理解有根和无根指的是树中有没有确定的较早的共同祖先,将这个祖先当作起始节点就成为了有根树,有根树具有方向,是从起始节点向子孙节点延伸的树,而无根树则不能确定树中的祖先节点,只能反映分类单元间的距离而不涉及谁是祖先的问题。

一般要创建有根树,可以通过添加外群的方法,外群指的是一个或多个无可争议的同源物种和序列,添加外群后可以通过外群的信息判断祖先节点的位置。

不同的进化树构建方法

构建进化树有很多种方法,如邻接法、最大似然法、最大简约法等,每种构建方法所使用的原理不同,某些算法也相对比较复杂,同时每种方法所适用的情况也不同,此处简单介绍一下这些方法。若有兴趣可以参考更多资料探究每种进化树构建的原理。

基于距离的进化树构建方法

基于距离构建进化树一般是首先获取分类群建进化距离,再根据这些距离构建进化树,因此能较好反映序列间的距离。距离法是一种纯数学算法,通过序列间两两比对的差异(比如序列比对后两条序列上有多少个氨基酸不同)决定树的结构和职场,它将发育树的构建和最优树的确定融合在一起,构建树的过程就是寻找最佳树的过程。

UPGMA法

特点:生成有根树,简单,速度快,但较不准确。若在不同分支间进化速率有较大差别时,会得到错误的进化树结构。

邻接法

邻接法相对UPGMA来说更常用,速度也很快,计算结果相对更为准确。构建进化树时假设少,适用于进化距离不大、信息位点少的短序列。

最大简约法

最大简约法是根据离散性状(包括形态学性状和分子序列如DNA或蛋白序列)的变异程度,构建的生物系统发育树,并分析物种之间的烟花关系。其概念下物种进化遵循简约性原则,所需变异次数最少的进化树较为符合自然情况。在分析的序列位点上没有回复突变或平行突变,且被检验的序列位点数很大的时候,能获取到准确的进化树。而当有较多回复突变或平行突变、检验序列位点又较少时,可能会出现建树错误。因此其一般适用于序列残基差别小,具有近似变异率,包含信息位点比较多的长序列。

最大似然法

使用最大似然法构建进化树基于两条假设,即不同性状的进化是独立的,物种发生分化后的进化是独立的,其充分利用所有资料,其进化概率模型采用了标准统计方法,是一种比较成熟的参数估计的统计方法。因此最大似然法的计算量是很大的。其考虑了所有可能的突变途径,能完全利用数据的系统发育信息。其原理为考虑到每个位点出现的残基的似然值,将每个位置所有可能出现的残基替换概率进行累加,产生特定的似然值,其对所有可能的树都计算似然函数,得到的函数值最大的树即为最可能发生的进化树。在进化模型选择合理的情况下,最大似然法是最好的建树算法,但缺点是计算强度大,非常耗时间。

贝叶斯推断法

既保留了最大似然法的基本原理,但是引进了蒙特卡洛方法,使计算时间大大缩短。其可以分析很大的数据集。一般可以获得比最大似然法更好的结果。

进化树的评估

最常用的检验方式为bootstrap自展检验,其利用计算机进行随机冲采样,以确定采样误差和一些参数估计的置信区间。该方法用来推断进化树的可靠性,可以与任何进化树进行联合使用。

bootstrap的基本原理是从原始数据集中反复重新抽样,产生不同的数据集,这些数据集分别被称为自展样本,然后利用这些数据集来构建进化树,重复构建进化树得到多个自展树,最后再检验自展树对最终系统发生树各个分支的支持率。一般来说构建进化树会使用含有bootstrap值的进化树。

本文内容主要来自于书籍,生物信息学,由于内容丰富,并未展开细说,若有兴趣可以自行查阅更多资料进行了解。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐