参考
iTOL: https://itol.embl.de/
itol.toolkit: https://tongzhou2017.github.io/itol.toolkit/
公众号 | TTfriends | 产品发布|itol.toolkit包让iTOL使用更丝滑(合集)
TTfriends b站账号:https://space.bilibili.com/289839471
1. iTOL
2. itol.toolkit
https://mp.weixin.qq.com/s/HdW-R-pccThVDCfoImhloQ
# 下载,加载
install.packages("itol.toolkit")
library(itol.toolkit)
根据模版的参数使用相似度以及功能相似度,作者对iTOL v6的23个模版功能类型进行了聚类,分为5大类:
2.1 树结构类
公众号 | TTfriends | itol.toolkit中文文档|树结构类功能概述
树结构大类的3个模版功能的共同点是:
- 参数简单
- 非核心
- 应用场景单一
这类基础支撑类功能,并非iTOL的主要功能。虽然使用itol.toolkit并不会提升体验,但为了对iTOL功能实现完整支持,也被全部囊括。为了在极少数情况下,也可以使用itol.toolkit辅助iTOL的全部应用场景。
2.1.1 COLLAPSE: 折叠分枝
公众号 | TTfriends | itol.toolkit中文文档|COLLAPSE折叠分枝
该功能可以对树的分枝进行折叠,被折叠的分枝并未被删除,只是以节点名命名,并显示为三角形的聚合状,常用与复杂系统发育树中折叠不重要却占比巨大的类群,便于重要信息的展示和聚焦。
在iTOL模版中,要求的输入数据为一列节点或分枝名称,分枝名称支持范围格式(分枝A|分枝B)。itol.toolkit需要的输入数据为字符串向量格式,且支持范围格式分枝自动转换为节点名称。
COLLAPSE功能因直接控制分枝聚合,只在iTOL内生效,所以其他系统发育分析工具虽然均有该功能,但聚合信息无法通过树文件传递,所以该功能具有不可替代性。较少被使用,属于功能单一的iTOL非核心功能。
# 读取测试数据
tree <- system.file("extdata",
"tree_of_itol_templates.tree",
package = "itol.toolkit")
data("template_groups")
df_group <- data.frame(id = unique(template_groups$group),
data = unique(template_groups$group))
#
2.1.2 PRUNE: 选择分枝
公众号 | TTfriends | itol.toolkit中文文档|PRUNE选择分枝
该功能可以对树的分枝进行选择,被选中的分枝保留,未被选中的删除。选择后,树的分枝数量会减少。
iTOL模版中,要求的输入数据为一列节点或分枝名称,分枝名称支持范围格式。itol.toolkit需要的输入数据为字符串向量格式,也可以是数据框的一列,且支持范围格式分枝自动转换为节点名称。
PRUNE功能虽然在已发表论文中并无实际使用,作者在【itol.toolkit中文文档|复现Li 2022 JHM】发现其依然存在被使用的潜力。。该功能可以被大量同类工具替代,如ape::drop.tip
可以在前处理就完成选择分枝的步骤,所以该功能不具有不可替代性。该功能属于功能单一的iTOL非核心功能。
2.1.3 SPACING: 调整间距
公众号 | TTfriends | itol.toolkit中文文档|SPACING调整间距
该功能可以调整树的分枝间距,对应的其他注释信息也会受间距改变而产生分隔(如热图等)或范围延长(如color strip等)的效果。
iTOL模版中,要求的输入数据为2列,第一列为分枝名称,第二列为间隔数值。itol.toolkit需要的输入数据为数据框格式,且默认数据框的第一列为分枝名称。
SPACING功能在已发表论文中并无实际使用,也未发现有被使用的潜力和不可替代性,该功能属于功能单一的iTOL非核心功能。
2.2 样式类
公众号 | TTfriends | itol.toolkit中文文档|样式类功能概述
样式类的2个模版功能的特点是:
- 被大量使用
- 数据参数复杂
- TREE_COLORS比DATASET_STYLE强大
对于这类功能,没有使用itol.toolkit会遭受非常陡峭的学习曲线。但很多困难并不是用户所必须经历的,这是iTOL模版设计难以平衡功能性和易用性所造成的,itol.toolkit内置自动化工作流可以让用户避免被复杂的数据准备困扰,在最大程度上减轻了用户负担,让用户可以把更多精力用在思考,获得更流畅的数据分析体验。
2.2.1 TREE_COLORS: 美化样式
公众号 | TTfriends | itol.toolkit中文文档|TREE_COLORS美化树的样式
该功能可以在不同尺度和位置,对树的分枝进行不同样式的多图层叠加调整。常被用于区别展示不同分枝组分,根据组分信息对分枝赋予不同的分枝和标签颜色、线条粗细、线条虚实等,便于在不同分类阶元下展示物种组成(系统发育树),或不同处理组的样本组成(聚类树)。
在iTOL模版中,要求的输入数据为4-5列,且需要遵循严格的顺序:分枝名或节点、子类功能名、颜色、标签或样式、大小。其中子类功能支持5种:范围(range)、整枝(clade)、分枝(branch)、标签(label)、标签背景(label_background)。每种子类功能对应了不同的输入数据要求,对于用户来说,理顺清楚复杂的数据输入要求十分麻烦。itol.toolkit通过程序的自动化识别数据功能,极大简化了用户的输入数据准备门槛,最少只需要2列输入数据。
在全部模版功能中,TREE_COLORS是最常用的功能之一,具有丰富的样式调控功能,常常与其他功能组合使用,实现整体可视化风格的统一,是功能多样的iTOL核心功能,强烈推荐用户掌握。
2.2.2 DATASET_STYLE: 美化样式
公众号 | TTfriends | itol.toolkit中文文档|DATASET_STYLE美化树的样式
该功能是在TREE_COLORS功能之后推出的,iTOL的本意是为了解决TREE_COLORS过多的子类功能,按位置信息将原先的5个子类功能整合为2种,但是舍去了用途很广的range子类功能。还造成了输入数据的臃肿,由原先的4-5列,扩大到了6列。数据参数的复杂性导致这是最难学习使用的模版之一。
DATASET_STYLE在使用时还会造成样式覆盖,将原先设定的树线条样式删除,用户在实际使用时很难分辨出可视化效果未按预期生效的原因,但实际使用情况说明了问题。DATASET_STYLE是于iTOL v4 推出的更优化版TREE_COLORS,时至今日并没有让用户广泛接受,用户更愿意使用虽然很难用但相较没有那么难用的老版本功能。在itol.toolkit中,还是把它救了回来,只需要最少2列数据就可以进行模版输出,其他的4列都可以由程序进行自动化设置。在itol.toolkit中,新老版本的美化分枝模版功能是一样顺畅的,用户可以根据喜好自由选择。
可以预见,未来随着itol.toolkit用户的增多,使用新老版本的情况会逐渐趋于平衡。
2.3 文本类
2.3.1 LABELS
2.3.2 DATASET_TEXT
2.3.3 DATASET_COLORSTRIP
2.4 基础图形
DATASET_BINARY
DATASET_GRADIENT
DATASET_HEATMAP
DATASET_SYMBOL
DATASET_EXTERNALSHAPE
DATASET_DOMAINS
DATASET_SIMPLEBAR
DATASET_MULTIBAR
DATASET_BOXPLOT
DATASET_LINECHART
DATASET_PIECHART
2.5 高阶图形
DATASET_ALIGNMENT
DATASET_CONNECTION
DATASET_IMAGE
POPUP_INFO