pfam数据库使用方法,怎么用pfam数据库分析保守结构域

写在前面

做基因功能的人都会特别注意基因上有什么功能结构域,通常我们认为,结构域决定了这个基因的功能。随着高通量测序技术的发展,我们完全可以通过一级序列来预测该基因的结构域,pfam和smart数据库是一个不错的选择,下面我将结合我的经验,来完成对多序列文件的结构域注释。虽然网页工具也能做这部分内容(https://www.ebi.ac.uk/Tools/hmmer/search/hmmscan),但是如果你的蛋白质大小大于5000个氨基酸,网页工具就没法完成这个事情了,毕竟太吃内存了。所以学好代码是多么的重要,可以自己随心所欲地搭环境,跑程序。

1.工具

HMMER

2.下载

#下载安装工具并添加到环境变量

wget http://eddylab.org/software/hmmer/hmmer.tar.gz

#下载pfam数据库

ftp://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam33.1/Pfam-A.hmm.gz

gzip -d Pfam-A.hmm.gz

# 得到 PFAM 数据库的 HMM 文件。 HMM 文件是文本文件,需要将其变成二进制格式,以加快运算速度,同时进行压缩,并建立成索引数据库。

hmmpress Pfam-A.hmm

3.使用hmmscan 进行Pfam注释

Pfam 数据库中每个编号代表一个蛋白质家族。Pfam 分 A 和 B 两个数据库,其中 A 数据库是经过手工校正的高质量数据库, B 数据库虽然质量低些,依然可以用来寻找蛋白质家族的保守位点。Pfam 30.0以后的版本,Pfam-B就去除掉了,所以我们只关心PfamA就好了。

# 因为我要查看结构域的大小,方便我去人工删除不满足大小的基因(如只包含结构域片段的基因)

hmmscan -o out.txt –tblout out.tbl –domtblout out.dom –noali -E 1e-5 /pfam/Pfam-A.hmm multifile.fasta

附上参数解读

$ 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即可。

参考链接:

2.对输出结果的解读

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

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