从绝对分支长度系统发育计算距离矩阵,其值介于0和1之间

时间:2013-07-12 10:30:23

标签: branch distance phylogeny

我有一个系统发育树,其绝对分支长度为百万年。如何计算0到1之间的距离矩阵?

1 个答案:

答案 0 :(得分:1)

假设您在R中有一个系统发育树,您可以使用ape包中的cophenetic.phylo()函数计算每个分类群之间的距离。

如果你除以矩阵的最大值,你将得到一个介于0和0之间的矩阵。 1.

例如:

tree = rtree(5)
dist.mat = cophenetic.phylo(tree)
dist.mat
          t2        t1       t4       t5       t3
t2 0.0000000 0.9832129 1.815684 1.646854 1.483749
t1 0.9832129 0.0000000 1.166180 1.779498 1.616393
t4 1.8156839 1.1661797 0.000000 2.611969 2.448864
t5 1.6468535 1.7794981 2.611969 0.000000 1.527042
t3 1.4837485 1.6163931 2.448864 1.527042 0.000000

dist.mat / max(dist.mat)
          t2        t1        t4        t5        t3
t2 0.0000000 0.3764259 0.6951399 0.6305027 0.5680575
t1 0.3764259 0.0000000 0.4464753 0.6812860 0.6188408
t4 0.6951399 0.4464753 0.0000000 1.0000000 0.9375548
t5 0.6305027 0.6812860 1.0000000 0.0000000 0.5846325
t3 0.5680575 0.6188408 0.9375548 0.5846325 0.0000000