JuseKit(五) —— 用于系统发育分析的序列过滤
更新变动及进度
貌似距离上次更新已经有一段时日了,这一段时间忙完了各种事儿,也算迎来了本科生涯的最后一段悠闲时光。正好趁着这股兴致,把新的 Jusekit 文章给肝出来。
已有功能的相关教程请见:Juseの软件开发
Python 代码实现:比较转录组分析(七)—— 系统发育分析
本次更新变动
- 新增序列过滤功能。
- 序列串联输出的 log 文件新增 gap 信息。
- 新增了部分按钮选择文件时的后缀选项。
目前的功能进度
- 提取最长转录本。(已实现)
- 根据 id 提取序列。(已实现)
- 对序列的 id 进行各种处理。(已实现)
- 串联序列并得到分区信息。(已实现)
- 批量改后缀。(已实现)
- 批量进行序列格式转换。(已实现)
- 批量提取 Orthofinder 的 orthogroup 对应的 CDS 序列。(已实现)
- 批量进行序列的物种数和长度过滤。(已实现)
叠盾警告⚠:本软件解释权归属 Juse 所有,本软件能走多远具体得看 Juse 能坚持多久。
下载地址:https://github.com/JuseTiZ/JuseKit/releases
序列过滤
本文主要着重于这次更新新增的功能,其他模块请走这里。
序列过滤功能
为什么需要这个功能?多个基因的联合建树能够揭示出准确的系统发育关系,不过这个过程中也需要一定的筛选和过滤。
比如说,如果某个基因的比对太短,那么它可能根本无法提供什么有价值的信息。亦或者是某个比对所包含的物种数量过少,某条序列的 gap 占比过多等……
这些时候,舍弃某些不符合要求的比对和序列,保留下那些信息量足够的基因进行串联建树,一方面可以提高系统发育分析的分辨率,另一方面也可以提高后续相关软件的运行效率等。
基于此,Jusekit 中加入了 序列过滤
功能,以实现以上具体想法。
操作流程:
各个过滤参数的含义:
- 比对最短长度:默认为
80
,若比对的长度小于80bp/aa
则直接丢弃。 - gap 符号:默认为
-
,用于计算序列去除 gap 后的长度。 - 序列去除 gap 后最短长度:默认为
80
,若比对中的序列去除 gap 后长度小于80bp/aa
则丢弃。 - 物种标识:默认为
@
,用于识别比对所包含的物种数量,物种标识的相关定义可看以往教程。 - 比对包含最少物种数量:默认为
1
,当序列经过所有过滤后,所包含的物种低于该数时,丢弃该比对。该值可设置为研究中所包含的物种数 / 2
(常见的标准)。
最后过滤的所有信息可以在输出文件夹的 filter.log
中查看。
序列串联 log 新增 gap 率
如题所示,在新更新的 Jusekit v0.6 中,序列串联后产生的 log 中将包含每个物种的 gap 率。
后记
我会争取将这些功能慢慢完善,让它成为一个具有更广适用性的软件,希望能够帮助到某些盆友,当然我个人认为最大的可能是自娱自乐。
如果这个软件帮助到您了,您可以给它一个小小的 Star 聊表支持,或者在您汇报的时候引一下 https://github.com/JuseTiZ/JuseKit/ ,想必看着还是非常高端大气上档次的。