系统发育树猿太小

时间:2019-12-17 23:42:58

标签: r phylogeny ape

我正在使用NCBI分类标准的数据来构建系统发育树。这棵树很简单,其目的是显示一些节肢动物之间的关系。 问题在于这棵树看起来很小,我似乎无法使其树枝更长。我还想给一些节点着色(例如:Pancrustaceans),但我不知道如何使用猿来着色。 感谢您的帮助!

library(treeio)
library(ape)
treeText <- readLines('phyliptree.phy')
treeText <- paste0(treeText, collapse="")

tree <- read.tree(text = treeText) ## load tree 
distMat <- cophenetic(tree) ## generate dist matrix

plot(tree, use.edge.length = TRUE,show.node.label = T, edge.width = 2, label.offset = 0.75, type = "cladogram",  cex = 1, lwd=2)

enter image description here

1 个答案:

答案 0 :(得分:3)

这里有一些使用ape包的指针。我使用的是随机树,因为我们无法访问您的树,但是这些示例应该很容易适应您的问题。如果您提供特定问题的可复制示例,我可以再看一遍。

首先,我制作一棵随机树,添加一些物种名称,并对其进行绘制以显示节点数(包括终端节点和内部节点)

library(ape)
set.seed(123)
Tree <- rtree(10)
Tree$tip.label <- paste("Species", 1:10, sep="_")
plot.phylo(Tree)
nodelabels() # blue
tiplabels() # yellow
edgelabels() # green

enter image description here

然后,要为树的任何节点或边缘着色,我们可以创建颜色向量并将其提供给适当的*labels()函数。

# using numbers for colors
node_colors <- rep(5:6, each=5)[1:9] # 9 internal nodes 
edge_colors <- rep(3:4, each=9) # 18 branches
tip_colors <- rep(c(11,12,13), 4)
# plot:
plot.phylo(Tree, edge.color = edge_colors, tip.color = tip_colors) 
nodelabels(pch = 21, bg = node_colors, cex=2)

enter image description here

要仅标记一个节点及其分支,我们可以这样做:

Nnode(Tree)
node_colors <- rep(NA, 9)
node_colors[7] <- "green"
node_shape <- ifelse(is.na(node_colors), NA, 21)
edge_colors <- rep("black", 18)
edge_colors[13:18] <- "green"
plot(Tree, edge.color = edge_colors, edge.width = 2, label.offset = .1)
nodelabels(pch=node_shape, bg=node_colors, cex=2)

enter image description here

没有树,就很难说出如何调整树枝。一种方法是减小笔尖标签的尺寸,以便它们占用更少的空间。另一种方法可能是在保存png或pdf时进行操作。

还有其他方法可以修饰树木,包括ggtree包。