R: ggtree игнорирует прикрепленные аннотации - PullRequest
0 голосов
/ 04 мая 2019

Учитывая дерево и фрейм данных, отображая метки узлов на значения с плавающей запятой, я хочу построить дерево с цветными кружками поверх узлов, где цвет кодирует абсолютные значения. К сожалению, ggtree, похоже, полностью игнорирует аннотации. Вот MCVE

> library(ggplot2)
> library(ggtree)
> library(phytools)
>
> tree.nwk <- '((seq140:0.13041945852,seq87:0.3002143527299996)n6:0.04491171,(seq163:0.21652831800000003,(seq28:0.0535884,seq34:0.060002925)n5:0.10335070999999998)n7:0.0963524)n8:0.11015875999999998;'
> tree <- read.newick(text=tree.nwk)
> tree

Phylogenetic tree with 5 tips and 4 internal nodes.

Tip labels:
[1] "seq140" "seq87"  "seq163" "seq28"  "seq34" 
Node labels:
[1] "n8" "n6" "n7" "n5"

Rooted; includes branch lengths.
> tree.annotations <- data.frame(node=tree$node.label, value=rnorm(4))
> tree.annotations
  node       value
1   n8  2.15050556
2   n6 -0.04815265
3   n7  0.41109264
4   n5  0.42167331
> ggtree(tree) %<+% tree.annotations +
+     geom_nodepoint(aes(size=5, color=abs(value))) +
+     theme(legend.position="right")

enter image description here

Как видите, цвета вообще нет.

1 Ответ

0 голосов
/ 04 мая 2019

Похоже, ggtree не нравится, когда первый столбец называется node

> tree.annotations <- data.frame(name=tree$node.label, value=rnorm(4))
> ggtree(tree) %<+% tree.annotations + 
+     geom_nodepoint(aes(size=5, color=value)) + 
+     theme(legend.position="right")

enter image description here

Кажется, это ошибка, потому что в документах таких ограничений нет.

Мы продемонстрировали использование оператора% <% для обновления представления дерева новым деревом. Здесь мы введем еще один оператор% <+%, который присоединяет данные аннотации к древовидному представлению. <strong>Единственное требование к входным данным - соответствие первого столбца с метками узла / кончика дерева.

Я посоветовал авторам решить эту проблему

...