iTOL快速绘制颜值最高的进化树!

EndNote教程 | 2018-09-29 07:09

大家在看高分文章时,总会惊叹于,为什么人家能做出那么好看而且高大上的系统发育树,而且好看的图也能直接提升文章的档次,冲击高分文章。人家的树不管是从配色还是各种注释信息都让人无可挑剔,而你每次花了半个月时间做的进化树不是被老板嫌弃配色丑,就是太单调,没有各种辅助的注释信息。然后你默默捧起别人的文章学习时发现他们绝大部分都是用iTOL这个在线工具来进行的系统发育树的美化的。

之前看有好几个公众号的几篇文章推送了教大家怎么使用iTOL这个网站:

宏基因组:

生信生信:

生信小王子:

搜索itol后进入如下界面,点右上角Login进入系统

新用户需要邮箱注册,老用户直接登录

点击进入My Tree,点击Upload tree files 或者直接把树文件拖入框中

点击树名称进入树的编辑界面,左上角依次是放大,缩小,还原当前窗口,树的信息以及搜索。右上角是Controls界面

Basic界面可以设计树的形式,枝长,单击分支可编辑颜色,线条样式,序列名称,在Tree structure中可设置外群等

在Advance中可以显示或隐藏支持率 7.在合并分支选项中可以设置合并分支的阈值

大家如果从来没有用过iTOL可以看看以上推文,它们会教你怎么快速入门iTOL网站。但是这些推文都只教你了怎么去注册iTOL的用户,怎么上传你的树文件等一些非常简单基本的操作,离真正让你自己快速绘制一个高颜值进化树距离还很远!这些文章都只介绍了软件在线网页的使用,但如何准备软件的数据确是绝大多数用户的难点。当你想绘制自己的进化树时,花了半个月搞出来的图依旧很丑。

今天宏基因组就为你上点干货,你让半天时间制作的树,颜值超过之前半个月的工作。

比如以下这篇文章:

这是宏基因组公众号解读过的一篇。 该图是本文的5个主图之一,也是本文最为重要的图。本文无论在数据量还是数据统计展示都很常规,但能发到10分左右的杂志,还是很值得大家学习一下!作者选用了与杨树不同生态位(根围土壤、根系、茎、叶子)相关的高丰度菌绘制环形系统发育树。选用在线的iTOL网站进行系统发育树美化。不同环形颜色代表不同细菌门,柱形图代表不同OTUs的相对丰度。

这篇文章中的图就是用iTOL网站进行绘制的!这个网站的使用非常简单,当你上传完树文件后,你只需要把对应的注释文件拖到屏幕上树所在的位置就能自动给你注释的树形结果,简直不要太方便有没有!但你需要准备所有的柱形图,热图,分组信息等注释文件。这些文件的准备其实才是最花费时间的步骤!

比如之前看iTOL网站的官方教程,想着手动去准备一个如下的注释文件:

DATASET_DOMAINS SEPARATOR TAB BACKBONE_COLOR    #FFFFFF BACKBONE_HEIGHT    0 BORDER_WIDTH    0.5 COLOR    #bebada DATASET_LABEL    Family HEIGHT_FACTOR    1 LEGEND_COLORS    #a6cee3    #1f78b4    #b2df8a    #33a02c    #fb9a99    #a6cee3    #1f78b4    #b2df8a    #33a02c    #fb9a99    #a6cee3    #1f78b4    #b2df8a    #33a02c    #fb9a99    #a6cee3    #1f78b4    #b2df8a    #33a02c    #fb9a99    #a6cee3    #1f78b4    #b2df8a    #33a02c    #fb9a99 LEGEND_LABELS    Bacillaceae_1    Bradyrhizobiaceae    Burkholderiales_incertae_sedis    Caulobacteraceae    Chloroplast    Comamonadaceae    Flavobacteriaceae    Herpetosiphonaceae    Hyphomicrobiaceae    Kineosporiaceae    Microbacteriaceae    Micromonosporaceae    Nocardioidaceae    Oxalobacteraceae    Pseudomonadaceae    Pseudonocardiaceae    Rhizobiaceae    Rhodospirillaceae    Sandaracinaceae    Sinobacteraceae    Sphingomonadaceae    Streptomycetaceae    Thermomonosporaceae    Unassigned    Xanthomonadaceae LEGEND_SHAPES    EL    EL    EL    EL    EL    RE    RE    RE    RE    RE    TL    TL    TL    TL    TL    TR    TR    TR    TR    TR    DI    DI    DI    DI    DI LEGEND_TITLE    Family MARGIN    5 SHOW_DOMAIN_LABELS    0 WIDTH    25 DATA OTU_657    10    DI|0|10|#b2df8a|Thermomonosporaceae OTU_2    10    RE|0|10|#a6cee3|Comamonadaceae OTU_3    10    TL|0|10|#fb9a99|Pseudomonadaceae OTU_4    10    TL|0|10|#fb9a99|Pseudomonadaceae OTU_5    10    EL|0|10|#fb9a99|Chloroplast OTU_6    10    EL|0|10|#b2df8a|Burkholderiales_incertae_sedis OTU_8    10    DI|0|10|#1f78b4|Streptomycetaceae OTU_7    10    RE|0|10|#1f78b4|Flavobacteriaceae OTU_9    10    TL|0|10|#1f78b4|Micromonosporaceae OTU_10    10    TR|0|10|#1f78b4|Rhizobiaceae OTU_17    10    DI|0|10|#33a02c|Unassigned光想想这里的配色方案就让人头疼不已,准备这其中的一个注释文件可能就要花费几天时间,不仅费时费力,等你好不容易凑齐了几十种颜色,结果搭配起来还十分难看。

