《使用R包ggtree进行进化树的绘制与美化》

目录

前记

一、ggtree的安装

 二、使用ggtree处理nwk文件

1、导入进化树文件

2、绘制简单进化树

 3、重命名进化树分支

4、标识进化树

5、参考链接

后记


前记

都2023年了,才去使用Y叔早在2018年发表的进化树构建利器——ggtree。刚好最近在做基因家族分析,进化树的构建与美化确实有点麻烦,先前使用MEGA11进行了绘制,但图像简陋,于是导出了nwk文件,准备使用其他软件进行美化。这里,我使用ggtree包进行操作。

一、ggtree的安装

下方链接:

Bioconductor - ggtreeicon-default.png?t=N7T8https://bioconductor.org/packages/release/bioc/html/ggtree.html打开R语言输入以下代码,进行安装:

if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("ggtree")

 二、使用ggtree处理nwk文件

1、导入进化树文件

#加载包
library(ggplot2)
library(ggtree)
library(treeio)

#读取文件
tree <- read.newick("Newick Export.nwk", node.label = "label")

2、绘制简单进化树

代码如下:

ggtree(tree, branch.length = "none", layout = "circular") +
  geom_tiplab()

#branch.length = "none",表示对齐;
#layout,设置树的外观;
#geom_tiplab(),显示各分支名称。

结果为:

   

 3、重命名进化树分支

为方便操作,对上述例子的分支名称进行重命名,操作如下:

#重命名分支名称
rename <- read.table(file = "common_rename.txt", header = F)
tree1 <- tree
tree1@phylo$tip.label <- rename[match(tree1@phylo$tip.label,rename$V1),]$V2

#"common_rename.txt"文件是新名称和旧名称的对应文件。

重新绘制,如下:

 可以看到,名称全部被替换。

4、标识进化树

以其中一个分组为例,NB-179到NB-122这个范围,如上图所示;

代码如下:

ggtree(tree1, branch.length = "none", layout = "circular") +
  geom_tiplab2(size = 2, color = "seagreen") +
  geom_text2(aes(label=node), size = 2, color = "red") +
  geom_hilight(node = 377, fill = "orange", alpha = 0.6) +
  geom_strip(taxa1 = "NB-179", taxa2 = "NB-122",
             label = "Class I", color = "steelblue",
             offset = 2.5, barsize = 2,
             hjust = "center", angle = 30,
             extend = 0.5, offset.text = 2,
             align = FALSE)
#其中,geom_tiplab2设置分支名称的标签;geom_text2显示节点名称;geom_hilight对节点进行高亮;geom_strip对分组进行标注。

输出的结果如下:

看着有点缭乱,去掉节点名称和高亮,重新输出:

 PS:如果要进化树分支显示颜色,需建立一个node与color对应的件,并通过下面语句进行导入。

col <- read.table("node_color.txt", header = TRUE)
col <- data.frame(col)
#使用`%<+%`符号强插入颜色数据到树文件中
p2 <- p1%<+%col + aes(color = I(color))
p2

5、参考链接

使用Y叔神包ggtree进行基因家族基因进化树构建-腾讯云开发者社区-腾讯云 (tencent.com)icon-default.png?t=N7T8https://cloud.tencent.com/developer/article/1479154

后记

第一次用ggtree绘制进化树,很多地方还不熟,后面还需要再用心琢磨琢磨。

2023.8.14

CXGG

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉香GG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值