trimAl

关注
义项:序列比对修剪工具
trimAl

trimAl是一款用于自动修剪多序列比对的开源命令行软件,由萨尔瓦多·卡佩利亚-古铁雷斯、何塞·M·西利亚-马丁内斯和托尼·加瓦尔东开发,2009年发表于《Bioinformatics》[1][2]。它通过删除比对中排列不佳的区域或异常序列,提高比对数据的信噪比,从而使后续系统发育树构建等分析更为可靠,尤其适用于需处理成千上万个比对的大规模系统发育研究[2]。软件以C++编写,可在多个平台运行,采用GNU通用公共许可证发布[1]。

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

trimAl是一款用于自动修剪多序列比对(MSA)的命令行软件,其功能是从比对矩阵中剔除排列质量差的区域以及异常序列[1]。它既可以使用内置的自动算法为不同比对自行推算合适的修剪阈值,也允许使用者手动指定要删除的列或序列[1]。软件用C++实现,可移植到各类平台,并以GNU通用公共许可证发布[3]。

trimAl面向的是大规模系统发育分析场景:当研究涉及数千个比对时,逐个人工判断保留哪些列并不现实,因此需要一套可批量运行的自动修剪流程[2]。除修剪本身外,软件还附带比对格式转换工具readAl和统计工具statal[4]。

原理

trimAl的修剪决策建立在若干可从比对矩阵直接计算的统计量之上,主要包括空位比例、残基相似性和多套比对之间的列一致性[1]。空位统计量定义为一列中不含空位字符的序列所占的比例,其计算只涉及逐列扫描,运行复杂度为 $O(mn)$,是各统计量中最快的一种[5]。相似性统计量则借助BLOSUM62一类打分矩阵衡量序列两两之间的差异,先算出每条序列对的错配比例作为权重,再对加权后的序列对距离取均值,因此其运行复杂度为 $O(nm^2)$[5]。

在阈值模式下,使用者可为空位比例和相似性分别设定0到1之间的下限,凡是不达标的列都会被删除;如果用 -nogaps 或 -noallgaps,则等价于删除含任意空位的列或仅由空位构成的列[6]。此外还有保守度阈值 -cons,它规定修剪后至少要保留原比对多少百分比的列,优先级高于其他阈值;当其他阈值导致保留列数不足时,trimAl会按分数从高到低补回列,分数相同时优先填补已有列块的邻近位置和靠近比对中部的列[6]。

自动模式则不需要人工给阈值。以gappyout为例,程序先计算各列的空位分数并按分数排序,绘制分数阈值与该阈值以下比对占比之间的关系曲线,再对曲线上每三个连续点求首尾两点连线的斜率,找出相邻斜率变化最大的位置作为切分点,据此确定空位分数截断值并删除所有不达标的列[6]。


flowchart TD

A[输入多序列比对] --> B[逐列计算统计量<br/>空位比例 / 相似性 / 一致性]

B --> C{选择修剪方式}

C -->|自动| D[绘制累积分数曲线<br/>寻找斜率突变点]

C -->|手动| E[使用用户给定阈值]

D --> F[删除低分列]

E --> F

F --> G[检查保守度阈值]<br/>不足则按分数补列

G --> H[输出修剪后的比对]

发展历程

trimAl由萨尔瓦多·卡佩利亚-古铁雷斯、何塞·M·西利亚-马丁内斯和托尼·加瓦尔东共同开发,相关论文于2009年6月8日在线发表,同年8月1日刊于《Bioinformatics》第25卷第15期,页码1972至1973[7]。论文报告了在基准数据集上的评估结果:使用 -automated1 选项修剪后,重建的最大似然树与未经修剪的比对所得树相比,质量持平的比例为36%,显著更优的比例为64%;对邻接法重建而言,-strictplus 表现最好,在89%的情景中提升了系统发育准确度[2]。

论文还测试了软件在大规模数据上的可行性,对「人类系统发育组」项目生成的31182个比对进行修剪,平均每个比对含67条序列、长度为1472个位点,在配备Intel四核XEON E5410处理器和8GB内存的机器上,使用 -gappyout 耗时5分45秒,使用 -automated1 耗时125分2秒[2]。软件最初提供名为Phylemon的网页服务器在线使用途径[3]。

