难以想象!系统发育树也可以惊艳众人!ggtreeExtra包,让你的数据化身“绚丽多彩”的系统发育树!






难以想象!系统发育树也可以惊艳众人!ggtreeExtra包,让你的数据化身“绚丽多彩”的系统发育树!

小果  生信果  2024-04-15 19:00:48

大家好,我是小果!今天,我非常激动地向大家介绍生物信息学领域的一项强大工具——ggtreeExtra 包。相信大家都知道,在现代生物信息学研究中,获取和分析生物信息数据至关重要,ggtreeExtra 包的出现,为我们提供了丰富多彩的方式来呈现和分析系统发育树数据。通过添加不同层次的数据信息,我们可以使树形结构呈现出更加丰富和多样化的内容,从而更好地理解和解释数据。
在今天的学习中,让我们一起深入探索 ggtreeExtra 包的使用方法。通过该包,我们能够在系统发育树中添加多层次的数据信息,如柱状图、星形图等,从而呈现更丰富的数据内容。ggtreeExtra 包不仅能够提升我们的数据分析能力,还能让我们可以更好地理解生物进化过程中的数据,并将其生动地展示出来。小果希望大家能够积极学习和应用 ggtreeExtra 包,不断探索新的工具和技术,提升自己在生物信息学领域的能力和水平。让我们一起开启学习之旅,共同探索生物信息学的奥秘吧!    
          
本次介绍的R包需要较多的硬件资源,在服务器可以更加流畅运行,同学们如果没有自己的服务器欢迎联系我们使用服务器租赁~    



公众号后台回复“111”

领取本篇代码、基因集或示例数据等文件

文件编号:240402

需要租赁服务器的小伙伴可以扫码添加小果,此外小果还提供生信分析,思路设计,文献复现等,有需要的小伙伴欢迎来撩~

ggtreeExtra包介绍
ggtreeExtra包是建立在ggtree包基础上的一个R语言扩展包,专注于生物进化树的可视化和分析。通过提供更多的绘图选项和工具,使用户能够更灵活地定制进化树的外观和样式,进行进化生物学数据的分析,并将进化树与其他数据结合起来。同时,部分功能支持交互式操作,使用户能够更直观地探索和理解生物进化过程中的数据。这个包的使用简单直观,为生物信息学家和生态学家等领域的研究人员提供了强大的工具,帮助他们更好地理解和呈现系统发育树数据。
          
