R hclust -› дендрограма -› фило?

Имам йерархични клъстерни обекти hclust със стотици възли и дълги етикети. Например синоними на множество гени в едно семейство. Виж отдолу.

Бих искал да нарежа hclust на по-малки поддървета и след това да ги визуализирам с гъвкави стилове. Следвайки http://gastonsanchez.com/blog/how-to/2012/10/03/Dendrograms.html, виждам как да изрежа дендрограми и да очертая красиви филогенни дървета на маймуни.

Просто не виждам никакъв метод за конвертиране на изрязаните дендрограми във фило обекти.

> as.phylo(as.dendrogram(hc))
Error in UseMethod("as.phylo") : 
  no applicable method for 'as.phylo' applied to an object of class "dendrogram"

Отворен съм за всеки метод, който би изобразил кръгли или вертикално ориентирани поддървета.

Всъщност моята цел е да открия визуално модели в синонимите на гените, така че да мога да напиша нещо като мустаци шаблони за тях, така че дори съм отворен за решения, които не включват дендрограми. Има няколко 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 ---

въведете описание на изображението тук


person Mark Miller    schedule 12.08.2015    source източник
comment
как се стига от receptor.synonyms до hc?   -  person jeremycg    schedule 12.08.2015
comment
d ‹- adist(рецептор.синоними) ; имена на редове(d) ‹- рецептор.синоними; hc ‹- hclust(as.dist(d))   -  person Mark Miller    schedule 12.08.2015
comment
не е необходимо да използвате as.dendrogram, можете да стартирате as.phylo(hc) и той трябва да работи добре   -  person jeremycg    schedule 12.08.2015
comment
@jeremycg, Съжалявам, предполагам, че не бях наясно, че ще конвертирам hc в дендрограма, за да мога да я изрежа. Така че бих: the.dend <- as.dendrogram(hc) и след това искам да: plot(as.phylo(cut(the.dend, h = 45)$lower[[2]]))   -  person Mark Miller    schedule 12.08.2015
comment
не изглежда супер лесно да се върнете от дендрограма обратно към нещо друго, няколко пакета казват, че могат, но дават грешки. Освен ако някой друг не отговори, бих препоръчал да използвате as.phylo и да пуснете оттам - вижте ape::drop.tip()   -  person jeremycg    schedule 12.08.2015
comment
@jeremycg Добре, благодаря. Сега се опитвам да форматирам хоризонтални дендрограми. Основният проблем е, че дългите етикети излизат от страницата вдясно. Ще пробвам и drop.tip().   -  person Mark Miller    schedule 13.08.2015


Отговори (1)


След публикуването на публикацията, към която сте се свързали, беше свършена много работа по възпроизвеждане на изходите на hclust през обекта dendrogram с помощта на пакет dendextend R. Например, можете да пускате етикети с функцията "подрязване", да използвате "cutree" на дендрограмата, да оцветявате клоните и да правите много други неща.

Можете да научите повече за пакета от публикацията/статията в списанието: dendextend: пакет за визуализиране, коригиране и сравняване на дендрограми (на базата на документ от „биоинформатика“)

въведете описание на изображението тук

За да видите по-разширени неща (като кръгови графики и други подобни), можете да разгледате винетката на пакета: Въведение в dendextend.

person Tal Galili    schedule 13.08.2015