R hclust -> 树状图 -> phylo?

R hclust -> dendrogram -> phylo?

我有具有数百个节点和长标签的 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                    &alpha;<sub>2</sub>-C2
18           adrenergic, alpha-1A-, receptor
19                                   ADRARL1
20                     alpha-1B adrenoceptor
--- snip ---

自从您链接到的 post 发布以来,在使用 dendextend R package 通过树状图对象处理 hclust 输出方面已经做了很多工作。例如,您可以使用 "prune" 函数删除标签,在树状图上使用 "cutree",为分支着色,以及做许多其他事情。

您可以从 post/journal-article 了解更多关于软件包的信息:dendextend: a package for visualizing, adjusting, and comparing dendrograms (based on a paper from “bioinformatics”)

要查看更高级的内容(如圆形图等),您可以查看包的插图:Introduction to dendextend