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为输出的结果文件,如下:

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


使用蛋白质序列搜索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
    输出如下:

后记

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

使用中,遇到的问题,或者疑难,可以留言讨论。内容转自:http://boyun.sh.cn/bio/?p=1753

Hmmer安装与使用的更多相关文章

  1. hmmer 使用(转载)

    hmmer 使用 » 转载文章请注明,转载自:博耘生物 » <hmmer的安装与使用> » 原文链接:http://boyun.sh.cn/bio/?p=1753   从功能基因研究的角度 ...

  2. HMMPfam的安装使用手记(转载)

    转载至:http://blog.sina.com.cn/s/blog_3f6403290100rb61.html(感谢原文作者) HMMPfam的安装使用手记前言 简要介绍一下 HMMPfam吧.这还 ...

  3. 【转载】]基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程 介绍、安装准备、安装、config文件以及运行脚本介绍

    https://www.codetd.com/article/1137423 <版权声明:本文为博主原创文章,未经博主允许不得转载> 本次利用SPECCPU2006测试工具来进行Intel ...

  4. 【转载】基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程(之一)——介绍、安装准备、安装、config文件以及运行脚本介绍

    基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程(之一)--介绍.安装准备.安装.config文件以及运行脚本介绍 其他 2018-0 ...

  5. RepeatModeler安装及使用

    如果进行重复序列的预测,则使用RepeatModeler,可自身比对进行查找 安装 (1)下载地址:http://www.repeatmasker.org/RepeatModeler/ (2)Repe ...

  6. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  7. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  8. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  9. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

随机推荐

  1. iOS开发小技巧--利用MJExtension解决数据结构复杂的模型转换

    一.开发中难免会遇到,系统返回的数据中字典套集合,集合里面又套一层字典,然后字典里面还有字典或者集合等等的复杂结构的数据...MJExtension轻松搞定这类问题 1.解决方法一: 例:百思项目中帖 ...

  2. nginx正向代理,反向代理,透明代理(总结)

    1正向代理 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连 ...

  3. Android任务和返回栈完全解析,细数那些你所不知道的细节

    附:Android  task详解 出处:http://blog.csdn.net/guolin_blog/article/details/41087993 原文: http://developer. ...

  4. js 刷新windows.open另一个窗口页面或window.open的页面如何刷新(父页面)上层页面

    一.js完整代码如下: //js打开新窗口 functionopenWin() {window.open('addInfo.jsp', '_blank','width=300,height=400,t ...

  5. java多线程synchronized底层实现

    一直想把这个特别重要的关键词的底层实现搞明白.(当然现在也没有完全明白,如果有错误以后修改这篇文章) 首先,这个关键词synchronize可以说是个语法糖,它的具体用法网上很多博客都讲的比较明了了. ...

  6. bzoj2821: 作诗(Poetize)

    分块 分sqrt(n)块 F[i][j]表示块i到块j的答案 s[i][j]表示数字i在前j块内出现了几次 #include <iostream> #include <cstdio& ...

  7. python 内建类型

    ''' 数值 numbers 字符串 strings 列表 lists 字典 dictionaries 元组 tuples 文件 files 集合 sets ''' 1.1 序列的操作 所有序列类型都 ...

  8. bzoj 3172 AC自动机

    初学AC自动机,要先对于每一个模式串求出来trie树,在此基础上构建fail指针,然后在trie树加上失配边构建出整张trie图. AC自动机的原理和KMP差不多,一个节点的fail指针就是指向tri ...

  9. HTML/HTML5/CSS/CSS3教程速查手册地址以及如何快速直到webkit的用法

    http://www.w3school.com.cn/ http://www.runoob.com/ 不过上面这两个都是标准的CSS和CSS3教程,针对一些类似-webkit-内核的样式没有公布. 下 ...

  10. Nginx Parsing HTTP Package、header/post/files/args Sourcecode Analysis

    catalog . Nginx源码结构 . HTTP Request Header解析流程 . HTTP Request Body解析流程 1. Nginx源码结构 . core:Nginx的核心源代 ...