如何从系统发育的节点路径中识别边缘编号?

时间:2019-04-26 18:44:24

标签: r phylogeny ape-phylo

我正在尝试识别由系统树树中的节点对界定的边号。例如,假设内部分支 1 由节点 22 23 绑定。当然,可以用function startTimer(duration, display) { var timer = duration, minutes, seconds; setInterval(function () { minutes = parseInt(timer / 60, 10); seconds = parseInt(timer % 60, 10); minutes = minutes < 10 ? "0" + minutes : minutes; seconds = seconds < 10 ? "0" + seconds : seconds; display.textContent = minutes + ":" + seconds; if (--timer < 0) { timer = duration; } }, 1000); duration = timer; } nodelabels()来实现,但是我正在研究具有成千上万个技巧的系统发育系统,因此需要一种自动化的方法。

是否有任何命令将节点号与边号匹配?

1 个答案:

答案 0 :(得分:0)

您可以将存储在phylo对象中的边表用作$edge

## A random tree
tree <- rtree(5)
tree$edge
#     [,1] [,2]
#[1,]    6    7
#[2,]    7    1
#[3,]    7    2
#[4,]    6    8
#[5,]    8    3
#[6,]    8    9
#[7,]    9    4
#[8,]    9    5

读取这些表的方式是:行号是边缘号(您要查找的内容),第一列是父节点,第二列是子提示/节点:

## The edge table
edge_table <- tree$edge
rownames(edge_table) <- paste("edge", 1:nrow(edge_table), sep = ""))
colnames(edge_table) <- c("parent", "child")
edge_table
#      parent child
#edge1      6     7
#edge2      7     1
#edge3      7     2
#edge4      6     8
#edge5      8     3
#edge6      8     9
#edge7      9     4
#edge8      9     5

节点/技巧1至5(Ntip(tree))是技巧,然后6是直到Ntip(tree) + Nnode(tree)的第一个节点(例如根)。