0

У меня есть иерархические объекты кластера hclust с сотнями узлов и длинными ярлыками. Например, синонимы множественных генов в семье. Смотри ниже.R hclust -> dendrogram -> phylo?

Я хотел бы нарезать hclust на более мелкие поддеревья, а затем визуализировать их с помощью гибких стилей. После http://gastonsanchez.com/blog/how-to/2012/10/03/Dendrograms.html, я вижу, как вырезать dendrograms и довольно-сюжет ape филогенные деревья.

Я просто не вижу способа преобразования разрезанных дендрограмм в объекты 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 --- 

enter image description here

+0

Как вы получаете от 'receptor.synonyms'' 'hc'? – jeremycg

+0

d <- adist (receptor.synonyms); rownames (d) <- receptor.synonyms; hc <- hclust (as.dist (d)) –

+0

вам не нужно использовать as.dendrogram, вы можете запустить 'as.phylo (hc)', и он должен работать нормально – jeremycg

ответ

1

Поскольку пост вы связаны была опубликована, там было много работы, проделанной на игре с hclust выходами через объект дендрограмма с помощью dendextend R package. Например, вы можете отбрасывать метки с помощью функции «чернослива», использовать «cutree» на дендрограмме, окрашивать ветви и делать многое другое.

Вы можете узнать больше о пакете из почтового/журнала-статьи: dendextend: a package for visualizing, adjusting, and comparing dendrograms (based on a paper from “bioinformatics”)

enter image description here

Чтобы увидеть более продвинутые вещи (например, круговых участков и т.п.), вы можете проверить виньетка пакет: Introduction to dendextend.

+1

Спасибо, dendextend - хорошее дополнение к моему инструменту. –