难道国外那些大牛画的高大上的进化树难道是他们自己手动准备的注释文件,按照自己的审美配的色吗?

这个我肯定不信,(绝对不能承认自己审美差!)本着开放获取的原则,本人终于在Github找到了一个别人写的自动生成iTOL注释文件的R包table2itol。用上这个R包就能帮助我们快速一键生成注释文件啦!

下面我将教大家快速自动生成高大上的注释文件

首先要安装table2itol这个进化树美化注释包,要确保你的R的版本高于 3.2 ,如果是windows系统推荐安装R 3.5,这样可以在Rstudio界面下直接调用Terminal,(但R语言在windows中对命令行支持比较差,容易出问题)。这时候只有我们准备的文件格式是txt格式就能使得table2itol在window系统下能运行:

1. windows直接下载,将table2itol该文件夹放置在:C:\Users\X\Documents 文件夹位置,注意路径中不能有中文。

有的同学习惯使用Linux系统,这里也给大家准备了Linux系统下,table2itol.R 包的安装教程:

table2itol的下载和安装

## Installation # git clone :mgoeker/table2itol.git # 下载并解压 wget unzip master.zip mv table2itol-master table2itol # 测试 Rscript table2itol/table2itol.R chmod +x table2itol.R ./table2itol.R在R或Rstudio中安装一些依赖关系

### 安装依赖包 site="" # 依赖包列表:参数解析、数据变换、绘图和开发包安装、安装依赖、ggplot主题 package_list = c("grid","ggplot2","gridExtra","vegan","reshape2","readODS") # 判断R包加载是否成功来决定是否安装后再加载 for(p in package_list){    if(!suppressWarnings(suppressMessages(require(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))){        install.packages(p, repos=site)        suppressWarnings(suppressMessages(library(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))  } } #### 安装缺少的R包 source("http://bioconductor.org/biocLite.R") biocLite(c("optparse", "plotrix", "readODS", "readxl", "yaml"))准备输入文件2. 准备注释文件,这里我们给大家准备好了一个测试数据集的输入文件:

文件一:annotation注释表,大家可以按照这个格式准备你的原始文件,大家还可以在表中添加自己需要的信息

主要包括每个OTU的物种注释,从门到属;还有就是对应的整体相对丰度和在各实验组中的平均相对丰度。

文件二:这个文件实际上就是咱们提取的高丰度OTUs中的OTUs ID所对应的小OTUs table

3. 然后我们所有的准备工作就做好了,可以运行代码进行注释文件的生成啦!

我们给大家选取了五种注释样式和配色方案,直接运行一下命令就能生成iTOL注释文件的格式:

## 方案1. 外圈颜色、形状分类和丰度方案 # annotation.txt OTU对应物种注释和丰度, #-a 找不到输入列将终止运行(默认不执行)-c 将整数列转换为factor或具有小数点的数字,-t 偏离提示标签时转换ID列,-w 颜色带,区域宽度等, -D输出目录,-i OTU列名,-l OTU显示名称如种/属/科名, Rscript table2itol/table2itol.R -a -c double -D plan1 -i OTUID -l Genus -t %s -w 0.5 annotation.txt # 生成注释文件中每列为单独一个文件 ## 方案2. 生成丰度柱形图注释文件 Rscript table2itol/table2itol.R -a -d -c none -D plan2 -b Phylum -i OTUID -l Genus -t %s -w 0.5 annotation.txt ## 方案3. 生成热图注释文件 Rscript table2itol/table2itol.R -c keep -D plan3 -i OTUID -t %s otutab.txt ## 方案4. 将整数转化成因子生成注释文件 Rscript table2itol/table2itol.R -a -c factor -D plan4 -i OTUID -l Genus -t %s -w 0 annotation.txt ## 方案5. 自定义颜色 Rscript table2itol/table2itol.R -a -C table2itol/tests/INPUT/colours_1.yml -c double -D plan5 \  -i OTUID -l Genus -t %s -w 0.5 annotation.txt注释文件美化做好了所有注释文件,那就赶紧上itol网站测试一下 1.首先需要 访问iTOL官网

登录账户、或者注册账户(见上面详细教程)

上传otus.nwk,再拖拽下方生成的注释方案于树上即美化

我们把plan1文件夹中所有文件一次选中,生成的注释树的结果如下图:

我们把plan2文件夹中所有文件一次选中,生成的注释树的结果如下图:

我们把plan3文件夹中所有文件一次选中,生成的注释树的结果如下图:

我们把plan4文件夹中所有文件一次选中,生成的注释树的结果如下图:

当然啦,这里的不同注释方案并不是说要让你去固定的使用某一种,你可以根据自己的需求,灵活搭配使用,最终画出你想要的结果!

比如我们综合使用以上几种不同注释方案,通过在iTOL网站上再对树形,颜色等进行微调,得到的最终效果呈现图:

后台回复“高颜值进化树”即可获得所有测试数据,注释文件以及table2itol.R 安装包等。

系列教程:

专业技能:

一文读懂:

必备技能:

文献阅读

扩增子分析:

在线工具:

科研经验:

编程模板:

生物科普:

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”