使用ggtree给进化树添加注释信息

加载所需R包

# if (!requireNamespace("BiocManager", quietly = TRUE))
#     install.packages("BiocManager")
# BiocManager::install("ggtree", version = "3.8")
library(ggplot2)
library(ggtree)

设置工作路径

setwd("~/Desktop/SpeciesTree_test/animal/")
# 清除当前环境中的变量
rm(list=ls())

读取nwk格式的树文件并进行可视化

tree <- read.newick("Concatenation/cds/RAxML_bipartitions.concatenation_out.nwk",node.label = "support")
# 显示节点标签和bootstrap值
ggtree(tree,color="black",linetype=1,size=1.5,ladderize = T) + 
  geom_tiplab(hjust = -0.05,size=6,fontface="italic") + xlim(NA,0.8) +
  geom_text2(aes(subset=!isTip,label=support,color=support, hjust=-0.5),size=4)
image.png
# 显示节点标签和内部节点的编号
ggtree(tree,color="black",linetype=1,size=1.5,ladderize = T) + 
  geom_tiplab(hjust = -0.05,size=6,fontface="italic") + xlim(NA,0.8) +
  geom_text2(aes(subset=!isTip,label=node),hjust=-.3,color="red")
image.png
# 标记指定内部节点对应的clade
ggtree(tree,color="black",linetype=1,size=1.5,ladderize = T) + 
  geom_tiplab(hjust = -0.05,size=6,fontface="italic") + xlim(NA,0.8) +
  geom_text2(aes(subset=!isTip,label=node),hjust=-.3,color="red") +
  geom_cladelabel(node=21, label = "Euarchotoglires", align = T, offset = 0.32, color = "red", barsize = 2) +
  geom_cladelabel(node=17, label = "Afrotheria", align = T, offset = 0.32, color = "blue",fontsize = 6) +
  geom_cladelabel(node=14, label = "Marsupialia", align = T, offset = 0.32, color = "green",angle = 45)
image.png
# 高亮指定内部节点对应clade所在的区域
ggtree(tree,color="black",linetype=1,size=1.5,ladderize = T) + 
  geom_tiplab(hjust = -0.05,size=6,fontface="italic") + xlim(NA,0.8) +
  geom_text2(aes(subset=!isTip,label=node),hjust=-.3,color="red") +
  geom_hilight(node=19, fill = "steelblue", alpha = .6, extend = 0.4) +
  geom_hilight(node=17, fill = "darkgreen", alpha = .6, extend = 0.4)
image.png
# 高亮环形进化树内部指定节点对应clade所在的区域
ggtree(tree,layout = "circular", color="black",linetype=1)  +
  geom_text2(aes(subset=!isTip,label=node),hjust=-.3,color="red") +
  geom_hilight(node=19, fill = "steelblue", alpha = .6, extend = 0.2) +
  geom_hilight(node=17, fill = "darkgreen", alpha = .6, extend = 0.2)
image.png
# 构建注释数据信息,并展示不同注释数据类型
d1 <- data.frame(id=tree@phylo$tip.label, val=rnorm(11, sd=3))
head(d1)
p <- ggtree(tree)
p2 <- facet_plot(p, panel="dot", data=d1, geom=geom_point, aes(x=val), color='firebrick')
p2
image.png
d2 <- data.frame(id=tree@phylo$tip.label, value=abs(rnorm(11, mean=100, sd=50)))
head(d2)
facet_plot(p2, panel='bar', data=d2, geom=geom_segment, aes(x=0, xend=value, y=y, yend=y), size=3, color='steelblue') + theme_tree2()
image.png
# 读取BEAST软件分析得到的树文件
file <- system.file("extdata/BEAST", "beast_mcc.tree", package="treeio")
beast <- read.beast(file)
ggtree(beast, aes(color=rate))  +
  geom_range(range='length_0.95_HPD', color='red', alpha=.6, size=2) +
  geom_nodelab(aes(x=branch, label=round(posterior, 2)), vjust=-.5, size=3) +
  scale_color_continuous(low="darkgreen", high="red") +
  theme(legend.position=c(.1, .8))
image.png
beast_file <- system.file("examples/MCC_FluA_H3.tree", package="ggtree")
# 读取beast树文件
beast_tree <- read.beast(beast_file)
# 读取多序列比对文件
fasta <- system.file("examples/FluA_H3_AA.fas", package="ggtree")
# 展示多序列比对信息
msaplot(ggtree(beast_tree), fasta)
image.png
# 环形展示多序列比对信息
msaplot(ggtree(beast_tree), fasta, window=c(150, 200)) + coord_polar(theta='y')
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] stats4    parallel  stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
## [1] Biostrings_2.48.0   XVector_0.20.0      IRanges_2.14.11    
## [4] S4Vectors_0.18.3    BiocGenerics_0.26.0 bindrcpp_0.2.2     
## [7] 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      zlibbioc_1.26.0  tools_3.5.1      digest_0.6.16   
##  [9] jsonlite_1.5     tidytree_0.1.9   evaluate_0.11    tibble_1.4.2    
## [13] gtable_0.2.0     nlme_3.1-137     lattice_0.20-35  pkgconfig_2.0.2 
## [17] rlang_0.2.2      rstudioapi_0.7   rvcheck_0.1.0    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   reshape2_1.4.3  
## [33] tidyr_0.8.1      purrr_0.2.5      magrittr_1.5     backports_1.1.2 
## [37] scales_1.0.0     htmltools_0.3.6  assertthat_0.2.0 colorspace_1.3-2
## [41] ape_5.1          labeling_0.3     stringi_1.2.4    lazyeval_0.2.1  
## [45] munsell_0.5.0    crayon_1.3.4

参考来源:http://www.bioconductor.org/packages/release/bioc/vignettes/ggtree/inst/doc/treeAnnotation.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容

  • 文/浅草 友情的路,是温暖的路。 失败悲伤,朋友总在你的身后给你鼓励。 给你最贴心的祝福。 亲情的路,是甜蜜的路。...
    浅草拾光阅读 677评论 10 9
  • 姓名:王成湘 班级:大健18生物本 电话:15085260155 半片黄叶落下,我听到一丝生命枯萎的声音。是的,雁...
    泡面的喵阅读 1,141评论 0 0
  • 2018年应该算是我的里程碑,这一年我完成了自己从小到大成长最快的跃迁。 1月: 1. 将思维导图应用在教学中 2...
    甜小乐阅读 302评论 0 0
  • Axure8.0安装包以及汉化包下载链接如下 传送门 提取码: pfq6 授权码如下 亲测可用 注意事项:汉化包安...
    辛小二阅读 536评论 2 4