plot treeHeatmap using ggtree

gene_x 0 like s 1131 view s

Tags: plot, R, scripts

ggtree_and_gheatmap

  1. library(ggtree)
  2. library(ggplot2)
  3. setwd("/home/jhuang/DATA/Data_Luise_Epidome_batch3/plotTreeHeatmap/")
  4. # -- edit tree --
  5. #https://icytree.org/
  6. info <- read.csv("typing_189.csv")
  7. info$name <- info$Isolate
  8. #tree <- read.tree("core_gene_alignment_fasttree_directly_from_186isoaltes.tree") --> NOT GOOD!
  9. tree <- read.tree("471.tree")
  10. cols <- c(infection='purple2', commensalism='skyblue2')
  11. library(dplyr)
  12. heatmapData2 <- info %>% select(Isolate, ST, Clonal.Complex, Phylotype)
  13. rn <- heatmapData2$Isolate
  14. heatmapData2$Isolate <- NULL
  15. heatmapData2 <- as.data.frame(sapply(heatmapData2, as.character))
  16. rownames(heatmapData2) <- rn
  17. #https://bookdown.org/hneth/ds4psy/D-3-apx-colors-basics.html
  18. heatmap.colours <- c("cornflowerblue","darkgreen","seagreen3","tan","red", "navyblue", "gold", "green","orange","pink","purple","magenta","brown", "darksalmon","chocolate4","darkkhaki", "lightcyan3", "maroon","lightgreen", "blue","cyan", "skyblue2", "azure3","blueviolet","darkgoldenrod", "tomato","mediumpurple4","indianred",
  19. "cornflowerblue","darkgreen","seagreen3","tan","red","green","orange","pink","brown","magenta", "cornflowerblue","darkgreen","red","tan","brown", "darkgrey")
  20. names(heatmap.colours) <- c("1","2","3","4","5", "6","7", "20","21","22", "28","30","33","42","43","52","53", "66","68", "100","105","124","133","134","135","137", "159","161", "CC1","CC2","CC3","CC4","CC5","CC6","CC30","CC72","CC77","Singleton", "IA1","IA2","IB","II","III", "NA")
  21. #mydat$Regulation <- factor(mydat$Regulation, levels=c("up","down"))
  22. #circular
  23. p <- ggtree(tree, layout='circular', branch.length='none') %<+% info +
  24. geom_tippoint(aes(color=Type)) +
  25. scale_color_manual(values=cols) + geom_tiplab2(aes(label=name), offset=1)
  26. #, geom='text', align=TRUE, linetype=NA, hjust=1.8,check.overlap=TRUE, size=3.3
  27. #difference between geom_tiplab and geom_tiplab2?
  28. #+ theme(axis.text.x = element_text(angle = 30, vjust = 0.5)) + theme(axis.text = element_text(size = 20)) + scale_size(range = c(1, 20))
  29. #font.size=10,
  30. png("ggtree.png", width=1260, height=1260)
  31. #svg("ggtree.svg", width=1260, height=1260)
  32. p
  33. dev.off()
  34. png("ggtree_and_gheatmap.png", width=1290, height=1000)
  35. #svg("ggtree_and_gheatmap.svg", width=1290, height=1000)
  36. #svg("ggtree_and_gheatmap.svg", width=17, height=15)
  37. gheatmap(p, heatmapData2, width=0.1,colnames_position="top", colnames_angle=90, colnames_offset_y = 0.1, hjust=0.5, font.size=4, offset = 8) + scale_fill_manual(values=heatmap.colours) + theme(legend.text = element_text(size = 14)) + theme(legend.title = element_text(size = 14)) + guides(fill=guide_legend(title=""), color = guide_legend(override.aes = list(size = 5)))
  38. dev.off()

like unlike

点赞本文的读者

还没有人对此文章表态


本文有评论

没有评论

看文章,发评论,不要沉默


© 2023 XGenes.com Impressum