ggtreeExtra包安装
需要R语言版本为4.3,在控制台中输入以下命令:
if (!require("BiocManager", quietly = TRUE))    install.packages("BiocManager ")BiocManager::install("ggtreeExtra") # 在BiocManager环境下安装ggtreeExtra查看是否安装成功    packageVersion("ggtreeExtra") # 查看ggtreeExtra版本
显示为1.12.0版本,则表示已经安装了ggtreeExtra包。
除此之外,后续示例还需要使用ggtree,ggplot2,ggnewscale,ggstar等包,我们可以提前安装,安装命令如下:
BiocManager::install("ggtree") # 在BiocManager环境下安装ggtreeBiocManager::install("ggplot2") # 在BiocManager环境下安装ggplot2BiocManager::install("ggnewscale ") # 在BiocManager环境下安装ggnewscaleBiocManager::install("ggstar") # 在BiocManager环境下安装ggstar
使用ggtreeExtra包丰富你的系统发育树
为了演示ggtreeExtra包的用法,本文中我们将使用随机生成的树文件和模拟的关联数据集,使用的模拟数据集都包含树的那一列分类标签。
载入包:
library(ggtreeExtra) # 载入ggtreeExtra包library(ggtree) # 载入ggtree包    library(ggplot2) # 载入ggplot2包library(ggnewscale) # 载入ggnewscale包library(ggstar) #载入ggstar包
载入数据:
set.seed(1024) # 设置随机参数tr <- rtree(100) # 随机生成一个包含一个节点的树dt <- data.frame(id=tr$tip.label, value=abs(rnorm(100)), group=c(rep("A",50),rep("B",50))) #随机生成一个数据框,包含一百个随机值,分成AB两组df <- dt # 赋值到变量dfdtf <- dt # 赋值到变量dftcolnames(df)[[3]] <- "group2" # 给第三列命名colnames(dtf)[[3]] <- "group3" # 给第三列命名p <- ggtree(tr, layout="fan", open.angle=0) # 绘制最里层的树形结构p # 显示树形结构
结果如下图:    
由图可知,初始的树形结构十分单调,接下来,小果将带领大家不断美化这个最初始的树,让它慢慢变得惊艳众人,同学们不要眨眼睛,跟紧小果的步伐吧。
首先,让我们来给树添加第一层外圈数据信息,相关的命令如下:
p1 <- p +   geom_fruit(    data = dt,                     # 指定数据来源    geom = geom_col,               # 指定使用的几何对象为柱状图    mapping = aes(y = id,          # 设置 y 轴为 id 列                  x = value,       # 设置 x 轴为 value 列                  fill = group)   # 设置填充颜色为 group 列  ) + # 添加一个新的填充比例尺,确保图例中的填充颜色适用于新的图层      new_scale_fill()p1 # 打印 p1,显示最终的图形对象
结果如下图:
紧接着我们可以继续添加第二层数据信息,并且可以做出星形标记修饰,命令如下:
p2 <- p1 + # 使用 geom_fruit_list 函数添加一个水果列表图层,包含两个子图层      geom_fruit_list(          geom_fruit(              data = df,              geom = geom_col,                  mapping = aes(y=id, x=value, fill=group2),          ), # 第一个子图层,使用 geom_fruit 函数添加柱状图层来显示 df 数据框的数据          scale_fill_manual(values=c("blue", "red")), # To map group2          new_scale_fill(), # To initialize fill scale.          geom_fruit(              data = dt,              geom = geom_star,              mapping = aes(y=id, x=value, fill=group),              size = 2.5,              color = NA,              starstroke = 0          ) # 第二个子图层,使用 geom_fruit 函数添加星形图层来显示 dt 数据框的水果数据      ) +       new_scale_fill() # 初始化填充颜色比例尺p2    
同样的,我们可以继续添加第三层数据信息,来在系统发育图中展示更在丰富的信息内容,相关命令如下:
p3 <- p2 +             # 添加第三层数据信息      geom_fruit(          data = dtf,          geom = geom_col,          mapping = aes(y=id, x=value, fill=group3),          stat = "identity"      ) +          scale_fill_manual(values=c("#00AED7", "#009E73")) # 设置颜色标尺p3
显示结果如下图:
至此,我们不仅绘制出了具有一百个节点的系统发育树,并且在系统发育树的外围添加了三层条形分布图,来展示每一个节点所具有的其他属性信息,使得系统发育树图所能展现的信息更加多元化,数据之间的对应关系更加明确,让读者可以轻松或许对应节点已经相邻节点的属性信息。
              
以上就是对于ggtreeExtra包的全部介绍了,在本文中,我们详细介绍了如何使用 ggtreeExtra 包来丰富系统发育树的可视化效果。通过添加不同层次的数据信息,我们使得树形结构不再单调,而是呈现出更为丰富和多样化的信息内容。通过学习和应用 ggtreeExtra 包,同学们可以掌握如何在 R 语言环境下进行系统发育树的可视化,并且将树形结构与其他数据信息相结合,从而更好地理解和解释数据。这不仅有助于提升数据分析的效率,还能够让研究结果更具可解释性和可视化效果。小果希望同学们继续深入学习和探索ggtreeExtra 包的相关知识,不断尝试新的工具和技术,提升自己的数据分析能力和科研水平。
          
同学们如果觉得自己写代码麻烦,可以体验一下我们的云生信小工具,只需输入数据,即可轻松生成所需图表。立即访问云生信
http://www.biocloudservice.com/home.html),开启便捷的生信之旅!
   

小果还提供思路设计、定制生信分析、文献思路复现;有需要的小伙伴欢迎直接扫码咨询小果,竭诚为您的科研助力!

定制生信分析

服务器租赁

扫码咨询小果


往期回顾

01

1024G存储的生信服务器,两人成团,1人免单!

02

单个数据库用腻了?多数据库“组合拳”带你打开免疫浸润新思路!

03

孟德尔随机化的准备工作,GWAS数据的网站下载方法

04

跟着小果学复现-手把手带你拿下IF=46.9Nature 级别的主成分分析(PCA)图!!