-
系统发育 编辑
系统发育的建树方法都会预先假定一个进化模型(Penny et al., 1994)。比如,所有广泛使用的方法都假定进化的分歧是严格分枝的,因此人们可以用树状拓扑发生图来描述已知的数据。但是在一个给定的数据组中,因为存在着物种的杂交以及物种之间遗传物质的传递,这个假定很可能会被推翻。因此,如果所观察的序列并非是严格遗传的话,大多数系统发育方法就会得到错误的结果。
系统发育方法中固有的模型会导致一些额外的假定:
序列有指定的来源并且正确无误(Helbig and Seibold, 1996; Hershkovitz and Lewis, 1996; Soltis et al., 1997)。
序列是同源的(也就是说,所有的序列都起源于同一祖先序列);这些序列不是“paralog“(paralog指的是一个祖先序列通过复制等方法在基因组中产生的歧化序列)的混合物。
序列比对中,不同序列的同一个位点都是同源的。
在接受分析的一个序列组中,序列之间的系统发育史是相同的(比如,序列组中不存在核序列与细胞器序列的混合)。
样本足以解决感兴趣的问题。
样本序列之间的差异代表了感兴趣的宽组。
样本序列之间的差异包含了足以解决感兴趣的问题的系统发育信号。
还有一些假定,在某些方法中是默认的,但是在另外一些方法中是可以修正的:
样本序列是随机进化的。
序列中的所有位点的进化都是随机的。
序列中的每一个位点的进化都是独立的。
提倡进行完全的计算机多重比对的人常常有这样的依据,他们认为手工比对通常都是含混不清的(Gatesy et al., 1993)。MALIGN(Wheeler and Gladstein, 1994)和TreeAlign(Hein, 1990, 1994)程序都试图在根据系统发育功能而优化比对的时候实现完全计算机化,尤其是试图通过初步的多重比对而优化出一个最大节约树(MP tree)。一般来说,只有当人们假定计算机程序能够进行正确的比对的时候,人们才会实行完全的计算机处理。之所以还提倡进行手工比对(比如,Thompson et al., 1994),是因为比对算法和程序还不能满足系统发育分析的需要。
许多计算机多重比对程序(比如CLUSTAL, PileUp,ALIGN in ProPack)根据明确的系统发育标准(一个前导树)进行比对,这个前导树是由双重比对得到的。但是SAM(Hughey et al., 1996)和MACAW(Lawrence et al., 1993)程序在进行多重比对时并不引入明确的系统发育标准,虽然这些程序也可以模拟系统发育过程操作参数。
如果在进行系统发育分析的时候,比对中引入了前导树,那么通过这个比对推导出的进化树逻辑上应该同前导树的拓扑结构相同。由CLUSTAL比对得到的前导树将会被转化成PHYLIP树的文件格式,然后输入到画树程序中,这些画树程序包括TreeTool(X windows), TreeDraw(Macintosh), PHYLODENDRON(Macintosh), TREEVIEW(Macintosh, Microsoft Windows)或者PAUP(Macintosh, Microsoft Windows)的画树工具。按道理,人们应该回过头来为CLUSTAL比对再指定一个前导树,但是在实际操作中人们并不会这么做。有些程序(比如TreeAlign and MALIGN)为了得到优化的比对和系统发育树,程序本身就设计了交叉(同步)递归优化的算法。理论上,能够解决比对----系统发育难题的同步优化算法或者配套算法应该是存在的,但是递归算法必须冒一定的风险,它很可能会导致一个错误的或者不完整的结果(Thorne and KishiNO, 1992)。因此,根据比对结果建立进化树之后,必须考虑另外的可能性,也就是说,如果根据其它的比对结果得到一个并不是最优化的进化树,这个次优化的进化树是不是更能够满足研究的需要。
在比对中会出现一些序列区域,其长度是可变的,如何处理这些区域中indel状态的位点是最重要,这取决于进化模型的所有要素(比如,包括核苷酸转换/颠换速率),而且相关的参数在前导树与比对推导的进化树中应该保持一致。比对参数应该随着进化的分叉动态变化(Thompson et al., 1994),只有这样才能保证碱基错配的几率能够满足序列趋异的需要;比对参数应该随时调整(Thompson et al., 1994, Hughey et al., 1996),以防止引入过多的近似序列而导致比对序列的信息量不足,可以通过降低近似序列的比对分值权重来防止这种情况。CULSTAL程序兼顾了这两种情况(参数动态变化),而SAM程序引入了序列权重。
有些比对程序(比如,MACAW, SAM)根据一个统计模型进行优化,但是这些统计同系统发育模型的关系并不清楚。仅仅根据一个系统发育模型是没有办法比较多重比对方法的优劣的。
空位特征符附加到比对序列数据集中,也可以用额外的碱基程序在适当的位置对空位计分,但是在计分的时候,空位位点中只有一个作为空位计分,其余的将会被忽略。PAUP将会执行这个方法。
对于某些比对而言,比对程序会忽略所有的空位分值或者忽略所有低于预设值的空位分值;但是,还没有任何一种程序会忽略单个序列的单个位点。如果比对在序列组内部相当明确,但是处身其中时却不太清楚,此时必须对比对做“手术”,确保同序列组相关的明确的信息被保留,而除去模糊的信息。
图9.3给出了一个比对“手术”的例子。在空位区域,人们必须作出决定:在可供选择的比对中,哪一个更加合理,尤其重要的是,哪一个更加适合于建立进化树分析。如果手工解决比对的不确定性,就必须考虑系统发育关系、取代过程(比如,转换和颠换)和碱基组成;在这个阶段,用系统发育证据解决不确定性非常合理。在倾向于变长的序列区域,关系非常疏远的序列和序列组的比对就可以侧向展开(就是说,引入人工空位,并且忽略分值),最终的结果使得只有关系很近的序列区域对准在一起。某些序列中的某些位点虽然对准了,但是并不确定,他们的分值可以在计分时忽略;这个方法的优点是可以保留同这些序列相关的明确信息,缺点是最大节约和最大似然的建树方法会把这些“缺失”的分值看作是零分歧。
由MALIGN(Wheeler and Gladstein, 1994)和TreeAlign得到的比对不需要在比对后用这些方法中的建树方法进行数据修饰,即使这些比对中仍然有一些同样类型的不确定性,这些不确定性在另外一个程序进行分析时需要修正。如前所述,这些程序会根据由比对得到的最好的MP系统发育进化树,对比对参数进行递归优化。MALIGN还会利用一套空位为代价,对以连接的可供选择的比对为基础的建树方法进行优化;在这个方法中,在最有可能的几种比对中出现的比对特征将会被加权。这就提供了一种方法,可以捕获序列分歧的数量(在取消不确定的比对区域的分值的时候这些分歧是被忽略掉的),因为这些区域的所有可能的比对方式都将显示这些区域的最大的序列分歧。处于不确定的比对区域中的位点很可能不是同源的,因此在进化树中需要加入一些噪声干扰或者偏向。
对于取代模型,应该给予同比对和建树同样的重视。就像前面暗示的那样,取代模型既影响比对,也影响建树;因此需要采用递归方法。对于核酸数据而言,可以通过取代模型中的两个要素进行计算机评估(Swofford, 1997),但是对于氨基酸和密码子数据而言,没有什么评估方案(Felsenstein, 1996)。其中一个要素是碱基之间相互取代的模型;另外一个要素是序列中不同位点的所有取代的相对速率。还没有一种简单的计算机程序可以对较复杂的变量(比如,位点特异性或者系统特异性取代模型)进行评估,同样,现有的建树软件也不可能理解这些复杂变量。
一般而言,生物化学性质相近的碱基之间的取代频率较高;在DNA中,四种转换(Aà G, Gà A, Cà T, Tà C)的频率比八种颠换(Aà C, Aà T, Cà G, Gà T,以及前四种的反向取代)的频率要高;这些偏向会影响两个序列之间的预计的分歧。
各个残基之间的相对取代速率一般由方阵形式列出;对于碱基而言,行数和列数都是4,对于氨基酸而言,行数和列数都是20(比如PAM方阵),对于密码子而言,行数和列数都是61(除去了中止密码子)。非对角线元素对应于一个碱基变为另一个碱基的相对代价,而对角线元素则代表不同序列拥有同一个碱基的代价。
这些代价值可以固定为先验的代价表,以确保建树方法在计分时对每一种取代都使用确定的代价值。固定的代价方阵是典型的静态权重方阵,MP建树方法使用的就是这种方阵。如果使用这种权重,那么这个方法就会被称为“加权节约”。又如,ML建树方法,代价值是由即时的速率方阵得到的,这个方阵代表了各种取代可能会发生的概率的ML估计值。MP权重方阵只涉及简单的算术,而应用距离和ML速率方阵则可以引入复杂的代数。为了避免盲目使用不适当的方法,建议大家熟悉其内部的基本原理(见Li, 1997, and / or Swofford et al., 1996a)。
实际上,“前进”和“反向”取代速率被认为是相同的;这个取代模型被称为是“时间可逆”;这个模型拥有“静态”的性质,因为在所有的碱基频率中没有预知的变化。在系统发育的特殊历史中,不同序列中的碱基频率不同表明,前进和反向速率实际上可能会不同;而传统的取代权重或者速率方阵不能包容这个“非静态”环境;本节的结尾将讨论一个基于非静态取代模型(“logdet”)的建树方法,这个方法将会提供一个可供选择的计算方法。
通常,特征符状态的权重方阵都会或多或少地通过观察进行过估值,当然也可以从速率矩阵衍生得到。比如,如果假定两个转化的其中一个,发生的频率是每个颠换的两倍,那么据此就可以确定一个权重方阵,比如,AG的转换代价为1,而AT的颠换代价为2。(节约方法规定对角线元素值,或者说是不同序列中拥有相同碱基的代价值为零。这是节约方法的一个缺点�详见下文)在随后的建树步骤中,这套假定会把颠换的总数降至最低值,而力求把那些主要差异是转换的序列集中在一起。
任何一种“时间可逆”的核苷酸取代模型都可以用图9.5所示的方阵刻画,只是其中一个速率和其它速率的差异;在任意组合中,最多可以达到只有六个参数,其中每一个速率参数都是独立的(Swofford et al., 1996a;Li, 1997)。如果平衡的碱基频率不相等,则需要额外的参数;如果平衡的碱基频率不相等,但是却假定这些频率相等,那么系统发育进化树的最终结果将会出错(Li, 1997)。
侧线(paralinear)(Lake, 1994)和“logdet”(Lockhart et al., 1994)做了一些修正(见Swofford et al., 1996a)来满足非静态环境的需要;这个方法只适用于距离进化树的建立;在这个方法中,对于每一个序列匹配,各种类型和变化方向的原始取代的数目都会计算在一个4×4的方阵中。每个方阵都会有一个代数行列式,这个行列式的log值是评估序列差异性的一个要素,因此被称为“logdet”。对那些拥有各种各样的碱基频率的序列进行双重比较,就会得到各种各样的方阵,也就会得到各种各样的行列式值;因此,在评估序列两两之间的距离的时候,就要受到序列两两之间的行列式值的影响,而且序列两两之间的比较允许适用不同的取代模型,因此沿着系统发育进化树的不同树枝,将会产生多元化。Logdet尤其对位点之间的速率差异(见下文)敏感,因此,碱基频率的偏向可能只存在于那些承受变化的位点。
除了取代模型的多元化以外,一个序列中各个不同位点之间取代速率的差异也会对建立进化树的结果产生很深远的影响(Swofford et al., 1996a);关于位点之间的速率差异(或者叫做位点异质性),有一个最明显的例子,就是在一个编码序列中,三联体编码的位点差异:在三联体编码中,第三个编码位点比另外两个位点更加容易发生变化;正是出于这个原因,许多系统发育分析方法在分析编码序列时,都会把第三个编码位点排除在外;但是在某些情况下,速率差异模型会更加敏锐(比如,对应于蛋白质或者rRNA的保守序列)。
对位点差异的取代速率进行估值的方法有非参数化模型(W.M. YAng et al., 1996),不变式模型和gamma分布模型(Swofford et al., 1996a)。非参数化方法源于特异位点的相对速率的范畴;这个方法可以在MP建树方法中使用,只要根据相对的变异频率对特异位点进行简单加权就可以了,当然进行加权时需要有关于真实进化树的预备知识;这个方法同样也可以适用于ML建树方法,但是在计算上被认为是不切实际的(W.M. Yang et al., 1996)。不变式模型对一定比例的位点进行估值,这些位点并不能自由变化;剩余的位点假定为等概率变化。至于gamma模型方法,它假定一个给定的序列变化的概率是遵守gamma分布规律的,据此指定位点的取代概率;gamma分布的形状(有形状参数α描述)描述了一个序列中各个位点的取代频率的分布(Swofford et al., 1996a, p. 444, Figure 13; cf. Li, 1997, p. 76, Figure 3.10;注意尺度差异)。在一个混合方法中,可以假定一部分位点是不变的,而剩余的位点则是按照gamma分布变化的。