我正在使用cophyloplot
在ape
包在R
中,使两个系统发生树面对面地与链接(树根植于顶端1)。
library(ape)
set.seed(1)
tree1 <-read.nexus("tree1.nex", tree.names = NULL)
tree2 <-read.nexus("tree2.nex", tree.names = NULL)
tree1$tip.label<-(1:28)
tree2$tip.label<-(1:28)
a <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28)
b <- c(1,15,3,4,6,5,23,26,28,27,16,14,22,18,19,10,9,8,7,11,25,24,2,21,12,13,17,20)
association <- cbind(a, b)
cophyloplot(tree1, tree2, assoc = association, length.line = 4, space = 30, gap = 3,col="red", show.tip.label=FALSE)
但是,如果我旋转一些节点,就可以操纵一棵树,使更多的链接出现在水平/直线上(也就是说,树的镜像更多)。
是否有一种方法可以用链接自动绘制树,使它们在默认情况下是彼此最佳的匹配/镜像?也就是说,让尽可能多的链接是横向的?
编辑:是否也有一个统计指标来衡量树木有多相似?或者这是dist.topo(tree1, tree2, method = "PH85")
给的?
发布于 2021-06-22 10:03:06
“最佳匹配”可以直接用R软件包显示。
使用cophylo()
函数(wich与ape的cophyloplot()
相同)并将旋转设置为TRUE。
obj <- cophylo(tree1, tree2, assoc = association, rotate = T)
plot(obj)
https://stackoverflow.com/questions/31306735
复制相似问题