前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iTOL:给系统发育树添枝加叶开花!

iTOL:给系统发育树添枝加叶开花!

作者头像
SYSU星空
发布于 2022-05-05 04:57:22
发布于 2022-05-05 04:57:22
7.7K00
代码可运行
举报
运行总次数:0
代码可运行

iTOL(https://itol.embl.de/)也即Interaction Tree Of Life,是一个集系统发育树在线展示、注释与管理为一体的交互工具。绘图过程中可以随意调整树枝、标签的颜色、形状和字体。iTOL最大的特点是可以同时展示不同的数据集,按照个性化的需求控制数据集的位置、大小和颜色,并允许导出高质量的位图和矢量图。

iTOL的输入文件主要包含两个部分:原始系统发育树文件(能识别Newick、Nexus、PhyloXML、Text和Jplace等格式)以及系统发育树注释文件。原始系统发育树文件根据DNA序列或者蛋白序列通过建树工具获得,注释文件模板可以从官网下载(https://itol.embl.de/help/templates.zip),如下所示:

下载解压后内容如下所示:

不同的模板用于不同的注释方式,适合不同的数据类型,根据模板名字我们大致可以看出其注释方式,例如箱线图(boxplot)、热图(heatmap)、饼形图(piechart)、物种分布特征图(binary)、堆叠柱状图(multibar)、颜色分类(color_strip)物种相关性(connections)等

接下来,我逐步介绍原始系统发育树文件的导入与美化,以及注释文件的编辑配置。首先,在iTOL主页上方点击Upload,点击“选择文件”按钮选择系统发育树文件,然后点击下方“Upload”按钮开始上传,Tree name填写或者不填都可以,如下所示:

数据上传后,网页会跳转至进化树绘制面板界面,如下所示:

通过调整控制面板(Controls)中的参数可对进化树进行简单编辑,如调整树的性状(Display mode)、物种字体(Label font)、标签对齐(Label alignment)、标签旋转(Label rotation)、树枝粗细及颜色(Branch lines),甚至任意旋转进化树的方向(Parameters)等。Advanced栏下还有更多编辑条目,例如是否显示Bootstrap值等,如下所示:

整棵树均为可编辑状态,用鼠标点击相应的节点或标签就可以出现编辑条目,如下所示:

可编辑的内容包括颜色(包括节点颜色与分支颜色)、分支线条类型、标签内容及格式(默认标签内容为节点名称,节点名称也即建树时序列的名字)以及Tree structure,Tree structure包括重定根(根据outgroup物种或者参考文献确定root位置)、折叠分支(不重要的分支可以合并展示)。

接下来我们着重阐述注释信息的添加。首先我们以修改标签内容的模板labels_template.txt为例,空白未修改的模板如下所示:

模板文件我们推荐使用软件Notepad++打开并编辑。

模板最前面写明了其用途(use this template to change the leaf labels),下面为模板的设置,每一个设置条目也都有详细的英文说明。强制设置的条目(MANDATORY SETTINGS)里面有分隔符的设置,可以选择制表符tab、空格、逗号,绝大多数情况下我们倾向于选择制表符,那样Excel中的数据可以直接复制粘贴到里面。你选择哪一种分隔符,就把该条目前面的“#”去掉,且保证另外两项前面都要有“#”。下面即为数据添加位置,模板中给出了示例,我们可以在Excel中编辑并直接粘贴到Notepad++中,编辑好之后如下所示:

现在返回浏览器的iTOL页面,在右下角有一个“+”按钮,点击就可以上传刚才编辑好的注释文档,如下所示:

树的修改效果如下所示:

可以看到标签内容已被修改,但是节点名字仍是不变的,接下来添加各种内容仍需基于原来的节点名字。接下来,我们可以添加物种的属性标记,使用dataset_symbols_template.txt模板,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DATASET_SYMBOL
#Symbol datasets allow the display of various symbols on the branches of the tree. For each node, one or more symbols can be defined.
#Each symbol's color, size and position along the branch can be specified.

#lines starting with a hash are comments and ignored during parsing
#=================================================================#
#                    MANDATORY SETTINGS                           #
#=================================================================#
#select the separator which is used to delimit the data below (TAB,SPACE or COMMA).This separator must be used throughout this file (except in the SEPARATOR line, which uses space).
SEPARATOR TAB
#SEPARATOR SPACE
#SEPARATOR COMMA

#label is used in the legend table (can be changed later)
DATASET_LABEL  Property

#dataset color (can be changed later)
COLOR  #104E8B

#=================================================================#
#                    OPTIONAL SETTINGS                            #
#=================================================================#

#each dataset can have a legend, which is defined below
#for each row in the legend, there should be one shape, color and label
#shape should be a number between 1 and 6:
#1: square
#2: circle
#3: star
#4: right pointing triangle
#5: left pointing triangle
#6: checkmark

LEGEND_TITLE  Sample property
LEGEND_SHAPES  2  2  2
LEGEND_COLORS  #00B2EE  #8B6914  #C4C4C4
LEGEND_LABELS  Freshwater  Terrestrial  Other

#=================================================================#
#     all other optional settings can be set or changed later     #
#           in the web interface (under 'Datasets' tab)           #
#=================================================================#

#largest symbol will be displayed with this size, others will be proportionally smaller.
MAXIMUM_SIZE  50


#Internal tree nodes can be specified using IDs directly, or using the 'last common ancestor' method described in iTOL help pages
#=================================================================#
#       Actual data follows after the "DATA" keyword              #
#=================================================================#
#the following fields are required for each node:
#ID,symbol,size,color,fill,position,label
#symbol should be a number between 1 and 5:
#1: rectangle
#2: circle
#3: star
#4: right pointing triangle
#5: left pointing triangle
#6: checkmark

#size can be any number. Maximum size in the dataset will be displayed using MAXIMUM_SIZE, while others will be proportionally smaller
#color can be in hexadecimal, RGB or RGBA notation. If RGB or RGBA are used, dataset SEPARATOR cannot be comma.
#fill can be 1 or 0. If set to 0, only the outline of the symbol will be displayed.
#position is a number between 0 and 1 and defines the position of the symbol on the branch (for example, position 0 is exactly at the start of node branch, position 0.5 is in the middle, and position 1 is at the end)

DATA
#Examples

#internal node will have a red filled circle in the middle of the branch
#9606|184922,2,10,#ff0000,1,0.5

#node 100379 will have a blue star outline at the start of the branch, half the size of the circle defined above (size is 5 compared to 10 above)
#100379,3,5,#0000ff,0,0
#node 100379 will also have a filled green rectangle in the middle of the branch, same size as the circle defined above (size is 10)
#100379,1,10,#00ff00,1,0.5
S1005  2  50  #00B2EE  1  1
S1023  2  50  #00B2EE  1  1
S1026  2  50  #00B2EE  1  1
S1027  2  50  #00B2EE  1  1
S1028  2  50  #00B2EE  1  1
S1038  2  50  #00B2EE  1  1

这个需要设置的就多了,包括符号位置、形状、颜色、大小等,上面都有详细解释,注释效果如下所示:

这时候在Controls框的Datasets中就可以看到刚刚上传的数据集,如果对刚才注释文件的设置不满意这时候也可以调整各种参数,同时还出现了一个Datasets框,用于显示已经上传的注释数据集,点击其右边的设置按钮就可以编辑改数据集信息。还可以使用dataset_external_shapes_template.txt添加外部符号,如下所示:

使用colors_styles_template.txt设置标签的背景颜色:

使用dataset_color_strip_template.txt添加彩色条带:

使用dataset_heatmap_template.txt添加热图:

使用dataset_simplebar_template.txt添加条形图:

绘制完成后,在Controls框的Export栏下输出图像,推荐SVG和PDF两种格式,如下所示:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微生态与微进化 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
iTOL快速绘制颜值最高的进化树!
大家在看高分文章时,总会惊叹于,为什么人家能做出那么好看而且高大上的系统发育树,而且好看的图也能直接提升文章的档次,冲击高分文章。人家的树不管是从配色还是各种注释信息都让人无可挑剔,而你每次花了半个月时间做的进化树不是被老板嫌弃配色丑,就是太单调,没有各种辅助的注释信息。然后你默默捧起别人的文章学习时发现他们绝大部分都是用iTOL这个在线工具来进行的系统发育树的美化的。
生信宝典
2018/12/27
6.4K1
iTOL快速绘制颜值最高的进化树!
利用 iTol 美化系统发育树
iTol 的全称是 Interactive Tree Of Life,是一个在线显示和操作的进化树工具。我们将 mega生成的 newick 格式的树,上传到网站上,接下来就可以进行各种美化了,这个工具简单而且好用,操作一遍基本上就掌握了。与之类似的还有 Evolview 网站。
生信喵实验柴
2022/04/07
5.9K0
利用 iTol 美化系统发育树
科研绘图系列:R语言绘制微生物物种系统发育树(phylogenetic tree)
物种系统发育树(Phylogenetic tree),也称为进化树或系统进化树,是一种以树状分支图形来表示各物种或基因之间的亲缘关系的图表。它利用生物的形态特征、分子序列(如DNA、RNA或蛋白质序列)等数据,通过数理统计算法来计算生物之间的进化关系,从而构建出一个反映物种进化历史的拓扑结构。
生信学习者
2025/01/15
4360
科研绘图系列:R语言绘制微生物物种系统发育树(phylogenetic tree)
一步一步教你使用ggtree
ggtree是R语言中一个强大的系统发育树可视化及注释软件包,在Bioconductor中发布,同时兼有ggplot2的优点。ggtree可以读取多种格式(包括newick,nexus,NHX,jplace和phylip)的系统发育树,并结合不同类型的相关数据进行注释分析。在R中ggtree的安装方法如下:
SYSU星空
2022/05/05
9.3K0
一步一步教你使用ggtree
Nature图表解读|系统发育树循环添加背景
R语言数据分析指南
2023/09/20
5130
Nature图表解读|系统发育树循环添加背景
ggtree-给你的进化树盛世美颜
ggtree是ggplot2的拓展包,可以应用于进化树的绘制,还能对进化树丰富的注释分析。
作图丫
2022/03/29
12K0
ggtree-给你的进化树盛世美颜
利用VCF文件构建系统发育树
本文将介绍三种使用VCF文件,构建系统发育树的方法,包括程序的安装,使用,已及系统发育树的可视化与美化。
数据科学工厂
2023/02/27
1.2K0
利用VCF文件构建系统发育树
一文学会从测序数据到构建系统发育树:超全面的详细步骤与软件指南
在科研工作里,构建与美化进化树是必须掌握的技能之一。这篇文章汇总和整理了之前的相关内容,依照文章中的脉络,基本上能够在大多数情形下满足构建进化树的需求。本文将从测序数据到构建系统发育树需要经过这4个步骤进行阐述:①数据收集与预处理②多序列比对③选择适合的建树方法④系统发育树的评估与美化。
简说基因
2025/01/22
5520
一文学会从测序数据到构建系统发育树:超全面的详细步骤与软件指南
itol.toolkit中文文档|PRUNE选择分枝
最新完整文档请访问在线版:tongzhou2017.github.io/itol.toolkit/
小汪Waud
2023/02/11
5690
itol.toolkit中文文档|PRUNE选择分枝
用在线RaxML构建系统发育树
本文将以在线的RAxML为例进行讲解: 测试数据及结果和相关处理软件已经上传至百度网盘:http://pan.baidu.com/s/1i5cPyXB密码:b23t 注:所有红色字体部分的结果都是本文测试数据所展示的结果 构建进化树的方法常见有: Distance methods (距离法) UPGMA (unweighted pair group method with arithmetic means) Fitch-Margoliash Neighbor-joining Discrete charact
企鹅号小编
2018/01/25
2.6K0
AnnoTree:可视化注释大型系统发育树的在线工具
AnnoTree工具在2019年发表在Nucleic Acids Research杂志上,目前已被引用90+。
Listenlii-生物信息知识分享
2021/07/12
1.5K0
AnnoTree:可视化注释大型系统发育树的在线工具
OTU/ASV和系统发育树不匹配的一个解决方案
最近好几个人遇到了同样的问题,就是在将OTU/ASV和系统发育树对齐的时候,报错:
Listenlii-生物信息知识分享
2023/09/06
1.6K2
OTU/ASV和系统发育树不匹配的一个解决方案
系统发育树初步剖析
大多数现代分类系统都是基于生物体之间的进化关系——即生物体的系统发育。基于系统发育的分类系统以反映我们对它们如何从共同祖先进化而来的理解的方式组织物种或其他群体。
数据科学工厂
2023/02/25
9380
R包神器 | 系统发育和进化分析 - ape (一)
APE:在R语言中分析系统发育和进化 (e.g. 在获得全基因组Alignment之后)
生信宝典
2023/08/30
2.1K0
R包神器 | 系统发育和进化分析 - ape (一)
宏基因组数据分析:差异分析(LEfSe安装使用及LDA score计算)
报错:如果是r2py的问题,基本都是python版本的问题。 解决:虚拟环境中重新安装python2.7(推荐)。另一种方式是对虚拟环境中的conda降级,之后再进行安装。
全栈程序员站长
2022/09/05
4.1K0
宏基因组数据分析:差异分析(LEfSe安装使用及LDA score计算)
这个热图上面的树是根据系统发育关系画的吗?
这个问题不只问过一次,类似的问题也有一些,拿到一个图不知道各部分是怎么来的。看到树就以为是进化树,看到点就是差异基因,看到颜色就是表达。
生信宝典
2022/03/27
8140
这个热图上面的树是根据系统发育关系画的吗?
跟着Microbiome学绘图(1) 个性化组合进化树与热图
❝今天来介绍如何对进化树枝进行折叠,将属于同一分支的折叠,从下面的论文中挑出一份数据通过一个小例子来展示 ❞ 加载R包 library(tidyverse) library(ggtree) library(ggdendro) library(patchwork) 加载数据 df <- read_csv("Figure5-metabolicfunctions_logtpm.csv") %>% dplyr::rename(tax=`...1`) %>% column_to_rownames(v
R语言数据分析指南
2022/09/21
6780
跟着Microbiome学绘图(1) 个性化组合进化树与热图
enrichplot富集分析可视化
上一次推文已经给大家介绍了常见的富集分析类型以及如何使用全能的R包clusterprofiler实现,详情请见:富集分析常见类型
医学和生信笔记
2023/08/30
1.7K0
enrichplot富集分析可视化
利用VCF文件构建系统发育树
本文将介绍三种使用VCF文件,构建系统发育树的方法,包括程序的安装,使用,已及系统发育树的可视化与美化。
数据科学工厂
2023/01/19
1.1K0
跟着Nature Genetics学画图:R语言ggtree给进化树的枝分组映射颜色
这里暂时没有想明白如何给NA映射颜色,我这里采用的办法是把NA替换成其他字符,比如我这里替换成WW
用户7010445
2021/07/12
3.6K1
跟着Nature Genetics学画图:R语言ggtree给进化树的枝分组映射颜色
相关推荐
iTOL快速绘制颜值最高的进化树!
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验