Расположение меток наконечников рядом с наконечниками на дендрограмме

#r #ggplot2 #dendrogram #phylogeny #dendextend

#r #ggplot2 #дендрограмма #филогения #дендекстенд

Вопрос:

Я читаю в дереве ( .nex ), преобразую его в dendro класс и строю его с помощью ggdendrogram from ggplot2 . Как я могу расположить метки наконечников рядом с наконечниками на дендрограмме, а не внизу?

 mytree <- read.nexus('mytree.nex')
den_data_mytree <- dendro_data(as.dendrogram(mytree))
pdf('mytree.pdf', h=55,w=55)
ggdendrogram(den_data_mytree, theme_dendro=F, labels=F)  
  labs(x = "x label", y = "y label", title = "Title")   
  geom_text(data = den_data_mytree$labels, aes(x, y, label = label,color=den_data_mytree$labels$group), hjust = 1.2, size = 9, angle=90)   
  scale_colour_manual(values=c("purple","orange"))  
  theme(axis.text=element_text(size=24), axis.title=element_text(size=54,face="bold"), title = element_text(size=54), legend.title = element_blank())
dev.off()
 

Результатом является это изображение:

ггдендограмма

Вот эти данные:

 >dput(core_snp_tree)
structure(list(edge = structure(c(109L, ..., 108L), .Dim = c(213L, 2L)), edge.length = c(0.00373, 0,  3e-05, ..., 0.00844), Nnode = 106L,      node.label = c("", "100.00", ..., "100.00"), tip.label = c("list","of","tip","labels"), root.edge = 0), class = "phylo", order = "cladewise")
 

Комментарии:

1. Можете ли вы опубликовать вывод dput(mytree) ?

2. Он имеет следующий формат: > dput(core_snp_tree) structure(list(edge = structure(c(109L, ..., 108L), .Dim = c(213L, 2L)), edge.length = c(0.00373, 0, 3e-05, ..., 0.00844), Nnode = 106L, node.label = c("", "100.00", ..., "100.00"), tip.label = c("list","of","tip","labels"), root.edge = 0), class = "phylo", order = "cladewise")

3. Вывод dput кажется неправильным: « > core_snp_tree <- structure(список(edge = structure(c(109L, …, 108L), .Dim = c(213L, 2L)), edge. длина = c(0,00373, 0, 3e-05, …, 0,00844), Nnode = 106L, узел. метка = c(«», «100.00», …, «100.00»), подсказка.метка = c(«список», «из», «подсказка», «метки»), root.edge = 0), класс = «фило», порядок = «по порядку») Ошибка в структуре (c(109L, …, 108L), .Dim = c(213L, 2L)): ‘…’ используется в неправильном контексте «

Ответ №1:

Комментарии:

1. Когда я пытаюсь выполнить команду dend <- hang.dendrogram(as.dendrogram(hc)) с моим деревом nexus (из Raxml), я получаю эту ошибку: ‘Ошибка в ape::as.hclust.phylo(объект): дерево не является ультраметрическим’ Что мне делать дальше?

2. Это означает, что у вас, вероятно, есть несколько ветвей, которые меньше, чем их листья. Вы должны взглянуть на свое дерево и посмотреть, имеет ли оно «смысл»

3. У вас также может быть пучок листьев высотой 0…