Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >itol.toolkit中文文档|PRUNE选择分枝

itol.toolkit中文文档|PRUNE选择分枝

作者头像
小汪Waud
发布于 2023-02-11 03:01:06
发布于 2023-02-11 03:01:06
61000
代码可运行
举报
文章被收录于专栏:小汪Waud小汪Waud
运行总次数:0
代码可运行

中文文档先于英文文档发布,TTfriends公众号首发。

最新完整文档请访问在线版:tongzhou2017.github.io/itol.toolkit/

前情

PRUNE模版的功能是选择分枝,其参数结构简单,仅由模版类型和数据构成,属于树结构类模版。

通常情况下,用户通过输入分枝名或节点,来实现对分枝或节点内全部分枝的选择,被选中的分枝会形成新的系统发育树,未被选中的分枝将不会出现在新的系统发育树中。该功能是唯一一个改变分枝数量的模版功能,其他模版功能均只是在系统发育树上进行注释。

本节文档展示使用itol.toolkit对分枝进行选择的方法,过程非常简单,主要难点在于用户需要确定哪些分枝需要被筛选,相较于没有itol.toolkit辅助的工作流,用户需要在割裂的环境分别进行数据分析和可视化准备,而itol.toolkit使整个工作流连贯,让用户在R语言环境中根据背景信息筛选分枝后直接进行模版文件输出。

常规流程

本小节使用内置数据为例,展示不同数据前处理方法,在节点或分枝水平进行分枝筛选。

首先加载Newick格式的树文件,树文件可以来自于多序列比对,也可以来自数值矩阵聚类。以下数据示例df_frequence数据包含了各模版类型在已发表研究中的使用量情况。数据示例template_parameters_count数据包含了模版类型的样式参数和数据参数信息,每列为一种参数,数值为1表示该模版使用了该参数,数值为0表示未使用。使用参数越多的模版,对于用户学习使用的难度越大。

本小节实例,我们的数据处理目的是,通过模版使用情况、模版名称特点、参数数目等信息选出对于用户使用有挑战的模版类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(itol.toolkit)
tree <- system.file("extdata",
                    "tree_of_itol_templates.tree",
                    package = "itol.toolkit")
hub <- create_hub(tree = tree)
df_frequence <- data.table::fread(system.file("extdata",
                                              "templates_frequence.txt",
                                              package = "itol.toolkit"))
data("template_parameters_count")

原始树结构

我们可以混合使用节点名和分枝名,对分枝进行筛选。比如选择用户使用最多的模版以及参数最为复杂的两大类模版类型:样式和基础可视化。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ids <- df_frequence$templates
df_frequence[df_frequence > 1] <- 1 
df_frequence$templates <- ids
most_used_tip = df_frequence$templates[which.max(rowSums(df_frequence[,-1],
                                                         na.rm = T))]
select_item = c(most_used_tip, "theme_style","basic_plot")
unit_3 <- create_unit(data = select_item, 
                      key = "E003_prune_1", 
                      type = "PRUNE", 
                      tree = tree)
write_unit(unit_3,
           paste0(getwd(),"/E003_prune_1.txt"))

E003结果文件

E003效果图

我们也可以根据分枝的名称特点进行筛选,比如E004选择了DATASET_开头的分枝,这些分枝通常具有复杂的参数及格式模版要求,同时也是iTOL最具功能性的模版。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select_tip = hub@tree$main$tip.label[startsWith(hub@tree$main$tip.label,
                                                "DATASET_")]
unit_4 <- create_unit(data = select_tip, 
                                 key = "E004_prune_2", 
                                 type = "PRUNE", 
                                 tree = tree)
write_unit(unit_4,
           paste0(getwd(),"/E004_prune_2.txt"))

E004结果文件

E004效果图

我们也可以根据更多附加信息来对分枝进行筛选,比如E005我们使用了template_parameters_count数据,来筛选具有30个以上参数的模版,这些模版通常具有极复杂的功能。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tpc <- template_parameters_count
select_tip = row.names(tpc)[rowSums(tpc) > 30]
unit_5 <- create_unit(data = select_tip, 
                               key = "E005_prune_3", 
                               type = "PRUNE", 
                               tree = tree)
