生信常用数据库(一):interproscan数据库搭建
https://www.jianshu.com/p/19241ae1b77a
一、参考文档
https://interproscan-docs.readthedocs.io/en/latest/
https://github.com/ebi-pf-team/interproscan
前言
Interproscan,通过蛋白质结构域和功能位点数据库预测蛋白质功能。是EBI开发的一个集成了蛋白质家族、结构域和功能位点的非冗余数据库,该数据库集成了一系列的数据库,如常见的pfam和GO注释,本文将介绍如何在本地集群上搭建Interproscan数据库,并如何配置SGE的投递参数
安装环境需要
本文示例InterProScan 5.47-82.0的安装使用,首先需要配置以下要求的perl、python3、JAVA JDK,并分别添加到~/.bashrc中
64-bit Linux
Perl (default on most Linux distributions)
Python 3 (InterProScan 5.30-69.0 onwards)
Java JDK/JRE version 11 (InterProScan 5.37-76.0 onwards)
下载和安装
5.47-82.0版本开始不需要单独下载panther,数据比较大,小编选择用的迅雷VIP下载的(不到不得已不要VIP,TM巨坑)
mkdir my_interproscan
cd my_interproscan
wget https://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/5.55-88.0/interproscan-5.55-88.0-64-bit.tar.gz
wget https://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/5.55-88.0/interproscan-5.55-88.0-64-bit.tar.gz.md5
# checksum 是为了验证文件下载的完整性,interproscan 比较大,验证是为了减少后续软件缺省的麻烦:
md5sum -c interproscan-5.55-88.0-64-bit.tar.gz.md5
# Must return *interproscan-5.55-88.0-64-bit.tar.gz: OK*
# 如果 failed 则需要重新下载.
tar -pxvzf interproscan-5.55-88.0-*-bit.tar.gz
# where:
# p = preserve the file permissions
# x = extract files from an archive
# v = verbosely list the files processed
# z = filter the archive through gzip
# f = use archive file
Index hmm models
Before you run interproscan for the first time, you should run the command:
python3 setup.py -f interproscan.properties
This command will press and index the hmm models to prepare them into a format used by hmmscan.
此时该数据库可以进行使用了
To turn off the use of the service, either use the -dp command line option or edit interproscan.properties and add a # to the start of the following line to comment out the line or delete the following line, near the bottom of the file:
因为小编只要在本地运行,不需要联网操作,所以编辑interproscan.properties 文件,将下边这行代码注释掉
precalculated.match.lookup.service.url=http://www.ebi.ac.uk/interpro/match-lookup
数据库使用
进入interproscan-5.47-82.0文件夹后可以拿里边的测试数据进行测试
./interproscan.sh #直接运行该脚本可以看到该数据库的各个使用参数,其中:
-i:输入文件
-o:输出文件,和-b参数(输出另一种格式)不能同时使用
-iprlookup -goterms:同时使用显示GO注释的GO ID(最好加上)
-f:输出文件格式,有TSV, XML, JSON, GFF3, HTML和SVG几种, TSV格式对于生信分析最为友好,蛋白序列默认 TSV, XML和GFF3,核酸默认GFF3和XML
-T :临时文件生产路径,默认当前文件夹下生产temp(cluster模式会生产)
-appl:能够直接使用的数据库有SFLD,ProDom,Hamap,SMART,CDD,ProSiteProfiles,ProSitePatterns,SUPERFAMILY,PRINTS,PANTHER,Gene3D,PIRSF,Pfam,Coils,MobiDBLite,该参数默认选择全部可用数据库
其他参数可参考官网:Running InterProScan 5 — interproscan-docs documentation
运行脚本:
./interproscan.sh -iprlookup -goterms -appl Pfam -appl PRINTS -appl PANTHER -appl ProSiteProfiles -appl SMART -f TSV -i test_proteins.fasta -o test_proteins.fasta.ipscan
直接运行该脚本即可得到TSV格式的结果文件,-appl也可写成-appl Pfam,PRINTS,PANTHER,ProSiteProfiles,SMART
SGE投递参数设置
单个和少数几个序列在本地直接运行会很方便,但是当序列比较大的时候,使用投递脚本会方便的多,这时需要切换到cluster模式,该数据库支持SGE和LSF投递,因为小编用的SGE,所以接下来介绍SGE投递参数配置
编辑interproscan.properties文件,添加或修改以下参数:
#Specify your cluster (LSF, SGE or any other cluster)
grid.name=sge #修改
#grid.name=other-cluster
#Java Virtual Machine (JVM) maximum idle time for jobs.
#Default is 180 seconds, if not specified. When reached the worker will shutdown.
jvm.maximum.idle.time.seconds=180 #添加
#JVM maximum life time for workers.
#Default is 14400 seconds, if not specified. After this period has passed the worker will shutdown unless it is busy.
jvm.maximum.life.seconds=14400 #添加
#Maximum number of jobs per clusterRunId. Default is 3000.
grid.jobs.limit=1000 #根据实际情况修改
#commands to start new jvmsworker.
command=java -Xms256m -Xmx1024m -jar interproscan-5.jar #修改worker.high.memory.command=java -Xms256m -Xmx2048m -jar interproscan-5.jar #修改
#directory for any log files generated by InterProScan
log.dir=logs #添加
下边是SGE投递命令,-l和-q参数可以根据实际情况设置,小编四万八千多个蛋白序列,拆成46个任务,用的vf=2.5g,p=1够用
grid.master.submit.command=qsub -cwd -V -l vf=2.5g,p=1 -q all.q -b y -N i5t1worker
grid.master.submit.high.memory.command=qsub -cwd -V -l vf=2.5g,p=1-q all.q -b y -N i5t1hmworker
grid.worker.submit.command=qsub -cwd -V -l vf=2.5g,p=1 -q all.q -b y -N i5t2worker
grid.worker.submit.high.memory.command=qsub -cwd -V -l vf=2.5g,p=1 -q all.q -b y -N i5t2hmworker
投递运行脚本:
./interproscan.sh -mode cluster -clusterrunid test -iprlookup -goterms -appl Pfam -appl PRINTS -appl PANTHER -appl ProSiteProfiles -appl SMART -f TSV -i test_proteins.fasta - T temp -o test_proteins.fasta.ipscan2
运行该脚本会自动进行投递,和本地运行相比,多了-mode cluster参数(必选),该参数表示选择cluster模式,-clusterrunid test参数(必选),该参数是log文件中的日志文件名称,test可更改成自己喜欢的名字,-T表示临时文件。
安装过程中若遇到什么问题,可以参考官方教程:Running InterProScan 5 in Cluster Mode — interproscan-docs documentation
5. 运行
./interproscan.sh
四、问题解决
1 软件缺失
Deactivated analyses:
SignalP_GRAM_POSITIVE (X.X) : Analysis SignalP_GRAM_POSITIVE-X.X is deactivated, because the following parameters are not set in the interproscan.properties file: binary.signalp.4.0.path
SignalP_EUK (X.X) : Analysis SignalP_EUK-X.X is deactivated, because the following parameters are not set in the interproscan.properties file: binary.signalp.4.0.path
Phobius (X.XX) : Analysis Phobius-X.XX is deactivated, because the following parameters are not set in the interproscan.properties file: binary.phobius.pl.path.1.01
TMHMM (X.Xc) : Analysis TMHMM-X.Xc is deactivated, because the following parameters are not set in the interproscan.properties file: binary.tmhmm.path, tmhmm.model.path
SignalP_GRAM_NEGATIVE (X.X) : Analysis SignalP_GRAM_NEGATIVE-X.X is deactivated, because the following parameters are not set in the interproscan.properties file: binary.signalp.4.0.path
运行完后,在一系列参数说明的结尾,会提示有某些软件无法获得,这些软件需要自行前往官网注册并下载,并将下载软件添加到 interproscan 相应目录下
- signalp-4.1
SignalP-4.1 download - tmhmm-2.0c
tmhmm-2.0c - phobius1.01
phobius1.01 download
2 报错提醒
- signalp-4.1报错
SignalP Error message: Can't locate FASTA.pm in @INC
- 软件路径需要更改
- 修改文件signalp
#原文件路径
BEGIN {
$ENV{SIGNALP} = '/usr/opt/www/pub/CBS/services/SignalP-4.1/signalp-4.1';
}
#修改为自己的路径
BEGIN {
$ENV{SIGNALP} = '/home/usr/bacteria/app/interproscan2/interproscan-5.55-88.0/bin/signalp/4.1/';
}
- hmm model报错
pather.hmm bad file format…………
- 可能是软件解压过程hmm model 不完全的问题导致的
- 需要回到最初解压软件压缩包的步骤;修改
interproscan-5.55-88.0-64-bit.tar.gz
权限
chmod 777 interproscan-5.55-88.0-64-bit.tar.gz
-
phobius1.01
报错Could not read provided fasta sequence at bin/phobius/1.01/phobius.pl line 408
Could not read provided fasta sequence at bin/phobius/1.01/phobius.pl line 408
phobius 版本与Linux 操作系统版本(64位)不对应,一般而言 phobius 默认的是32 位的
检查是否是32bit
file bin/phobius/1.01/decodeanhmm |grep 32-bit
如果是32 bit,则需要将decodeanhmm 删除,并将decodehmm.64bit 文件改名为decodeanhmm
总结
以上仅个人安装 interproscan 过程中踩过的坑及解决方案,希望能够为大家提供帮助~
有错误的地方希望大家指出,彼此交流,共勉!
作者:努力的猪猪包
链接:https://www.jianshu.com/p/1bc986ee1a9e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。