【R语言】R包-探索ggtree进化树美化

文章目录

    • R包-探索ggtree进化树美化
    • 分析流程
    • [1. 关于包的下载](#1. 关于包的下载)
    • [2. 绘制一个基本的进化树图](#2. 绘制一个基本的进化树图)
    • [3. 添加样本名称](#3. 添加样本名称)
    • [3. 添加节点+节点高亮](#3. 添加节点+节点高亮)
    • [4. 添加分组](#4. 添加分组)
    • 小结

R包-探索ggtree进化树美化

提示:基于nwk文件进行进化树美化,如更换进化树格式,添加分组、节点、遗传距离等

分析流程

1. 关于包的下载

官网ggtree.html

2. 绘制一个基本的进化树图

javascript 复制代码
#下载软件包
BiocManager::install("ggtree")
# 创建模拟数据
library(ggtree)
set.seed(2017-02-16)
tree <- rtree(50)
ggtree(tree)

3. 添加样本名称

javascript 复制代码
ggtree(tree, branch.length = "none", layout = "circular") +
  geom_tiplab()
#branch.length = "none",表示标签对齐;
#layout,设置树型;
#geom_tiplab() 显示分支名称样本名称

3. 添加节点+节点高亮

javascript 复制代码
library(ggtree)
set.seed(2017-02-16)
tree <- rtree(50)
ggtree(tree, branch.length = "none", layout = "circular") +
  geom_tiplab2(size = 5, color = "seagreen") +     # 样本名称字体大小、颜色
  geom_text2(aes(label=node), size = 3, color = "red") +   #加节点
  geom_hilight(node = 59, fill = "orange", alpha = 0.5)   #节点高亮

4. 添加分组

javascript 复制代码
#参数
library(ggtree)
set.seed(1234)
tr=rtree(50)
geom_strip = function(...) geom_cladelabel(label="", barsize=5, align=T, offset=.5, ...)
ggtree(tr) + geom_strip(58, color='red') + geom_strip(84, color='green') + geom_strip(52, color='blue')

#测试 
library(ggtree)
set.seed(2017-02-16)
tree <- rtree(50)

ggtree(tree, branch.length = "none", layout = "circular") +
  geom_tiplab2(size = 3, color = "seagreen") +     # 样本名称字体大小、颜色
  geom_text2(aes(label=node), size = 2, color = "red") +   #加节点
  geom_hilight(node = 59, fill = "orange", alpha = 0.5) +  #节点高亮 node = 59 节点名称
  geom_strip(59, color = "steelblue",
             hjust = "center", 
             angle = 30, 
             extend = 0.2)
 # 其中,geom_tiplab2设置分支名称的标签;
 # geom_text2显示节点名称;geom_hilight 节点高亮;
 # geom_strip对分组进行标注。

小结

基于该包,设置好参数,可以批量优化,比在线网站方便的多,但绘制无根树,一直报错,待探索完分享大家

参考来源
1. 详细说明及示例数据参考:4 Phylogenetic Tree Visualization
2. 参考使用Y叔神包ggtree进行基因家族基因进化树构建
3. 使用R包ggtree进行进化树的绘制与美化

相关推荐
麦兜*3 小时前
Swift + Xcode 开发环境搭建终极指南
开发语言·ios·swiftui·xcode·swift·苹果vision pro·swift5.6.3
萧鼎4 小时前
Python pyzmq 库详解:从入门到高性能分布式通信
开发语言·分布式·python
艾伦~耶格尔5 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
yujkss5 小时前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx9910135 小时前
小程序开发APP
开发语言·人工智能·python·yolo
啊阿狸不会拉杆5 小时前
《算法导论》第 32 章 - 字符串匹配
开发语言·c++·算法
烟锁池塘柳05 小时前
【R语言】R 语言中 gsub 与正则表达式详解(含 POSIX 与 Perl 风格实例)
正则表达式·r语言·perl
武当豆豆7 小时前
C++编程学习(第25天)
开发语言·c++·学习
-Xie-9 小时前
Maven(二)
java·开发语言·maven
mftang9 小时前
Python可视化工具-Bokeh:动态显示数据
开发语言·python