iTOL进化树调图细节记录

iTOL基本用法已经会了,之前记录过一点:系统发育(进化)树绘制小结。最近重用,调图时又发现了些细节,记录下备忘。

1. 注册

不注册也可用,但注册登录可保存树在itol网站上。


image.png

2. 去枝长

进化树能展示枝长是最好的,能用来判断材料和群体间的特殊性。但现在大部分文章中的进化树都是去掉了枝长的,也可以理解,样本太多,展示不好看。

处理前:


image.png

处理后:


image.png

3. 加图例

对进化树添加分类后的注释,图片的图例是需要自己设置的。不然就只能导出,用其他软件添加,或用文字说明。

比如这里我注释三圈,最内圈用range,外两圈用strip(不懂的看之前文章或看itol示例注释)。两部分设置有点不同。

range的注释图例可点开legend即可??梢杂檬蟊曜杂梢贫祭南喽跃嗬?。


image.png

strip的注释图例,需要自定义,如果有多重注释,注意看选择的是哪个数据集就对该数据集进行设置。最后同样的,图例位置可自由移动。


image.png
image.png

4. 无根树颜色

材料过多时,我们常用无根树来展示,这时一般展示枝长。很简单,去标签,注释上色即可。

image.png

image.png

直接拖拽注释文件上色。


image.png

但是由于树枝太多密集,颜色显示不是很明显。需要做一点调整:将线型调小一点。


image.png

此外,还可以尝试做一些高级调整,如去掉标尺、旋转图片角度等。


image.png

但因为无根树去掉了标签(样本名称),所以没有range注释,只有strip类型,需要手动设置图例(见上)?;蛘卟挥猛祭苯釉谕计缸⒅兴得骷纯?。

5. 导出图片

当你要导出pdf、png等有长宽位置信息类型图片时,最好选择Full image,它会自动设置配置合适你的图片大小。如果用screen,那么在网页上是什么样,导出就是什么样,你不好把握尺寸。

另外,如果是png,分辨率也有必要设置一下,尽量大点。


image.png

更新补充
iTOL真是调图神器,任何细节都可调节,而且非常美观,曾尝试过ggtree,但效果不佳。顶级文章中的进化树多用iTOL吧。不过学习依然需要成本,记录要求以备忘。

6. 无根树添加背景

使用Manual annotation,有很多选项,有固定形状或手动绘制,可多尝试。


image.png

可设置线条或背景颜色、透明度等,个性化非常多。我试了一个例子:


image.png

7. 其他细节

旋转、枝长、标签、弱化线条等。


image.png

去掉tree scale box,展示叶节点等。


image.png

8.导出文本

可以将聚类的结果按顺序导出文本,便于材料分类的后续分析,很实用的功能,再也不用一个个去对照看了。

如果你的材料聚类非常清晰,找到每类的根节点,染色将其所有枝长(clade)标色,导出的文本就含有分组信息。

如果材料聚类不是很清晰,你不太好找到根节点标色,或者不是你预期的分组,这时你也可以把树作为整体标色并导出,导出后你只需找到每类的边界样本就可辨别,而非一个个去对照。

比如:


image.png

以上示例可大体判断聚为三类,找到三类根节点,右击将其标色。
如果找不到每类的节点,把全部的树标色也行(一定要标,不然导不出文本,或者只导出部分文本)。


image.png

选中后选中右上角导出标注文本即可:


image.png

image.png

完全是按进化树聚类的顺序。这时你就可以进行下游分类分析了。

常用的几种注释

多层分类,如群体遗传中不同类型分组时(品种类型:栽培农家野生,地区:南北方,生态类型等),常常用到多层注释。不同类型可用颜色、形状等注释,可在节点、枝条、标签(样本名)、条带、阴影等地方体现。

我常用的几种注释如下:

  • 标签上注释range
    注释可选择某节点,或者每个样本对应的组别(推荐之),注释文件如下:
TREE_COLORS
SEPARATOR TAB
DATA
I148    range   #eeffee group1
I110    range   #ddddff group2
image.png
  • 条带strip
    条带分类,且枝条颜色和条带一致。注释文件tol_color_strip.txt:
