1. HMMER 简介
HMMER 和 BLAST 类似,主要用于序列比对。
2. HMMER 与 PFAM 的下载安装
安装 HMMER $ wget ftp://selab.janelia.org/pub/software/hmmer3/3.1b2/hmmer-3.1b2.tar.gz $ tar zxf hmmer-3.1b2.tar.gz $ cd hmmer-3.1b2 $ ./configure --prefix=/opt/biosoft/hmmer-3.1b2 && make -j 8 && make install $ echo 'PATH=$PATH:/opt/biosoft/hmmer-3.1b2/bin/' >> ~/.bashrc $ source ~/.bashrc 下载 HMMER 软件说明文档 $ wget ftp://selab.janelia.org/pub/software/hmmer3/3.1b2/Userguide.pdf -P /opt/biosoft/hmmer-3.1b2/ 下载 PFAM 数据库 $ cd /opt/biosoft/hmmer-3.1b2/ $ wget ftp://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam27.0/Pfam-A.hmm.gz $ wget ftp://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam27.0/Pfam-B.hmm.gz $ gzip -d Pfam-A.hmm.gz; gzip -d Pfam-B.hmm.gz 得到 PFAM 数据库的 HMM 文件。 HMM 文件是文本文件,需要将其变成二进制格式,以加快运算速度,同时进行压缩,并建立成索引数据库。 $ hmmpress Pfam-A.hmm $ hmmpress Pfam-B.hmm
3. 使用 hmmscan 进行 Pfam 注释
Pfam 数据库中每个编号代表一个蛋白质家族。Pfam 分 A 和 B 两个数据库,其中 A 数据库是经过手工校正的高质量数据库, B 数据库虽然质量低些,依然可以用来寻找蛋白质家族的保守位点。Pfam 最新 v27.0 版本的数据库中, A 数据库包含 14,836 个蛋白质家族编号(以 PF 开头); B 数据库包含 20,000 个蛋白质家族编号 (以 PB 开头)。
使用 hmmscan 进行 Pfam 注释示例:
$ /opt/biosoft/hmmer-3.1b2/bin/hmmscan -o out.txt --tblout out.tbl --noali -E 1e-5 /opt/biosoft/hmmer-3.1b2/Pfam-A.hmm file.fasta 生成结果文件 out.txt 和 out.tbl out.txt 文件信息比较全面,但是不好阅读; out.tbl 文件则是表格形式的结果,是一般需要的结果。
hmmscan 命令的常用参数:
$ hmmscan [-options]-h 显示帮助信息 -o FILE 将结果输出到指定的文件中。默认是输出到标准输出。 --tblout FILE 将蛋白质家族的结果以表格形式输出到指定的文件中。默认不输出该文件。 --domtblout FILE 将蛋白结构域的比对结果以表格形式输出到指定的文件中。默认不输出该文件。该表格中包含query序列起始结束位点与目标序列起始结束位点的匹配信息。 --acc 在输出结果中包含 PF 的编号,默认是蛋白质家族的名称。 --noali 在输出结果中不包含比对信息。输出文件的大小则会更小。 -E FLOAT default:10.0 设定 E_value 阈值,推荐设置为 1e-5 。 -T FLOAT 设定 Score 阈值。 --domE FLOAT default:10.0 设定 E_value 阈值。该参数和 -E 参数类似,不过是 domain 比对设定的值。 --cpu 多线程运行的CPU。默认应该是大于1的,表示支持多线程运行。但其实估计一般一个hmmscan程序利用150%个CPU。并且若进行并行化调用hmmscan,当并行数高于4的时候,会报错:Fatal exception (source file esl_threads.c, line 129)。这时,设置--cpu的值为1即可。