【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进行进化树的绘制与美化

相关推荐
TTGGGFF5 小时前
控制系统建模仿真(一):掌握控制系统设计的 MAD 流程与 MATLAB 基础运算
开发语言·matlab
2501_944424126 小时前
Flutter for OpenHarmony游戏集合App实战之贪吃蛇食物生成
android·开发语言·flutter·游戏·harmonyos
Lhuu(重开版7 小时前
JS:正则表达式和作用域
开发语言·javascript·正则表达式
仙俊红7 小时前
Java Map 家族核心解析
java·开发语言
浅念-7 小时前
C语言小知识——指针(3)
c语言·开发语言·c++·经验分享·笔记·学习·算法
code_li8 小时前
聊聊支付宝架构
java·开发语言·架构
少控科技9 小时前
QT高阶日记01
开发语言·qt
无限进步_9 小时前
【C++】大数相加算法详解:从字符串加法到内存布局的思考
开发语言·c++·windows·git·算法·github·visual studio
“抚琴”的人9 小时前
C#上位机工厂模式
开发语言·c#
巨大八爪鱼9 小时前
C语言纯软件计算任意多项式CRC7、CRC8、CRC16和CRC32的代码
c语言·开发语言·stm32·crc