Невозможно построить тепловую карту рядом с филогенетическим деревом из-за ошибки scale_fill_manual - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь построить тепловую карту рядом с филогенетическим деревом и раскрасить тепловую карту в соответствии с данными.Однако, когда я пытаюсь построить это с помощью ggtree в R, я получаю ошибку: не могу найти функцию "scale_fill_manual".

Я пробовал несколько поисков в Интернете, чтобы решить эту проблему.Я основываю свой код на ранее опубликованном примере: https://github.com/GuangchuangYu/plotTree-ggtree/blob/master/03_curated_genes.R

Вот пример филогенетических данных (файл дерева в формате newick):

(B:6.0,(A:5.0,C:3.0,E:4.0):5.0,D:11.0);

Вот пример данных тепловой карты (файл в формате csv):

Genome Data_1 Data_2
A      1      5
B      2      5
C      2      6
D      3      7
E      4      7

Вот мой текущий скрипт R:

library(ggtree)
library(ape)
library(phytools) #needed for midpoint rooting

#read in tree
t<-read.tree("RAxML_bestTree.BestTree")
#midpoint root tree
rooted <- midpoint.root(t)
#ladderise midpoint rooted tree (F is false --> ascending, T is true --> descending)
tl_f <- ladderize(rooted, F)

#read in the metadata
tipcategories = read.csv("metadata.csv", 
                         sep = "\t",
                         row.names=1,
                         header = TRUE, 
                         stringsAsFactors = FALSE)
rn <- rownames(tipcategories)
heatmapData <- as.data.frame(sapply(tipcategories, as.character))
rownames(heatmapData) <- rn
head(heatmapData)

#setup colour range, need 7 different colours
heatmap.colours=c("green","red","orange","pink","purple","blue","gold")
names(heatmap.colours) <- 1:7

#plot tree
p <- ggtree(tl_f) + geom_tiplab(size=1, color="purple")
p2 <- gheatmap(p, heatmapData, offset = 2, color=NULL, colnames_position="top", 
colnames_angle=90, colnames_offset_y = 1, hjust=0, font.size=2) + 
scale_fill_manual(values=heatmap.colours,breaks=1:7)
p2

Я ожидаю, что график, похожий на график 3 из этоговеб-сайт: https://github.com/GuangchuangYu/plotTree-ggtree, однако я получаю сообщение об ошибке: Ошибка в scale_fill_manual (values ​​= heatmap.colours, breaks = 1: 7): не удалось найти функцию «scale_fill_manual"

Я использую R версии 3.6.0, Bioconductor версия 3.9 (BiocManager 1.30.4) и ggtree версия 1.16.1

Любая помощь будет принята с благодарностью!

...