write_unit(unit_5,
           paste0(getwd(),"/E005_prune_3.txt"))

E005结果文件

E005效果图

PRUNE作为唯一一个改变树拓扑结构的模版功能,通常存在于工作流的前处理阶段,所以在发表论文中并无法体现出来,然而R语言用户更多使用ape::drop.tip来实现这一需求,所以该模版的应用前景堪忧,除非用户需要避免使用过多依赖工具时才有可能按需使用该功能。

红框处:0次被使用

样式修改

由于该模版类型参数简单,所以并不存在样式修改需求。

红框处:参数只有模版类型和数据

Tips

可以将E003~E005的结果加入数据及样式仓库hub对象,统一批量输出。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hub <- hub + unit_3 + unit_4 + unit_5
write_hub(hub, getwd())

文档类型:用户-单功能-树结构

链接状态:无

文档版本:1.0.0

文本:周通

编辑:凌浩

审阅:李明,赵启祥,张思威

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

本文分享自 小汪Waud 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ggtree-给你的进化树盛世美颜
ggtree是ggplot2的拓展包,可以应用于进化树的绘制,还能对进化树丰富的注释分析。
作图丫
2022/03/29
12.8K0
ggtree-给你的进化树盛世美颜
JAX 中文文档(二)
JAX 中的默认数组实现是 jax.Array。在许多方面,它与您可能熟悉的 NumPy 包中的 numpy.ndarray 类型相似,但它也有一些重要的区别。
ApacheCN_飞龙
2024/06/22
5640
JAX 中文文档(十六)
在许多情况下,可以在不引入不必要的存储开销的情况下完成此操作。然而,增加 mat.n_batch 或 mat.n_dense 将导致存储效率非常低下,许多零值都是显式存储的,除非新的批处理或密集维度的大小为 0 或 1。在这种情况下,bcoo_update_layout 将引发 SparseEfficiencyError。可以通过指定 on_inefficient 参数来消除此警告。
ApacheCN_飞龙
2024/06/22
9480
Zipline 3.0 中文文档(二)
交易日历代表单个市场交易所的时间信息。时间信息由两部分组成:时段和开/闭市时间。这由 Zipline 的TradingCalendar类表示,并作为所有新的TradingCalendar类的父类。
ApacheCN_飞龙
2024/05/16
4100
Spring Native 中文文档
https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/#getting-started-buildpacks
爱撸猫的杰
2022/01/05
11K0
Transformers 4.37 中文文档(九十九)
QuestionAnsweringPipeline 要求用户提供多个参数(即问题和上下文),以映射到内部的 SquadExample。
ApacheCN_飞龙
2024/07/26
5230
Transformers 4.37 中文文档(四十二)
M2M100 模型是由 Angela Fan、Shruti Bhosale、Holger Schwenk、Zhiyi Ma、Ahmed El-Kishky、Siddharth Goyal、Mandeep Baines、Onur Celebi、Guillaume Wenzek、Vishrav Chaudhary、Naman Goyal、Tom Birch、Vitaliy Liptchinsky、Sergey Edunov、Edouard Grave、Michael Auli、Armand Joulin 在 Beyond English-Centric Multilingual Machine Translation 中提出的。
ApacheCN_飞龙
2024/06/26
4820
Transformers 4.37 中文文档(四十二)
Flink入门学习笔记
创建一个执行环境,表示当前执行程序的上下文。 如果程序是独立调用的,则此方法返回本地执行环境;如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环境,也就是说,getExecutionEnvironment 会根据查询运行的方式决定返回什么样的运行环境,是最常用的一种创建执行环境的方式。
用砖头敲代码
2022/06/14
9490
Greenplum 实时数据仓库实践(9)——Greenplum监控与运维
想要一个数据库长久健康的运行,离不开完备的运维工作,切忌只运而不维。针对Greenplum分布式数据库,集群由大量服务器组成,对运维人员或DBA,不仅要关注数据库本身,还要注意集群中各硬件的状况,及时发现并处理问题。本篇介绍权限与角色管理、数据导入导出、性能优化、例行监控、例行维护、推荐的监控与维护任务六方面常规工作内容,目标是满足Greenplum系统维护、使用等方面的要求,保证提供稳定高效的数据库服务。
用户1148526
2022/04/13
4.2K0
NumPyML 源码解析(五)
The preprocessing module implements common data preprocessing routines.
ApacheCN_飞龙
2024/02/17
2500
最全面、最详细web前端面试题及答案总结
本章是HTML考点的⾮重难点,因此我们采⽤简略回答的⽅式进⾏撰写,所以不会有太多详细的解释。我们约定,每个问题后我们标记『✨ 』的为⾼频⾯试题 doctype的作⽤是什么?✨ DOCTYPE是html5标准⽹⻚声明,且必须声明在HTML⽂档的第⼀⾏。来告知浏览器的解析器⽤什么⽂档标准解析这个 ⽂档,不同的渲染模式会影响到浏览器对于 CSS 代码甚⾄ JavaScript 脚本的解析 ⽂档解析类型有: BackCompat:怪异模式,浏览器使⽤⾃⼰的怪异模式解析渲染⻚⾯。(如果没有声明DOCTYPE,默认就是这个模式) CSS1Compat:标准模式,浏览器使⽤W3C的标准解析渲染⻚⾯。 IE8还有⼀种介乎于上述两者之间的近乎标准的模式,但是基本淘汰了。
全栈程序员站长
2022/08/01
8.3K0
计算机视觉学术速递[10.19]
【1】 HRFormer: High-Resolution Transformer for Dense Prediction 标题:HRFormer:用于密度预测的高分辨率Transformer 链接:https://arxiv.org/abs/2110.09408
公众号-arXiv每日学术速递
2021/10/21
2.8K0
机器学习学术速递[12.16]
【1】 Model Stealing Attacks Against Inductive Graph Neural Networks 标题:针对归纳图神经网络的模型窃取攻击 链接:https://arxiv.org/abs/2112.08331
公众号-arXiv每日学术速递
2021/12/17
1.3K0
自然语言处理学术速递[10.19]
【1】 NormFormer: Improved Transformer Pretraining with Extra Normalization 标题:NormFormer:改进的Transformer预训练和额外归一化 链接:https://arxiv.org/abs/2110.09456
公众号-arXiv每日学术速递
2021/10/21
1.6K0
机器学习学术速递[10.19]
【1】 Beltrami Flow and Neural Diffusion on Graphs 标题:图上的Beltrami流与神经扩散 链接:https://arxiv.org/abs/2110.09443
公众号-arXiv每日学术速递
2021/10/21
2.3K0
自然语言处理学术速递[12.17]
【1】 Pushing the Limits of Rule Reasoning in Transformers through Natural Language Satisfiability 标题:通过自然语言可满足性突破Transformer规则推理的极限 链接:https://arxiv.org/abs/2112.09054
公众号-arXiv每日学术速递
2021/12/17
1.3K0
软件设计师复习资料「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说软件设计师复习资料「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/06/27
6.7K0
机器学习学术速递[6.21]
【1】 Self-supervised Incremental Deep Graph Learning for Ethereum Phishing Scam Detection 标题:自监督增量式深度图学习在以太网络钓鱼检测中的应用
公众号-arXiv每日学术速递
2021/07/02
1.8K0
机器学习学术速递[12.17]
【1】 Progressive Graph Convolution Network for EEG Emotion Recognition 标题:渐进图卷积网络在脑电情感识别中的应用 链接:https://arxiv.org/abs/2112.09069
公众号-arXiv每日学术速递
2021/12/17
2K0
计算机视觉与模式识别学术速递[12.7]
【1】 DoodleFormer: Creative Sketch Drawing with Transformers 标题:DoodleFormer:用Transformer创作素描 链接:https://arxiv.org/abs/2112.03258
公众号-arXiv每日学术速递
2021/12/09
1.3K0
相关推荐
ggtree-给你的进化树盛世美颜
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档