Archives

生物信息数据工具封装:序列比对之hmmscan-pipe

一、前言

为什么要封装这个hmmscan-pipe呢, hmmscanHMMER(当前最新版本 3.1b2)程序包的子程序,工作模式是: 蛋白序列对谱序列库(hmmpress构建索引), 常用的氨基酸序列功能注释工具, 常用功能信息数据库有: PfamSuperfamilydbCANSMARTTIGRFAM 等。

hmmscan 当前版本可使用 --cpu 指定使用的线程数,但是一般不能有效利用多核心资源,所以最佳实践为: 序列拆分。
使用 fastx-utils partition 分割成指定线程数文件,使用进程对每个文件单独提交,这样就比较适合在集群模式下工作。
hmmscan-pipe依赖hmmscan-utils 支持标准输入流,主要解决两个问题:

  1. hmmscan-utils domtblout, 格式化hmmscan输出格式,使用制表符分隔,采用默认的过滤模式:如果比对片段 >80aa Evalue 阈值使用1e-5, <80aa Evalue 阈值使用1e-4
  2. hmmscan-utils resolve, 解析HMM匹配区域的交叠问题,去除交叠区域比较大的比对, 实现了文章 A fast and automated solution for accurately resolving protein domain architectures BMC 算法

hmmscan-utils 程序提供了两子命令程序:

Usage: hmmscan-utils <command> <arguments>
supports:

domtblout       <domtblout>
resolve         <domtblout>

分别解决了上述两个问题。

二、hmmscan-pipe介绍

小封装 hmmscan-pipe 命令行接口:

$hmmscan-pipe

Program: hmmscan-pipe: HMM based annotation.
Version: 0.0.1
Contact: ZHANG LEI <zhanglei@logicinformatics.com>

Usage:   hmmscan-pipe [options] <sequence> <project>

Options: -c INT    CPU number, default: [56]
         -e double set evalue cutoff, default: [1e-10]
         -d STR    database location, default: [/biostack/database/pfam/Pfam-A.hmm]

最简单的任务提交模式:

$hmmscan-pipe   A189.faa  Pfam

程序执行序列比对任务:采用了上述默认参数, 序列库也是默认参数:”/biostack/database/pfam/Pfam-A.hmm”

稍微复杂点的可以为:

$hmmscan-pipe -c 30 -e 1e-5  -d /biostack/database/pfam/Pfam-A.hmm A189.faa  Pfam

封装的好处?

1. 使用'fastx-utils partition' 对序列进行分拆,多进程执行,提高CPU利用率,可有效支持集群模式;
2. 可增加很多辅助操作,将生成的文件直接转换成Excel文档;
3. 按照自己常用需求调整默认参数,减少命令行提交复杂度;

三、最后

Biostack 提供定制小封装服务, 如有需求请联系微信号: biostack

Comments are closed.