怎么使用R语言ggtree展示进化树
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,今天就跟大家聊聊有关怎么使用R语言ggtree展示进化树,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。今天要模仿的图片来自于论文 Core g
千家信息网最后更新 2025年02月23日怎么使用R语言ggtree展示进化树
image.png 
image.png 论文中写道image.png image.png 加载需要用到的包看完上述内容,你们对怎么使用R语言ggtree展示进化树有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
今天就跟大家聊聊有关怎么使用R语言ggtree展示进化树,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
今天要模仿的图片来自于论文 Core gut microbial communities are maintained by beneficial interactions and strain variability in fish。期刊是 Nature microbiology

今天重复的图片是Figure1中的聚类树图

Hierarchical clustering dendrogram with jackknife support (numbers on the branches; only values above 50 are shown in the tree).
所以论文中实际的数据做的是聚类分析,而并不是进化树。他这里做聚类分析也能够获得每个节点对应的支持率。这个如何实现我暂时还不知道。为了模仿这个图,下面的输入数据我直接使用进化树文件了,因为构建进化树的时候能够很方便的获得节点的支持率信息。
首先准备构建进化树需要用到的fasta格式序列文件这里用到的数据集来自 网址 https://www.kuleuven.be/aidslab/phylogenybook/Data_sets.html
首先是做多序列比对,这里我使用mafft这本 The Phylogenetic Handbook second edition 不知道大家有没有电子版可以分享呀!
mafft --auto ggtree_practice.fasta > ggtree_practice_aligned.fasta
构建进化树,我是用iqtreeiqtree -s ggtree_practice_aligned.fasta -bb 1000
得到树文件ggtree_practice_aligned.fasta.treefile
接下来是在R语言里的操作
首先是准备一个分组的数据文件数据总共三列
第一列是 构建进化树用到的fasta文件的序列名,这里注意列明用label,不要用其他 第二列是分组信息,用来填充不同的颜色 第三列也是分组信息,用来映射形状
第二列和第三列的列名就是图例上想显示什么就用什么
library(ggtree)
library(treeio)
library(tidytree)
treeio
用来读入进化树tidytree
用来将分组信息整合给进化树ggtree
用来可视化展示进化树
tree<-read.newick("ggtree_practice_aligned.fasta.treefile",
node.label = "support")
d<-read.csv("ggtree_group_info.csv",header=T)
d
将树文件和分组信息整合到一起trs<-full_join(tree,d,by='label')
去掉支持率小于50的信息tree@data$support<-ifelse(tree@data$support<50,NA,tree@data$support)
最后一步就是画图了ggtree(trs,layout = "circular",branch.length = "none")+
#geom_tiplab(offset = 0.01)+
geom_tippoint(aes(shape=Diet,color=Gut.compartment),
size=5)+
scale_shape_manual(values = c(16,17,18,15))+
geom_text2(aes(label=support,angle=angle),hjust=-0.2)+
scale_color_manual(values = c("#800080","#ff8000","#008080"),
name="Gut_compartment")+
guides(color=guide_legend(order = 1))
进化
信息
数据
文件
分组
支持
语言
内容
支持率
论文
图片
就是
序列
节点
准备
分析
整合
不同
接下来
图例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
海南软件开发前景
业余时间自学软件开发
平台管理服务器
中国人寿财险总公司网络安全处
qq视频连接不了服务器
wdcp 远程数据库
网络安全文献摘抄
服务器感叹号灯红色
互联网络安全研究方向
惠州神猪网络技术有限公司
党政网络安全大赛
苏州手机软件开发多少钱
洛阳创金网络技术有限公司
sql备份的数据库怎么恢复
操作系统 数据库 三大
哪家的云服务器安全在线选购
适用的内网网络安全防护
我的世界中国年服务器地址是什么
系统某个功能连接不上数据库
合肥老邻居网络技术有限公司
全国网络安全征文
软件开发哪家好点
数据库备份机
依赖 数据库
华为运营商广西网络技术支持
从数据库获取数据并赋值
武汉门户云网络技术有限公司
华昂网络技术服务部
数据库的状态位应该用什么类型
服务器租用安全管理制度