DATASET_COLORSTRIP
#lines starting with a hash are comments and ignored during parsing
#select the separator which is used to delimit the data below (TAB,SPACE or COMMA).This separator must be used throught 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 color_strip1

#dataset color (can be changed later)
COLOR #ff0000

#optional settings

#all other optional settings can be set or changed later in the web interface (under 'Datasets' tab)
COLOR_BRANCHES 1
#maximum width
STRIP_WIDTH 25

#left margin, used to increase/decrease the spacing to the next dataset. Can be negative, causing datasets to overlap.
MARGIN 0

#border width; if set above 0, a black border of specified width (in pixels) will be drawn around the color strip 
BORDER_WIDTH 1
BORDER_COLOR #000

#show internal values; if set, values associated to internal nodes will be displayed even if these nodes are not collapsed. It could cause overlapping in the dataset display.
SHOW_INTERNAL 0

#In colored strip charts, each ID is associated to a color. Color can be specified in hexadecimal, RGB or RGBA notation
#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
DATA
#ID1 value1
#ID2 value2
160232 #caf390 COL#caf390
13773 #404c05 COL#404c05
image.png

只对条带分类。注释文件tol_color_strip2.txt:


#optional settings

#all other optional settings can be set or changed later in the web interface (under 'Datasets' tab)
COLOR_BRANCHES 1
#maximum width
STRIP_WIDTH 25

#left margin, used to increase/decrease the spacing to the next dataset. Can be negative, causing datasets to overlap.
MARGIN 0

#border width; if set above 0, a black border of specified width (in pixels) will be drawn around the color strip 
BORDER_WIDTH 1
BORDER_COLOR #000

#show internal values; if set, values associated to internal nodes will be displayed even if these nodes are not collapsed. It could cause overlapping in the dataset display.
SHOW_INTERNAL 0

#In colored strip charts, each ID is associated to a color. Color can be specified in hexadecimal, RGB or RGBA notation
#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
DATA
#ID1 value1
#ID2 value2
160232 #caf390 COL#caf390
13773 #404c05 COL#404c05
image.png
  • 对枝条或标签分组
    对枝条注释:文件如下:
TREE_COLORS
SEPARATOR SPACE
DATA
s54 clade #377EB8 normal 2
s212 clade #377EB8 normal 2
s219 clade #377EB8 normal 2
......
image.png

对标签注释,文件如下:

TREE_COLORS
SEPARATOR SPACE
DATA
s54 clade #377EB8 normal 2
s212 clade #377EB8 normal 2
s219 clade #377EB8 normal 2
......
image.png

利用这个可实现对标签分类,通过选择at tips,或将shift调为负数。


image.png

还可对节点末端设置形状,使之区分更为明显。


image.png

当然这种方法不是很好,样本多了会显示比较乱。不如直接设置symbol来调节节点。
  • (末端)节点注释symbol
    对末端节点注释在无根树优化中最常见,因为无根树不能像圈图或矩形图可无限加层来添加多类注释,一般就只能通过枝条和节点来区分组别。

这个注释文件iTOL的example_data注释文件是没有提供的。我也是在官方找了很久才找到示例:https://itol.embl.de/help/dataset_symbols_template.txt

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.
#SEPARATOR TAB
#SEPARATOR SPACE
SEPARATOR COMMA

#label is used in the legend table (can be changed later)
DATASET_LABEL,example symbols

#dataset color (can be changed later)
COLOR,#ffff00

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


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

#Each dataset can have a legend, which is defined using LEGEND_XXX fields below
#For each row in the legend, there should be one shape, color and label.
#Optionally, you can define an exact legend position using LEGEND_POSITION_X and LEGEND_POSITION_Y. To use automatic legend positioning, do NOT define these values
#Optionally, shape scaling can be present (LEGEND_SHAPE_SCALES). For each shape, you can define a scaling factor between 0 and 1.
#Optionally, shapes can be inverted (LEGEND_SHAPE_INVERT). When inverted, shape border will be drawn using the selected color, and the fill color will be white.
#Shape should be a number between 1 and 6, or any protein domain shape definition.
#1: square
#2: circle
#3: star
#4: right pointing triangle
#5: left pointing triangle
#6: checkmark

