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

相关推荐
will_net10 分钟前
apollo 站点部署&C#接入
开发语言·c#·apollo
晗夜未央1 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
熊猫钓鱼>_>1 小时前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc
努力努力再努力wz1 小时前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
飞浪纪元[FWC–FE]2 小时前
从零到一键绿:Qt 5.14.2 + VS2019 开发环境搭建、Kit 套件配置与构建错误修复完全手册
开发语言·qt
Wang's Blog2 小时前
Java 项目实战:交友项目 - 联系人列表
java·开发语言·交友
我命由我123452 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
架构师伯子明2 小时前
FFmpeg C++学习(一):编译和demo
开发语言·c++·学习
海域云SeaArea_2 小时前
Windows Server 2008 R2 从零安装 IIS7.5(二):php.ini 配置
开发语言·windows·php
叼烟扛炮3 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain