HMMER安装使用
安装
$ wget http://eddylab.org/software/hmmer/hmmer-3.3.2.tar.gz
$ tar xf hmmer-3.3.2.tar.gz
$ cd hmmer-3.3.2
设置环境
$ ./configure --prefix=/your/install/path
$ make
$ sudo make install
可以下载从Easel library下载miniapps(执行的话会安装一套被称为迷你应用的格外小工具)
$ cd easel; make install
安装后将软件添加到PATH环境变量中,以方便调用:
$ sudo cp /etc/profile /etc/profile.bubackup
$ sudo vim /etc/profile
#在文档末尾加入:
export PATH=自定义目录/bin:$PATH
$ source /etc/profile
虽然 HMMER3 绝大部分功能都优于 HMMER2,但是 HMMER2 是可以进行全局和全局比对(global and glocal alignment),而 HMMER3 仅支持局部比对(local alignment),因此可以同时下载HMMER2和HMMER3。
- 方法1:让一个版本加入PATH 环境变量,另一个版本进入相应安装路径使用;
- 方法2:将一个版本加入PATH 环境变量,再将另一个版本的相应文件复制并重命名带该版本的路径。可以批量修改文件名,再通过
mv * /....
转移,具体可参考Linux 批量修改文件名(前缀或后缀)_linux批量修改文件名前缀_羲凡丞相的博客-CSDN博客
简介
HMMER提供了一类被称为profile hidden Markov models的工具,这些工具被用于制作蛋白质和DNA序列域家族概率模型,并且可以用这些工具注释新的序列。
不同于Blast的是:HMMER使用集成算法(ensemble algorithm),而Blast使用optimal alignment。
HMMER可用于进行灵敏的同源搜索、蛋白结构域的自动注释、深度多重比较数据集的管理等等,并且适用于多个对比和单序列对比。
其中HMMER包含phmmer和jackhmmer(两个用于单个查询序列搜索蛋白质数据库的程序)。
缺点:
- 算法没有考虑不同个体对象间更高一级的相互作用,因此不适用于存在相互作用的模型(如structural RNAs,其中碱基与碱基存在相互作用)
- 缺乏系统发育的相关模型,不适用于进化树的构建
hmmer工具:
hmmbuild: build profile from input multiple alignment
hmmalign: make multiple sequence alignment using a profile
hmmsearch: search profile against sequence database
hmmscan: search sequence against profile database
hmmpress: prepare profile database for hmmscan
phmmer: search single sequence against sequence database
jackhmmer: iteratively search single sequence against database
nhmmer: search DNA query against DNA sequence database
nhmmscan: search DNA sequence against a DNA profile database
hmmfetch: retrieve profile(s) from a profile file
hmmstat: show summary statistics for a profile file
hmmemit: generate (sample) sequences from a profile
hmmlogo: produce a conservation logo graphic from a profile
hmmconvert: convert between different profile file formats
hmmpgmd: search daemon for the hmmer.org website
hmmpgmd_shard: sharded search daemon for the hmmer.org website
makehmmerdb: prepare an nhmmer binary database
hmmsim: collect score distributions on random sequences
alimask: add column mask to a multiple sequence alignment
其中我们常用的也只有hmmbuild、hmmsearch、hmmscan、hmmalign
测试
tutorial
里有示例文件、里面有个globins4.sto为Stockholm 格式的序列比对文件,可以使用hmmbuild
命令从这份序列比对文件中构建一个profile:
$ cd tutorial
$ hmmbuild globins4.hmm globins4.sto
hmmsearch
可以命令基于已有的轮廓隐马尔可夫模型库进行轮廓隐马尔可夫模型的搜索,目录中有 FASTA 文件,利用上一条产生的轮廓隐马尔可夫模型(profile),可以通过以下命令对该文件进行序列谱隐马尔可夫模型的搜索:
$ hmmsearch globins4.hmm uniprot_sprot.fasta > globins4.out
分析结果:
- e-value,表明hit的假阳性预期,e值越低,说明命中越明显,e值则取决于您搜索的数据库的大小,数据库越大,得到的e-value越大。
- score是 bit score,bit score不取决于序列数据库的大小,只取决于.hmm和目标序列。
- bias,score的残差,是用于bit score的偏置序列组合的修正项。只有在残差特别大的时候才需要注意。
由于在使用hmm搜索的过程中,可能出现有多个得分低的结构域凑成高得分总比对的结果,因此推荐的筛选方法是:
- 如果两个e值都是显著的(<< 1),即存在高同源的可能性
- 如果全序列e值显著,而单个最佳域e值不显著,则目标序列可能是一个多域远程同源物(multidomain remote homolog),注意这只是重复序列的情况