#LEGEND_TITLE,Dataset legend
#LEGEND_POSITION_X,100
#LEGEND_POSITION_Y,100
#LEGEND_SHAPES,1,2,3
#LEGEND_COLORS,#ff0000,#00ff00,#0000ff
#LEGEND_LABELS,value1,value2,value3
#LEGEND_SHAPE_SCALES,1,1,0.5
#LEGEND_SHAPE_INVERT,0,0,0


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

#symbols can be filled with solid color, or a gradient
#GRADIENT_FILL,1

#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

表头说明看上面注释就好,数据说明:#ID,symbol,size,color,fill,position,label。如100379,1,10,#00ff00,1,0.5表示第一列节点/样本,第二列形状,第三列大?。ㄖ挥写笮〔灰皇辈拍芴逑?,若大小设置一样,则需要导入后才能用symbol size调节),第四列颜色,第五列填充,第六列位置(0是节点起始,0.5是中间,1是末端)。


image.png

9. 重定根(使亚群分类聚集更明显)

在iTOL中调节进化树并选择特定的分支作为根节点(root the tree on the selected branch),可以通过以下步骤进行:

  1. 上传进化树文件:首先,你需要将你的进化树文件(通常是Newick或NHX格式)上传到iTOL。这可以通过点击iTOL界面上的“Tree upload”按钮来完成。

  2. 选择进化树:上传文件后,点击你想要编辑的进化树文件名称,进入编辑界面。

  3. 使用Node functions menu:在进化树的编辑界面中,点击你想要作为根节点的分支或叶节点。这将显示一个功能菜单(Node functions menu)。

  4. 选择重根操作:在Node functions menu中,找到并选择“Tree structure editing”选项。在这个子菜单中,你可以选择“Re-root the tree”功能来重新设定树的根节点。

  5. 确认重根位置:选择“Re-root the tree”后,你可以选择在所选节点处重根,或者选择“Root at midpoint”来在当前节点的中间位置重根。

  6. 保存更改:完成重根操作后,你可以通过点击界面上的“Save”或“Export”按钮来保存或导出你的进化树。

选择某一个节点:

image.png

调节后:


image.png

10. 显示bootstrap值

在iTOL中,即使忽略分支长度,也可以显示bootstrap值。以下是如何操作的步骤:

  1. 上传树文件:首先,你需要上传你的进化树文件(通常是Newick格式)到iTOL。这可以通过点击iTOL界面上的“Tree upload”按钮来完成。

  2. 忽略分支长度:在iTOL的控制面板中,找到“Basic”选项卡下的“Mode options”部分。其中有“Branch lengths”设置,你可以选择“Ignore”来忽略分支长度,使树显示为 cladogram 。

  3. 显示Bootstrap值:在“Advanced”选项卡中,找到“Bootstraps/metadata”设置,将其切换到“Display”。这样,如果你的树文件中包含了bootstrap信息,它们就会被显示出来 。

  4. 自定义Bootstrap值的显示方式:你可以通过“Data source”选择器选择要显示的元数据来源,并设置“Display range”值来选择要显示的bootstrap值的范围。默认情况下,所有值都会被包括在内。如果定义了多个元数据字段,可以同时定义多个阈值范围 。

  5. 调整Bootstrap值的显示样式:iTOL允许你以四种不同的方式显示元数据:

    • 作为符号(Symbol):选择形状类型、最小和最大大小以及填充颜色。
    • 作为文本标签(Text):直接在分支上显示值作为文本标签。
    • 作为分支颜色(Color):根据它们的元数据值和控制框中定义的颜色梯度来给树分支上色。
    • 作为分支宽度(Width):根据它们的元数据值来设置树分支的宽度 。
  6. 添加图例:如果元数据以符号或分支颜色的形式显示,可以通过设置“Legend”切换为“On”来向树添加相应的图例 。

通过这些步骤,你可以在iTOL中忽略分支长度的同时显示bootstrap值,并根据需要调整它们的显示方式。

image.png

11. 多亚群注释时添加图例

image.png
最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容