figtree如何编辑进化树_iTOL快速绘制颜值最高的进化树

iTOL简介

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

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

例如:

宏基因组:教你用iTOL轻松绘制高颜值系统进化树

生信生信:微生物多样性研究之物种聚类树美化工具—iTOL

生信小王子:使用iTOL美化进化树

iTOL的基本使用流程:

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

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

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

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

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

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

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

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

怎么样才算是一颗高颜值的进化树呢?

比如以下这篇文章:

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

80e720454e6657f0af99d39c8fce468c.png

这篇文章中的图就是用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的Github地址 https://github.com/mgoeker/table2itol

制作注释文件

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

Windows软件安装

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

1. windows直接下载,将table2itol该文件夹放置在:C:甥敳獲XDocuments 文件夹位置,注意路径中不能有中文。

Linux软件安装

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

table2itol的下载和安装

## Installation

# git clone git@github.com:mgoeker/table2itol.git
# 下载并解压
wget https://github.com/mgoeker/table2itol/archive/master.zip
unzip master.zip
mv table2itol-master table2itol

# 测试
Rscript table2itol/table2itol.R

chmod +x table2itol.R

./table2itol.R

在R或Rstudio中安装一些依赖关系

### 安装依赖包
site="https://mirrors.tuna.tsinghua.edu.cn/CRAN"
# 依赖包列表:参数解析、数据变换、绘图和开发包安装、安装依赖、ggplot主题
package_list = c("grid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java怎么碰到异常跳过继续执行_Java异常处理很难吗?BAT大厂的架构师是怎么处理Java异常的?...

欢迎关注专栏《Java架构筑基》——专注于Java技术的研究与分享!Java架构筑基​zhuanlan.zhihu.comJava架构筑基——专注于Java技术的研究与分享!后续文章将首发此专栏!欢迎各位Java工程师朋友投稿和关注# 链接 Java程序员福利"常用资料分…

mysql 回滚之后抛出异常_在PHP中 开始事务后,程序抛出异常 没有执行commit也没有执行rollback mysql事务会回滚吗?...

网上有人说开启事务后 sql语句执行错误或程序出错 没有执行rollback的情况下,下一次运行就会自动commit程序出错不会回滚rollback但是也有人说抛出异常等 程序如果MySQL存在没有提交的事务,那么这时候 AUTOCOMMIT 自动提交的参数应该是为 0 的。不过如果…

python列表常用方法实践_python 列表list 常用方法

stus [] #空的列表stu2 list() #空的列表stus ["fff", "zzz", "aaa"]#增stus.append("ppp") #在列表的末尾增加一个元素# print(stus)stus.insert(9, "qqq") #当指定的索引不存在,则默认插入元素到最后# prin…

python 2x可以打么_Python打基础一定要吃透这68个内置函数

内置函数就是Python给你提供的,拿来直接用的函数,比如print.,input等。截止到python版本3.6.2 ,python一共提供了68个内置函数,具体如下abs() dict() help() min() setattr()all() dir() hex() next() slice()any() di…

mygeneration mysql_利用Mygeneration 自动生成maping文件和entity类文件

利用Mygeneration 自动生成maping文件和entity类文件Mygeneration下载要下载1.3.0.3版本, 默认支持mysql了,不用再安装mysql的驱动了。Template Code : 主要使用的模板代码,会实时展示在Template Source选项卡中Interface Code : 根据Templat…

mysql explain字段含义_史上最全的explain常见结果含义分析,值得收藏

概述对于MySQL执行计划的获取,我们可以通过explain方式来查看,explain方式看似简单,实际上包含的内容很多,尤其是输出结果中的type类型列。理解这些不同的类型,对于我们SQL优化举足轻重。今天主要介绍一下常见的type结…

mysql schema命名规范_数据库设计 命名及编码规范

http://blog.csdn.net/seusoftware/archive/2010/04/24/5524414.aspx引用一、综述命名和编码过程中,定义有意义的名称,以易于理解、方便书写为原则。(1)避免使用中文,尽量使用全拼音或全英文,以方便国际化;(2)避免拼音…

mysql 大表 备份_MySQL大表备份的简单方法

MySQL大表备份是一个我们常见的问题,下面就为您介绍一个MySQL大表备份的简单方法,希望对您学习MySQL大表备份方面能有所帮助。这里所说的大表是超过4G以上的表,我目前见到过最大为60多G的单表,对于这种表每…

mysql多数据源切换_CI 多数据库操作 切换数据库

CI 切换数据库是很方便的,如:连接多数据库如果你需要同时连接多于一个的数据库,你可以用以下方式来实现:$DB1 $this->load->database(group_one, TRUE);$DB2 $this->load->database(group_two, TRUE);注意&#xff…

mysql用的cap中哪两个_分布式事务CAP定理和BASE理论

课程总计41课时,从什么是事务讲起,直到分布式事务解决方案,很的0基础基础与提升系列课程。对于难以理解的知识点,全部用画图实战的方式讲解。彻底明白事务的四个特性:原子性、一致性、隔离性、持久性,用场景…

怎么检测mysql主从正常_使用pt-table-checksum检查主从复制是否正常

其实对于一个小小的DBA来说,有时候是无法避免这些问题的。于是我们就需要一个工具,来检查主从复制是否正常,是否出现了错误。pt-table-checksum。相关阅读:MySQL 主从复制事件校验 MySQL Replic…

java 自动类型_java类型自动转换

package com.kevin.basic;/** java类型自动转换方面的知识点* int类型 double类型 默认类型*/public class Test {/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stub/* int类型是整数的默认类型。* (1)第一种:正确运行…

java 不显示控制台_命令行启动java程序不显示控制台窗口

关键:start javaw –jar xxx.jar一个例子:ECHO OFFREM "zcx eclipse help script"set ehome"f:\eclipse"pushd %ehome%if "%1" "start" (explorer http://localhost/help/index.jsp)start javaw -classpath pl…

java 修改ini文件_Java读取和修改ini配置文件

/*** 修改ini配置文档中变量的值* param file 配置文档的路径* param section 要修改的变量所在段名称* param variable 要修改的变量名称* param value 变量的新值* throws IOException 抛出文档操作可能出现的io异常*/public static boolean setProfileString(String file,St…

java定义接口规范_关于java的接口的一些规范

一、Api请求及响应规范 为了严格按照接口进行开发,提高效率,对请求及响应格式进行规范化。1、get 请求时,采用key/value格式请求,SpringMVC可采用基本类型的变量接收,也可以采用对象接收。2、Post请求时,可…

a java虚拟机_Java虚拟机

内存分配以及回收Java虚拟机运行时数据区,分为以下几个模块,包含所有线程共有的数据区和线程单独享有的数据区。程序计数器:字节码行号,通过这个计数器来选取下一条需要执行的指令,线程独有。虚拟机栈:线程…

java tostring的用处_JAVA的tostring()方法的作用是什么呢?

展开全部1.toString方法Object类具有一个toString()方法,你创建的每个类都会继承62616964757a686964616fe4b893e5b19e31333365666236该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需…

java calendar 毫秒_java Calendar(将时间精确到毫秒)

package com.neusoft.date;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;public class RiQi{public static void main(String []args){System.out.println(new Date());//calendar可以将时间精确到毫秒Calendar calendar new Gregori…

java 1000到9999_java – 可以0.99999999999乘以四舍五入到1.0?

如果你用someInt(> 0)乘以低于1.0的最大值,结果永远不会是someInt。这可以穷尽地测试整数,像这样:Double greatestLessThanOne Double.longBitsToDouble(4607182418800017407L);// Assert that greatestLessThanOne is indeed the larges…

mysql 表 类型_mysql表类型

MySQL支持6种不同的表类型:BDB、InnoDB、HEAP、ISAM、MERGE以及MyISAM。其中 BDB,InnoDB单独属于一类,称为“事务安全型”(transaction-safe),其余的表类型属于第二类,称为“非事务安全型”(non- transaction-safe)。事务安全型BD…