如何通过节点或叶子中的标签折叠系统发育树中的分支?

女士

我为蛋白质家族建立了系统发育树,可以将其分为不同的组,并根据其受体类型或响应类型对其进行分类。树中的节点被标记为受体的类型。

在系统发育树中,我可以看到属于相同基团或受体类型的蛋白质在同一分支中聚集在一起。因此,我想折叠这些具有共同标签的分支,并按给定的关键字列表对它们进行分组。

该命令将是这样的:

./collapse_tree_by_label -f phylogenetic_tree.newick -l list_of_labels_to_collapse.txt -o塌陷的tree.eps(或pdf)

我的list_of_labels_to_collapse.txt像这样:ABCD

我的newick树将像这样:(A_1:0.05,A_2:0.03,A_3:0.2,A_4:0.1):0.9,(((((B_1:0.05,B_2:0.02,B_3:0.04):0.6,(C_1:0.6 ,C_2:0.08):0.7):0.5,(D_1:0.3,D_2:0.4,D_3:0.5,D_4:0.7,D_5:0.4):1.2)

输出图像没有崩溃,就像这样:http : //i.stack.imgur.com/pHkoQ.png

折叠的输出图像应如下所示(collapsed_tree.eps):http : //i.stack.imgur.com/TLXd0.png

三角形的宽度应代表分支的长度,三角形的高处必须代表分支中的节点数。

我一直在玩R中的“猿”包。我能够绘制出一个系统发生树,但是我仍然不知道如何通过标签中的关键字折叠分支:

require("ape")

这将加载树:

cat("((A_1:0.05,A_2:0.03,A_3:0.2,A_4:0.1):0.9,(((B_1:0.05,B_2:0.02,B_3:0.04):0.6,(C_1:0.6,C_2:0.08):0.7):0.5,(D_1:0.3,D_2:0.4,D_3:0.5,D_4:0.7,D_5:0.4):1.2):0.5);", file = "ex.tre", sep = "\n")
tree.test <- read.tree("ex.tre")

这应该是要折叠的代码

这将绘制树:

plot(tree.test)
C_Z_

您存储在R中的树已经将提示存储为多面体。只需用代表多面体的三角形绘制树即可。

ape我知道没有执行此操作的功能,但是如果您对绘图功能有些混乱,可以将其关闭

# Step 1: make edges for descendent nodes invisible in plot:
groups <- c("A", "B", "C", "D")
group_edges <- numeric(0)
for(group in groups){
  group_edges <- c(group_edges,getMRCA(tree.test,tree.test$tip.label[grepl(group, tree.test$tip.label)]))
}
edge.width <- rep(1, nrow(tree.test$edge))
edge.width[tree.test$edge[,1] %in% group_edges ] <- 0


# Step 2: plot the tree with the hidden edges
plot(tree.test, show.tip.label = F, edge.width = edge.width)

# Step 3: add triangles
add_polytomy_triangle <- function(phy, group){
  root <- length(phy$tip.label)+1
  group_node_labels <- phy$tip.label[grepl(group, phy$tip.label)]
  group_nodes <- which(phy$tip.label %in% group_node_labels)
  group_mrca <- getMRCA(phy,group_nodes)

  tip_coord1 <- c(dist.nodes(phy)[root, group_nodes[1]], group_nodes[1])
  tip_coord2 <- c(dist.nodes(phy)[root, group_nodes[1]], group_nodes[length(group_nodes)])
  node_coord <- c(dist.nodes(phy)[root, group_mrca], mean(c(tip_coord1[2], tip_coord2[2])))

  xcoords <- c(tip_coord1[1], tip_coord2[1], node_coord[1])
  ycoords <- c(tip_coord1[2], tip_coord2[2], node_coord[2])
  polygon(xcoords, ycoords)
}

然后,您只需要在组中循环以添加三角形

for(group in groups){
  add_polytomy_triangle(tree.test, group)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在系统发育树中显示分支的长度

来自分类Dev

从系统发育树的集合中获得平均系统发育树分支长度

来自分类Dev

在R中,如何为系统发育树中的标签着色?(使用猿的BioNj)

来自分类Dev

系统发育树中的簇

来自分类Dev

圆形系统发育树上的节点标签

来自分类Dev

在系统发育树 R 中绘制点

来自分类Dev

计算 R 中的系统发育树拓扑

来自分类Dev

用R中的链接绘制系统发育树

来自分类Dev

如何在猿包中将自举值包括在系统发育树中

来自分类Dev

在R中,当使用tip.color()通过特征为系统发育树着色时,您如何选择颜色并添加图例?

来自分类Dev

如何调整系统发育树上相对于树尖的提示标签的位置?

来自分类Dev

R中系统发育提示标签中的斜体和常规文本

来自分类Dev

系统发育树猿太小

来自分类Dev

Python ete3 - 有没有办法拉伸系统发育树的分支?

来自分类Dev

BrushPoints RShiny - 显示从系统发育树中选择的提示

来自分类Dev

更改 R (read.tree) 中所有提示的系统发育树提示标签(例如添加“ ”或“_”)

来自分类Dev

如何通过nltk python中的标签获取树中的节点?

来自分类Dev

R中系统发育重建中的混合数据分区

来自分类Dev

java - 如何通过节点在列表中的位置获取节点?(不是值,是整个节点)

来自分类Dev

有没有办法在 ape/phytools 中手动调整系统发育的颜色渐变边界?

来自分类Dev

根据物种出生-死亡表计算总的系统发育分支长度之和

来自分类Dev

从绝对分支长度系统发育中计算值在0和1之间的距离矩阵

来自分类Dev

在树中,如何找到带有叶子的子节点的树节点的路径?

来自分类Dev

在系统发育上绘制特征

来自分类Dev

如何通过节点js将子节点添加到现有json文件中?

来自分类Dev

如何检查节点是否是二叉树中的叶子(Haskell)

来自分类Dev

JavaScript-如何在节点搜索中返回树的分支?

来自分类Dev

如何创建具有系统发育校正的多元线性模型?

来自分类Dev

打印叶子并返回树中的叶子数量

Related 相关文章

  1. 1

    如何在系统发育树中显示分支的长度

  2. 2

    从系统发育树的集合中获得平均系统发育树分支长度

  3. 3

    在R中,如何为系统发育树中的标签着色?(使用猿的BioNj)

  4. 4

    系统发育树中的簇

  5. 5

    圆形系统发育树上的节点标签

  6. 6

    在系统发育树 R 中绘制点

  7. 7

    计算 R 中的系统发育树拓扑

  8. 8

    用R中的链接绘制系统发育树

  9. 9

    如何在猿包中将自举值包括在系统发育树中

  10. 10

    在R中,当使用tip.color()通过特征为系统发育树着色时,您如何选择颜色并添加图例?

  11. 11

    如何调整系统发育树上相对于树尖的提示标签的位置?

  12. 12

    R中系统发育提示标签中的斜体和常规文本

  13. 13

    系统发育树猿太小

  14. 14

    Python ete3 - 有没有办法拉伸系统发育树的分支?

  15. 15

    BrushPoints RShiny - 显示从系统发育树中选择的提示

  16. 16

    更改 R (read.tree) 中所有提示的系统发育树提示标签(例如添加“ ”或“_”)

  17. 17

    如何通过nltk python中的标签获取树中的节点?

  18. 18

    R中系统发育重建中的混合数据分区

  19. 19

    java - 如何通过节点在列表中的位置获取节点?(不是值,是整个节点)

  20. 20

    有没有办法在 ape/phytools 中手动调整系统发育的颜色渐变边界?

  21. 21

    根据物种出生-死亡表计算总的系统发育分支长度之和

  22. 22

    从绝对分支长度系统发育中计算值在0和1之间的距离矩阵

  23. 23

    在树中,如何找到带有叶子的子节点的树节点的路径?

  24. 24

    在系统发育上绘制特征

  25. 25

    如何通过节点js将子节点添加到现有json文件中?

  26. 26

    如何检查节点是否是二叉树中的叶子(Haskell)

  27. 27

    JavaScript-如何在节点搜索中返回树的分支?

  28. 28

    如何创建具有系统发育校正的多元线性模型?

  29. 29

    打印叶子并返回树中的叶子数量

热门标签

归档