基于R中部分匹配分类群标签的系统发育树分支折叠

wmomyfyw  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(148)

我已经为一个DNA细菌区域建立了一个系统发育树,在这个区域中,相同的细菌物种通常聚集在一起形成紧密的分支。现在,我想折叠具有共同标签的分支。我试图根据以下与末端分类单元名称部分匹配的关键字来定义要折叠的标签:
保留字:

("vulneris","ulcerans","blattae","coli","hermannii","albertii","periodonticum","fergusonii")

在R中,我上传了以下文件.newick:
第一次
并使用ape和phytools包构建树:

ggtree(tree.test) + geom_tiplab()

但我不知道如何在关键字级别崩溃。任何建议将非常感谢。谢谢!

ee7vknir

ee7vknir1#

一种方法是使用ape::drop.tip函数删除所有OTU,但保留每个物种组中的一个OTU:

library(ape)

## List of clades
clades <- c("vulneris","ulcerans","blattae","coli","hermannii","albertii","periodonticum","fergusonii")

## New tree placeholder
trimmed_tree <- tree.test

## Loop through each tip to drop
for(one_clade in clades) {
    ## Find the tips matching the species name
    species <- grep(one_clade, trimmed_tree$tip.label)
    ## Removing all the species but the first one
    trimmed_tree <- drop.tip(trimmed_tree, trimmed_tree$tip.label[species[-1]])
}

## Displaying the trimmed tree (with one OTU per species)
plot(trimmed_tree)

相关问题