hmmer的安装与使用

从功能基因研究的角度来讲,相关的搜索,比如从序列数据库中,找同源的序列,或者对一个对一个新的基因功能进行鉴定,使用hmmer比使用blast有着更高的灵敏度已经更高的搜索速度,但其应用还远没有blast普及,这里是一篇入门级的介绍文章。

hmmer下载与安装

对于Mac OS/X, Linux, UNIX系统,用源代码编译安装:

   % wget ftp://selab.janelia.org/pub/software/hmmer3/3.0/hmmer-3.0.tar.gz
   % tar zxf hmmer-3.0.tar.gz
   % cd hmmer-3.0
   % ./configure
   % make
   % make check

windows系统,直接下载二进制压缩包,解压就可以使用,下载地址:
http://hmmer.janelia.org/static/binaries/hmmer3.0_windows.zip

hmmer包含的程序

  • phmmer: 与Blastp类似,使用一个蛋白质序列搜索蛋白质序列库;
    > phmmer tutorial/HBB HUMAN uniprot sprot.fa
  • jackhmmer: 与psiBlast类似,蛋白质序列迭代搜索蛋白质序列库;
    > jackhmmer tutorial/HBB HUMAN uniprot sprot.fa
  • hmmbuild: 用多重比对序列构建HMM模型;
  • hmmsearch: 使用HMM模型搜索序列库;
  • hmmscan: 使用序列搜索HMM库;
  • hmmalign: 使用HMM为线索,构建多重比对序列;
    > hmmalign globins4.hmm tutorial/globins45.fa
  • hmmconvert: 转换HMM格式
  • hmmemit: 从HMM模型中,得到一个模式序列;
  • hmmfetch: 通过名字或者接受号从HMM库中取回一个HMM模型;
  • hmmpress:格式化HMM数据库,以便于hmmscan搜索使用;
  • hmmstat: 显示HMM数据库的统计信息;

使用HMM模型搜索序列数据库

  1. 使用hmmbuild构建HMM模型,输入为Stockholm格式或者FASTA格式的多重比对序列文件(如:tutorial/globins4.sto),命令如下:
    > hmmbuild globins4.hmm tutorial/globins4.sto
    globins4.hmm为输出的HMM模型
  2. 使用hmmsearch搜索蛋白质序列数据库,蛋白质序列数据库为FASTA格式,命令如下:
    > hmmsearch globins4.hmm uniprot sprot.fasta > globins4.out
    globins4.out为输出的结果文件,如下:
    hmmsearch结果

*示例使用官方教程中的示例

使用蛋白质序列搜索HMM数据库

  1. 构建HMM数据库,HMM数据库是包含多个HMM模型的文件,可以从Pfam、SMART、TIGRFams下载,也可以自己由多重比对序列集中构建,如:
    > hmmbuild globins4.hmm tutorial/globins4.sto
    > hmmbuild fn3.hmm tutorial/fn3.sto
    > hmmbuild Pkinase.hmm tutorial/Pkinase.sto
    > cat globins4.hmm fn3.hmm Pkinase.hmm > minifam
  2. 使用hmmpress格式化数据库,包括压缩以及创建索引,命令如下:
    > hmmpress minifam
    这个步骤可以很快的执行完成,输出的内容如下:
    Working… done.
    Pressed and indexed 3 HMMs (3 names and 2 accessions).
    Models pressed into binary file: minifam.h3m
    SSI index for binary model file: minifam.h3i
    Profiles (MSV part) pressed into: minifam.h3f
    Profiles (remainder) pressed into: minifam.h3p
  3. 使用hmmscan搜索HMM数据库,命令如下:
    > hmmscan minifam tutorial/7LESS_DROME
    输出如下:
    hmmscan输出结果

后记

这里主要是一个入门式的教程,介绍了hmmer的安装,以及最常用功能使用的命令示例。其他程序的使用,以及每个程序的详细参数说明,请参看官方手册,
官方文档手册(pdf):ftp://selab.janelia.org/pub/software/hmmer3/3.0/Userguide.pdf

使用中,遇到的问题,或者疑难,可以留言讨论。

新书推荐

 » 转载文章请注明,转载自:博耘生物 » 《hmmer的安装与使用》
 » 原文链接:http://boyun.sh.cn/bio/?p=1753

