blast的替代品,使用hmmer寻找同源序列

在这里插入图片描述

hmmer,和blast类似,也是一款用于寻找同源序列的软件,其出现晚于blast,与blast所使用的算法不同,hmmer使用的是隐马尔科夫模型,隐马尔科夫模型的简介以及在序列比对中的应用我之前有写过一篇短文,有兴趣可以参读一下:隐马尔可夫模型在序列比对和基因预测中的应用。使用hmmer和blast各有长短,在某些情况下两者的效果差不多,有时候会有稍大差距。

hmmer也有在线版以及本地版,在线版由ebi维护,地址为https://www.ebi.ac.uk/Tools/hmmer/,hmmer官网为http://www.hmmer.org/,在此处可以找到hmmer的安装包,进行下载安装。

本文简要介绍一下,本地版hmmer的基本使用方式。


使用hmmer进行同源搜索之前

制作矩阵

hmmer的使用不同于blast,blast直接将query(查询)序列与目标基因组或者序列进行比对,而hmmer则是利用的其自身生成的矩阵来进行同源搜索,因此在正式开始搜索之前,需要首先根据query序列制作一个hmmer矩阵,制作hmmer矩阵的查询序列可以为多条,这些查询序列需要先进行多序列比对,多序列比对之后的结果再通过hmmer的工具hmmbuild来制作对应的矩阵。

若是只有一条查询序列,也是可以使用hmmbuild来制作矩阵的,但是可能没有使用多条查询序列找到的同源序列的结果多。同时hmmer中还有phmmer或者jackhmmer等工具,它们能够将一条序列作为查询序列直接搜索序列库,但我想其内部应该也是先根据这条传入的序列生成了矩阵后再进行同源搜索的。

hmmer生成矩阵后就能够用于在序列库中搜索与查询序列同源的序列了,这里要注意在hmmer中没有和blast一样的四种搜索方式(没有蛋白搜核酸以及核酸搜蛋白),hmmer中只能够进行核酸搜索核酸序列库或者蛋白搜索蛋白序列库的操作。若是要进行其它搜索,可能需要自行处理一下结果或者查询序列。

序列库

hmmer所搜索的target是序列库,而并不是整个传入基因组之类的。序列库也就是一个fasta文件,其中全是一条一条单独的序列,hmmer将对其中的每条序列进行同源搜索,以判断此序列是否和查询序列有同源性。因此若是有特定的序列想要判断其与查询序列的同源性,只需要将所有序列都放在同一个fasta文件中,这样就形成了一个hmmer可以查询的序列库。

在blast中,对某个基因组的搜索需要先将基因组制作为db形式(makeblastdb命令)。在hmmer中,也是不能直接搜索整个基因组的,因此要搜索的基因组就需要先被制作为序列库形式,这样的序列库可以通过一些预测基因组ORF的软件来完成,我最近使用到的就是prodigal这款软件,其使用比较方便,还可以将核酸序列直接翻译为蛋白序列,上篇文章介绍过,有兴趣可以参考一下啊。链接在这。

同源序列搜索

制作完矩阵以及序列库后,就能够进行同源序列的搜索了,在hmmer中有多个命令供我们使用,命令如下:在这里插入图片描述
在命令介绍中提到的profile一般就是指的要使用的矩阵,简单介绍几个可能较常用的命令:

  • hmmbuild:通过多序列比对得到的结果制作矩阵,使用方式为:hmmbuild test.hmm test.fas,其中test.fas为多序列比对结果,test.hmm则为产生的矩阵
  • hmmsearch:使用矩阵来搜索一个序列库(可以是核酸搜核酸或蛋白搜蛋白)
  • phmmer:使用一条序列在序列库中进行同源搜索
  • jackhmmer:同phmmer,但是其搜索方式为在序列库中迭代搜索,直到搜索不到为止,默认最大搜索次数为5,可以自行调整,这种方式在搜索宏基因组时应该很好用
  • nhmmer:使用核酸序列在核酸序列库中搜索
  • 在使用上面提到的命令时,还有一些参数也可以调整,例如evalue(E)、线程数(cpu)、调整输出结果的形式(tblout等),这些可用参数都十分容易查询到,就不多介绍了

处理结果

通过各种搜索得到的结果都是文本文件,从这些文件中提取结果即可,这里展示一下两种结果的部分截图:

jackhmmer的结果
在这里插入图片描述

这里结果我没有使用表格形式,读者可以自己设置为输出表格形式。上图中以+号开始的行表示这行的结果是新找到的,通过序列名到序列库中去寻找找到的对应的同源序列进行提取即可。

hmmersearch的结果:
在这里插入图片描述
这里类似blast,输出的为表格形式。

hmmer和blast各有长处,可以在使用时取长补短。

还有未提到的其它功能读者在使用时可以自行探索。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值