在接下来的例子里,我们用序列间不同的碱基数目作为序列间遗传距离的度量。首先,计算出每两条序列间有几个碱基不同,并以用矩阵的形式记录下这些距离,找出距离最小的一对序列。A和B之间的距离最小,d[AB]=1。然后将
A 与 B 合并聚集,其分支点为 d[AB]/2=1/2=0.5。即,A、B之间的距离等于1,从中间折叠后每边各
0.5。现在,把(AB)看成一个整体,分别计算它们与C和D的距离。(AB)和C的距离等于A和 C
的距离加上B和C的距离除以2,即,d[(AB)C]=(d[AC]+d[BC])/2=(2+3)/2=2.5。同样,(AB)和D的距离等于A和D的距离加上B和D的距离除以2,即,d[(AB)D]=(d[AD]+d[BD])/2=(4+3)/2=3.5。据此,计算出新的距离矩阵,并找出新矩阵中最小的距离。C
和 D 之间的距离最小,d[CD]=2。将C和D进行合并聚集,其分支点为
d[CD]/2=2/2=1。接下来,把(CD)看成一个整体,计算它们与(AB)之间的距离。(CD)与(AB)之间的距离等于C和(AB)的距离加上D和(AB)的距离除以2,即,d[(CD)(AB)]=
(d[C(AB)]+d[D(AB)])/2=(2.5+3.5)/2=3。最后,将(AB)与(CD)进行合并聚集,归为一类,分支点为
d[(CD)(AB)]/2=3/2=1.5。这样,A、B、C、D
四条序列的系统发生树就构建好了。树上,枝的长短直接反应了它们与共同祖先的距离。
第二种:邻接法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