45 thoughts on “hmmer的安装与使用

  1. 需要注意的几点:蛋白质序列,基因组数据方面,hmmer操作的对象是蛋白质数据,而不是基因组或者转录组的数据;FASTA格式,就输入序列而言,格式就是FASTA格式;hmm模型格式,多重比对格式Stockholm格式;与blast结果类似的输出结果的解读。

  2. Pingback: 构建批量基因结构域鉴定分析平台 | 博耘生物

  3. 你好。我到现在还是不了解hmmalign是什么意思,有什么意义,和一般的多重序列比对有何不同?它会产生数字,这又是为什么?

    我同学为了做hmm模型,用hmmbuild把每个序列已知是domain的部分拼接起来,形成新多重序列,然后再用hmmscan,你说可行吗?我觉得不行,因为这些domain并不是连在一起的,测得的新序列肯定有问题。

    • 多重序列比对可以由不同的算法实现,hmmalign是基于hmm模型的多重比对。我不太情况你讲的数字指的什么,我估计你指的的每个位置碱基出现的概率模型结果。将domain进行拼接再hmmscan,我认为是多余的步骤,可能造成负面的影响,不过也许ta有另外的目的,许多时候只能用数据说话。

    • 不可以,如果想用一段基因序列搜索对于蛋白质可以使用blast。对于相似度高的序列,都可以达到很好的效果。hmmer的出现是因为两条蛋白质相似性很低,但是却有着近似的功能,为什么,是因为其有着相似的特征,而hmm模型就是这个特征的一种表示,所以要把这些相似度低,但是确实是同一家族的蛋白质,进行建模,然后通过模型再去找其他家族的成员。

  4. 您好,我目前想搜索Pfam数据库中含有目标结构域的所有基因,并输出,这个需要使用哪个软件,如何实现,若楼主知道,麻烦告知一下。谢谢

    • pfam就是一个结构域数据库,找到你要的结构域,详细信息就会看到,也可以下载到构建该结构域的所有基因。通常需要做的就是新的物种测序,对于远源蛋白进行预测,下载到指定格式的结构域序列,然后使用hmmer的搜索结构域搜索蛋白质库的命令对库进行搜索。

      • windows 版下载解压后,没法打开,双击就直接跳掉了,进入不了程序
        里面说明是这样介绍的,我把两个DLL文件,复制到WINDOWS文件荚是,还是不行,请问怎么回事儿,要安装什么么?谢谢
        HMMER 3.0 for Windows

        This suite of HMMER 3.0 modules has been compiled under CYGWIN environment
        and tested to run properly under Windows XP and Windows 7 operating systems.

        In order to run HMMER programs, one need to place two dll files,
        cygwin1.dll and cyggcc_s-1.dll into directory, where those files can be seen by Windows, i.e.
        place it in windows/system32 folder, or append the path to those files to PATH
        environment variable.

        Note, that when you run HMMER modules and indicate file path as a parameter, you should use path either
        relative to the place, where HMMER modules located or use notation /cygdrive/c/mypath/myfile instead of
        c:\mypath\myfile. Otherwise, you will every time get an annoing warning like this below:

        cygwin warning:
        MS-DOS style path detected: c:\temp\file
        Preferred POSIX equivalent is: /cygdrive/c/temp/file
        CYGWIN environment variable option “nodosfilewarning” turns off this warning.

        • 我已经想到了,你犯了一个错误,界面到命令行转变必经之路,不是每个程序双击都有窗口的,因为他没有窗口界面,是一条命令,只能在命令行(dos窗口)调用。在开始->运行,中输入cmd,回车,进入dos窗口,切换磁盘,比如D:,在切换目录到你hmmer的bin目录,比如cd hmmer\bin,输入命令,按照hmmer的手册

          • 我已经想到了,你犯了一个错误,界面到命令行转变必经之路,不是每个程序双击都有窗口的,因为他没有窗口界面,是一条命令,只能在命令行(dos窗口)调用。在开始->运行,中输入cmd,回车,进入dos窗口,切换磁盘,比如D:,在切换目录到你hmmer的bin目录,比如cd hmmer\bin,输入命令,按照hmmer的手册
            不好意思,还是不太懂,能不能·详细说明

  5. 你好,我在用hmmscan搜索时为什么会出现
    Error: bad format, binary auxfiles, ./TFHMM_3.hmm:
    binary auxfiles are in an outdated HMMER format (3/b); please hmmpress your HMM file again
    这样的报错呢?数据库明明已经用hmmpress格式化好了。请问楼主这错误是什么意思?

  6. 您好,我下载之后,运行.exe程序,窗口一闪即过,这是怎么回事?我看您上面给解释的是需要在dos界面操作,对吗?
    除此之外,运行该软件是否对操作系统有要求?我的是WIN7

    • pfam网站上就可以下载,可以通过家族名称进行搜索,也可以通过已经知道的序列,进行比对找到家族,下载相应格式的数据即可。

    • hmmsearch更敏锐的预测方式,比如比起blastp等,适合于远源的相似性低的基因家族的预测,因为是预测,对于结果需要综合各方面的信息去判断,比如蛋白质长度,核心的结构区域是否比对上,还有比对的数量,甚至转录组方面的信息(因为用于搜索的蛋白质也是预测的),如果结果比较多,先找相似性高的做验证,比如某个物种中研究的比较透彻,该家族中有5个成员,把这些都找到,然后做进化树等。预测结果只是一个线索,各方求证,能得出可以说服别人,形成一个故事就行。

  7. 你好 我最近也开始研究HMMER,想问你一下 这个是必须要安装在电脑上才能用吗?可以直接在HMMER 网站上在线分析吗? 还有我已经在pfam 上下载了HMM文件,但是打不开是怎么回事啊?

    • 您好,如果想要对于自己本地的数据做一些分析,比如你们实验室刚测序了一个物种,想找一下某个基因家族中的成员,就需要本地化。HMMER网站上可以做许多分析,比如你可以提交一个蛋白做鉴定等,详细的要研究一下hmmer网站,看一下文档。至于下载的hmm文件,是一个文本文件,使用文本编辑器可以打开的,其实一个基于一组家族蛋白得到的hmm模型,打开也是看不出什么的,呵呵。

  8. 老师您好, 现在我已经安装cygwin, 学习使用 HMM3.1b2 可以进入hmmer,要么结果是文件是空文件夹, 要么是命令有问题,您能帮帮忙么

    • 原来window DOS下版本的已经不能用了, 现在他识别不了桑格中心下载的hmm文件了, 格式变了, 您看看 命令如下:
      Administrator@LBWin7 /cygdrive/D/hmmer/hmmer-3.1b2-cygwin32/binaries
      $ hmmsearch DIOX.hmm 2pep.fa >moss.out
      -bash: hmmsearch: 未找到命令

      Administrator@LBWin7 /cygdrive/D/hmmer/hmmer-3.1b2-cygwin32/binaries
      $ ./ hmmsearch DIOX.hmm 2pep.fa >moss.out
      -bash: ./: Is a directory

      Administrator@LBWin7 /cygdrive/D/hmmer/hmmer-3.1b2-cygwin32/binaries
      $
      是不是哪里出错了

      • cygwin没怎么用过,根据你提交的,应该是命令调用的问题,而不是hmmsearch报告的问题,建议你使用完整的路径试一下,比如/cygdrive/D/hmmer/hmmer-3.1b2-cygwin32/binaries/hmmsearch DIOX.hmm 2pep.fa >moss.out

          • 出现问题的原因是hmm文件的格式有些变化:

            这是HMMER 3.1b2版本hmm文件,注意第一句: HMMER3/F [3.1 | February 2013]

            这是HMMER 3.0版本的hmm文件,第一句:HMMER3/b [3.0 | March 2010]

            只需要把3.1b2版本hmm文件文件中的第一句 HMMER3/F [3.1 | February 2013]修改为HMMER3/b [3.0 | March 2010],就可以在3.0版本的HMMER中使用了。

    • 出现这类的情况,有很多的可能,比如程序安装错误,fasta格式错误,文件格式错误,或者权限不足,需要多做尝试,进行排除,换个其他的fasta文件是否能执行,文件再保存一下等。

  9. 您好,目前在做一个基因家族的生物信息学分析,通过hmmer比对和本地Blast获得某一物种中的目标序列,查重后PFAM验证,结构域筛选掉一部分之后还剩500多条序列,我该怎么进一步筛选?MEGA构建的进化树太大了,不知道哪些是我要找的

    • 您好,如果有怎么多序列,说明这个基因家族是的大家族,而对于这类家族,必须再进行细分,查一下文章,了解这个分类,然后根据你的目的,对于不同的子分类进行研究。一句话,读文献,熟悉该基因家族,然后聚焦不同的子类进行研究,做好分类比较,就是非常好的工作。

  10. 我们老师让我用HMMER软件进行多序列比对,并建立HMM模型,给予的文件是CanProVar.fa文件,下面是我在dos窗口输入的指令,麻烦指教一下,看看有哪些错误

    C:\Users\Administrator>D:\HMMER\hmmbuild
    Incorrect number of command line arguments.
    Usage: hmmbuild [-options]

    where basic options are:
    -h : show brief help on version and usage
    -n : name the HMM
    -o : direct summary output to file , not stdout
    -O : resave annotated, possibly modified MSA to file

    To see more help on other available options, do /HMMER/hmmbuild -h

    C:\Users\Administrator>D:\HMMER\hmmbuild globins4.hmm CanProVar.fa > globins4.ou
    t

    Error: Alignment file CanProVar.fa doesn’t exist or is not readable

    C:\Users\Administrator>hmmsearch prlali.hmm protein>prlingenome.out
    ‘hmmsearch’ 不是内部或外部命令,也不是可运行的程序
    或批处理文件。

    C:\Users\Administrator>D:\HMMER\hmmsearch prlali.hmm protein.fa>prlingenome.out

    Error: Failed to open sequence file protein.fa for reading

    谢谢了很着急,麻烦给点帮助!

  11. 你好,我也遇到这样的问题:
    在DOS下输入hhsearch globins4.hmm protein.fa>moss.out后,显示“Error: Unrecognized format, trying to open hmm file globins4.hmm for reading.” 请问这是怎么了,有解决方法吗?

  12. 老师您好:
    我在源码安装hmmer-2.3.tar.gz的时候遇到了点问题,向您请教一下,我用的方法是,
    ./configure –prefix=/usr/local/hmmer
    make
    make check
    make install
    在安装步骤中出现了
    [root@localhost hmmer-2.3]# make install
    for file in hmmalign hmmbuild hmmcalibrate hmmconvert hmmemit hmmfetch hmmindex hmmpfam hmmsearch ; do\
    cp src/$file /usr/local/hmmer/bin/;\
    done
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    cp: 无法创建普通文件”/usr/local/hmmer/bin/”: 是一个目录
    make: *** [install] 错误 1
    能不能帮我分析一下是怎么回事,怎么解决啊!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请启用Javascript,以完成验证!