使用ggtree對(duì)進(jìn)化樹進(jìn)行可視化

### 加載所需R包
# if (!requireNamespace("BiocManager", quietly = TRUE))
#     install.packages("BiocManager")
# BiocManager::install("ggtree", version = "3.8")
library(ggplot2)
library(ggtree)
### 設(shè)置工作路徑
setwd("/Users/liang/Desktop/")
# 清除當(dāng)前環(huán)境中的變量
rm(list=ls())
# 使用read.newick函數(shù)讀取nwk格式的樹文件
# nodel.label="support"參數(shù)在讀取nwk格式的樹文件時(shí)可以存入bootstrap值
tree <- read.newick("RAxML_bipartitions.concatenation_out.nwk",node.label = "support")
ggtree(tree)
image.png
ggtree(tree, color="firebrick", size=1, linetype="dotted")
image.png
# 默認(rèn)情況下,樹以ladderize形式查看,可以設(shè)置參數(shù)ladderize = FALSE以禁用它
ggtree(tree, ladderize=FALSE)
image.png
設(shè)置branch.length="none"只查看樹的拓?fù)浣Y(jié)構(gòu)
ggtree(tree, branch.length="none")
image.png
# layout參數(shù)設(shè)置不同的展示布局,默認(rèn)為“rectangular”
ggtree(tree, layout="rectangular") + ggtitle("rectangular (phylogram)")
ggtree(tree, layout="rectangular",branch.length = "none") + ggtitle("rectangular (cladogram)")
ggtree(tree, layout="slanted") + ggtitle("slanted (phylogram)")
ggtree(tree, layout="circular") + ggtitle("circular (phylogram)")
ggtree(tree, layout="circular",branch.length = "none") + ggtitle("circular (cladogram)")
ggtree(tree, layout="fan", open.angle=160) + ggtitle("fan (phylogram)")
ggtree(tree, layout="equal_angle") + ggtitle("equal angle (unrooted)")
ggtree(tree, layout="daylight") + ggtitle("daylight (unrooted)")
ggtree(tree, layout="daylight",branch.length = "none") + ggtitle("daylight (cladogram)")
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png
顯示樹的尺度和時(shí)間標(biāo)度
ggtree(tree) + geom_treescale()
ggtree(tree) + theme_tree2()
ggtree(tree) + geom_treescale(fontsize=8, linesize=1, offset=-0.5) + theme_tree2()
image.png

image.png

image.png
# 顯示樹的節(jié)點(diǎn)和節(jié)點(diǎn)標(biāo)簽
# 使用geom_nodepoint,geom_tippoint或者geom_point添加內(nèi)部節(jié)點(diǎn)
ggtree(tree) + geom_point(aes(shape=isTip, color=isTip), size=3)
image.png
ggtree(tree) + geom_nodepoint(color="#b5e521", alpha=1/4, size=10)
image.png
ggtree(tree) + geom_tippoint(color="#FDAC4F", shape=8, size=3)
image.png
ggtree(tree) + geom_nodepoint(color="#b5e521", alpha=1/4, size=10)+ geom_tippoint(color="#FDAC4F", shape=8, size=3)
image.png
# 使用geom_nodelab和geom_tiplab顯示節(jié)點(diǎn)標(biāo)簽
ggtree(tree) + geom_nodepoint(color="#b5e521", alpha=1/4, size=10) + geom_tiplab(size=3, color="purple") + xlim(0,0.5)
image.png
ggtree(tree) + geom_tiplab(size=3, color="purple") + xlim(0,0.5) + geom_nodelab(aes(subset=!isTip,label=node),hjust=-.3,color="red")
image.png
# 設(shè)置不同的主題
ggtree(tree, color="red") + theme_tree("steelblue")
image.png
ggtree(tree, color="purple") + theme_tree("black")
image.png
# 顯示樹上所有節(jié)點(diǎn)的序號(hào)
ggtree(tree) + geom_text2(aes(label=node),hjust=-.3,color="red")
image.png
# 只顯示內(nèi)部節(jié)點(diǎn)的序號(hào)
ggtree(tree) + geom_text2(aes(subset=!isTip,label=node),hjust=-.3,color="red")
image.png
# 給指定節(jié)點(diǎn)的clade添加標(biāo)簽
ggtree(tree) + geom_text(aes(label=node),hjust=-.3,color="red") + geom_cladelabel(node=19,label="A",barsize = 1,color="blue")
image.png
# 高亮指定節(jié)點(diǎn)所對(duì)應(yīng)的區(qū)域
ggtree(tree) + geom_text(aes(label=node),hjust=-.3,color="red") + geom_hilight(node=16,fill = "blue",alpha = 0.6)
image.png
ggtree(tree) + geom_hilight(node=19,fill = "blue",alpha = 0.6) + geom_hilight(node=14,fill = "red",alpha = 0.6)
image.png
# 在兩個(gè)節(jié)點(diǎn)之間添加線段和標(biāo)記
ggtree(tree) + geom_text(aes(label=node),hjust=-.3,color="red") + geom_strip(13,19,barsize = 2,color="red",label="A")
image.png
# 添加bootstrap值和節(jié)點(diǎn)標(biāo)記
ggtree(tree,color="black",linetype=1,size=1.5,ladderize = T) + xlim(0,0.6) +
  geom_tiplab(hjust = -0.05,size=5,fontface="italic") + 
  geom_text2(aes(subset=!isTip,label=support,color=support, hjust=-0.5),size=4) + 
  geom_point2(aes(subset=!isTip),fill="red",shape=21,size=4) +
  scale_color_gradient(high='red', low='darkgreen') + theme(legend.position='right')
image.png
sessionInfo()
## R version 3.5.1 (2018-07-02)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: OS X El Capitan 10.11.3
## 
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] zh_CN.UTF-8/zh_CN.UTF-8/zh_CN.UTF-8/C/zh_CN.UTF-8/zh_CN.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] bindrcpp_0.2.2 ggtree_1.12.7  ggplot2_3.0.0 
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_0.12.18     pillar_1.3.0     compiler_3.5.1   plyr_1.8.4      
##  [5] bindr_0.1.1      tools_3.5.1      digest_0.6.16    jsonlite_1.5    
##  [9] tidytree_0.1.9   evaluate_0.11    tibble_1.4.2     gtable_0.2.0    
## [13] nlme_3.1-137     lattice_0.20-35  pkgconfig_2.0.2  rlang_0.2.2     
## [17] rstudioapi_0.7   rvcheck_0.1.0    parallel_3.5.1   yaml_2.2.0      
## [21] treeio_1.4.3     withr_2.1.2      dplyr_0.7.6      stringr_1.3.1   
## [25] knitr_1.20       rprojroot_1.3-2  grid_3.5.1       tidyselect_0.2.4
## [29] glue_1.3.0       R6_2.2.2         rmarkdown_1.10   tidyr_0.8.1     
## [33] purrr_0.2.5      magrittr_1.5     backports_1.1.2  scales_1.0.0    
## [37] htmltools_0.3.6  assertthat_0.2.0 colorspace_1.3-2 ape_5.1         
## [41] labeling_0.3     stringi_1.2.4    lazyeval_0.2.1   munsell_0.5.0   
## [45] crayon_1.3.4
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容