要是生物信息只学习一个R包,那一定是ggplot2。
迷水商城要是ggplot2里只可继承一种,那一定是ggtree。
迷水商城在生物信息学限度,进化树是探讨物种之间干系的蹙迫器用,是咱们分析使命中一定不行清寒的一环,而ggtree即是一款画图tree的大大大神器。
这款由可视化大神余晖创憨厚研发的R神器,可谓是生物信息研发东谈主员东谈主手一份。
催药商城但是可惜的是,ggtree当今是全代码操作,关于号召行操作不纯属的憨厚使用起来较为繁重。为了绵薄天下的使用,特将笔者我方梳理的ggtree的使用纪录共享下~
迷水商城一、ggtree的装配(仅需一次)
装配 ggtree前先确保您照旧装配了 R 言语和 RStudio。接下来在 R 截止台中输入以下代码以装配 `ggtree` 过甚关联依赖包:
install.packages("BiocManager")BiocManager::install("ggtree")# install.packages("treeio")
二、读入文献
迷水商城library("ggtree") library("treeio") library("dplyr")# 读入tree文献 tree<-read.newick(nwkfile,node.label="label") # 读入列表文献(可用于后续分组、象征心情等) meta<-read.delim(info,header=TRUE)
这里再啰嗦两句,确认一下这里读入的nwk文献是啥?nwk也即是Newick模范,是一种最常用于暗示进化树(系统发育树)的文献模范。同期亦然mega、fasttree等多种构树软件的输出文献模范。
nwk文献示例:
((A:0.1, B:0.2):0.3, C:0.4);
这即是一个大略的Newick模范的树,暗示有一个四个节点的树,其中A和B是子节点,C是另一个子节点,且各个分支具有特定的长度。
三、画图tree(最重要的来了)
最大略,最告成,但是不好意思瞻念的tree
迷水商城ggtree(tree)
图片
为了好意思化,咱们不错证据需要将其他关联数据(如物种分组信息)吞并到树数据框中。
迷水商城# 读入列表文献(可用于后续分组、象征心情等)meta<-read.delim(info,header=TRUE)tree_df <- fortify(tree) # 吞并tree和分组信息 tree_df <- tree_df %>% left_join(meta, by = c("label" = "ID")) # 画图tree,并添加分组心情p1 <- ggtree(tree_df,layout="roundrect",branch.length="none") + geom_tippoint(aes(label = label, color = Group), size = 3) + theme(legend.position = "right") p1
图片
打火机针孔摄像头购买商城迷水商城这么看,是不是兴盛了好多?分组更为显豁明了一些啦。
具体确认下ggtree示例中几个小参数的具体含义:
geom_tippoint:用于在叶子节点(tip)上添加点,经常用于标示具体的样本或物种。不错通过size,color的具体树立来作念节点的调度。
scale_color_manual: 用于自界说心情的映射。当你思要为不同的组或分类指定特定的心情时很有用。
theme:用于自界说图形的举座主题和形状,比如字体、配景、网格线等。不错调度图形的好意思不雅性和可读性。
annotate:用于在图形上添加详确,如文本、箭头或象征。这不错匡助确认图上的某些特征或数据。
layout 指定树阵势的布局政策,比如树的分支地方、叶节点的位置等。
除示例中的roundrect外,麦可奈因哪里买常用的另外两种布局类型:
迷水商城"rectangular": 直角布局,默许的基本布局,树呈现为高下或支配结构。
迷水商城"circular": 圆形布局,与径向布局访佛,但叶节点沿圆的周围均匀辩别。
四、遵循保存
这里同ggplot的其他包,皆是用ggsave号召完奏遵循的保存。一般提出保存为pdf模范,绵薄后续修改。
ggsave("tree_plot.pdf", plot = p1, width = 10, height = 6)
五、批量运转
迷水商城迷水商城说真话要是是单个tree的画图和好意思化,我并不提出用ggtree,网页版的iTol是更好的继承(步步图解iTol-给进化树作念个好意思颜)
ggtree的优点是更适于批量化腹地运转。比如咱们有一百个文献皆需要作念tree,咱们不错如下操作
for (file in file_list) { # 轮回读取树文献 tree <- read.tree(file) # 从文献名索要物种名 # 创竖立数据框 tree_df <- fortify(tree) # 吞并分组信息 tree_df <- tree_df %>% left_join(meta, by = c("label" = "ID"))# 画图树 p1 <- ggtree(tree_df, layout = "roundrect") + geom_tree() + geom_tippoint(aes(label = label, color = Group), size = 1) + theme(legend.position = "none") + annotate("text", x = max(tree$edge.length) * 0.5, y = -3, label = file, size = 2, vjust = -1) # 保存每个图 ggsave(paste0(species_name, ".pdf"), plot = p1, width =11, height = 5) # 将图添加到列表中 plots[[length(plots) + 1]] <- p1 } # 使用cowplot将图吞并,每行阐明5个图 combined_plot <- plot_grid(plotlist = plots, ncol = 5) # 保存吞并后的图形 ggsave("combined_tree_plot.pdf", plot = combined_plot)
此时,咱们不仅得到了100个pdf模范的tree图,还得到了一张整图(涵盖了悉数用率)。这是iTol透澈作念不了的事情。
虽然,ggtree还有更多其他的优点,比如,有更大的变化,救助各式变形。就像乐高相通,ggtree其实莫得固定的套路,救助每个玩家我方的创造。
其官方教程如下:
https://yulab-smu.top/treedata-book/
临了再次感触一下,学习真不是一件容易的事情。
长按关怀
迷水商城风作伴,梦作念马,追啊迎啊最浓烈的年华
-幼年的你啊
迷水商城公众堪称号:微微悦明

科学的乐趣是得到新常识的开心~
高通量测序、大数据病原微生物检测和监测健康大数据行业资讯纪录与共享
本站仅提供存储办事,悉数本色均由用户发布,如发现存害或侵权本色,请点击举报。