【发布时间】:2015-11-05 12:17:31
【问题描述】:
我有具有数百个节点和长标签的 hclust 分层集群对象。例如,一个家族中多个基因的同义词。见下文。
我想将 hclust 切割成更小的子树,然后用灵活的样式将它们可视化。在http://gastonsanchez.com/blog/how-to/2012/10/03/Dendrograms.html 之后,我看到了如何切割树状图 和漂亮地绘制猿系统发育树。
我只是没有看到任何将切割的树状图转换为 phylo 对象的方法。
> as.phylo(as.dendrogram(hc))
Error in UseMethod("as.phylo") :
no applicable method for 'as.phylo' applied to an object of class "dendrogram"
我对任何可以渲染圆形或垂直方向的子树的方法持开放态度。
事实上,我的目标是直观地检测基因同义词中的模式,以便我可以为它们编写类似mustache 的模板,因此我什至愿意接受不涉及树状图的解决方案。 有一些关于纯文本的多个序列比对的 SO 帖子,但它们让我有点过头了。
> receptor.synonyms
synonym
1 alpha1B-adrenergic receptor
2 B1AR
3 adrenergic receptor, alpha 2a
4 beta 3-AR
5 alpha-2AAR
6 alpha2-C4
7 Adrb-1
8 Badm
9 beta 1-AR
10 Adrenergic, alpha2C-, receptor class I
11 alpha-1D adrenoceptor
12 beta 2-AR
13 adrenergic receptor
14 alpha-2A-adrenergic receptor
15 Adrenergic, alpha2B-, receptor class III
16 adrenergic, alpha 1B, receptor
17 α<sub>2</sub>-C2
18 adrenergic, alpha-1A-, receptor
19 ADRARL1
20 alpha-1B adrenoceptor
--- snip ---
【问题讨论】:
-
你如何从
receptor.synonyms到hc? -
d
-
你不需要使用 as.dendrogram,你可以运行
as.phylo(hc),它应该可以正常工作 -
@jeremycg,对不起,我想我不清楚我是否会将 hc 转换为树状图以便我可以剪切它。所以我会:
the.dend <- as.dendrogram(hc)然后我想:plot(as.phylo(cut(the.dend, h = 45)$lower[[2]])) -
从树状图回到其他任何东西看起来并不容易,一些软件包说它们可以但会出错。除非其他人回答,否则我建议使用
as.phylo并从那里放下 - 请参阅ape::drop.tip()
标签: r bioinformatics hierarchical-clustering dendrogram dendextend