此后软件持续维护更新,开发团队中加入了维克托·费尔南德斯-罗德里格斯[1]。1.5.0版于2024年发布,该版本修复了可能影响最终比对结果的问题并更新了文档,1.5.1版随后作为稳定版发布[8]。除原有的空位列修剪功能外,程序还发展出依据重叠度删除序列的方法和读取编码序列进行反翻译的功能[6][4]。

应用

trimAl最常见的用途是作为系统发育分析流程中的一道数据清理步骤,即先由MAFFT、MUSCLE等程序生成多序列比对,再用trimAl剔除不可靠位点,然后把修剪后的比对交给RAxML等软件构建进化树[2]。论文中给出的 -automated1 针对最大似然树重建优化,其内部会在strict和gappyout两种模式之间做出选择[9]。

在具体参数上,strict模式同时使用空位和相似性两项统计量,strictplus模式同样结合两者但针对邻接法树重建优化,gappyout模式则只依据空位分布[10]。使用者也可直接设定阈值,例如空位阈值 -gt、相似性阈值 -st、一致性阈值 -ct,或通过 -selectcols 和 -selectseqs 按编号指定要删除的列与序列[6][9]。

该软件也被整合进一些集成分析平台,使用者可在图形界面中直接调用它与其他修剪工具比较效果[11]。除系统发育推断外,其产出的高质量比对还被用于蛋白质结构预测和跨物种比较基因组学等分析[12]。trimAl还提供生成互补比对、输出修剪统计、以HTML或SVG格式给出修剪摘要等辅助功能[1]。

局限

修剪本身对系统发育推断是否总是有益,学界并未取得一致结论。有研究在最大似然树重建中发现,以保守性作为删除标准的工具,包括Gblocks和trimAl,相对于未经修剪的原始比对几乎系统性地导致准确度下降,在采用最严格设置时这一趋势更加明显[13]。另有研究比较CIAlign与trimAl、Gblocks、ZORRO时指出,除最严格设置外,trimAl删除的位点数量明显多于CIAlign,对于只想清理特定类型问题的使用者而言这种删除可能是多余的[14]。

修剪参数与操作顺序也会影响结果。有研究对多个数据集比较发现,trimAl的strictplus和automated1在拼接前后两次修剪得到的树差异较大,在被测数据集中最多可达32个分支不同[11]。修剪还可能减少后续分析所依据的信息量,导致可分辨的分支节点增多,从而削弱对结果稳健性的估计[13]。

参见

  • 多序列比对 —— trimAl所处理的数据对象,其质量直接决定修剪效果。

  • 系统发育分析 —— trimAl最主要的应用场景。

  • Gblocks —— 与trimAl功能相近的早期比对修剪工具。

  • MAFFT —— 常与trimAl搭配使用的多序列比对程序。

  • RAxML —— 常用最大似然树构建软件,可接收trimAl修剪后的比对。

参考资料

  1. trimAl [引用日期2026-10-14]
  2. oup.com 上的网页 [引用日期2026-10-14]
  3. europepmc.org 上的网页 [引用日期2026-10-14]
  4. trimAl: a tool for automated alignment trimming [引用日期2026-10-14]
  5. Statistics¶ [引用日期2026-10-14]
  6. Trimming algorithms [引用日期2026-10-14]
  7. ipubmed.cn 上的网页 [引用日期2026-10-14]
  8. Releases · inab/trimal [引用日期2026-10-14]
  9. trimAl: What can I do with trimAl? [引用日期2026-10-14]
  10. Trimmer# [引用日期2026-10-14]
  11. peerj.com 上的网页 [引用日期2026-10-14]
  12. trimAl - Bioinformatics Tool [引用日期2026-10-14]
  13. document [引用日期2026-10-14]
  14. peerj.com 上的网页 [引用日期2026-10-14]
词条评价
词条统计

浏览次数:3 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T18:22:52Z

历史版本

本条目引用的词条
多序列比对 系统发育分析 Gblocks MAFFT RAxML