生信常用数据库(一):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巨坑)

下载链接:ftp://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/  #选择interproscan-5.47-82.0-64-bit.tar.gz

    下载的时候最好把md5值一起下载下来,检验一下数据库下载无误:

md5sum -c interproscan-5.47-82.0-64-bit.tar.gz.md5 

安装

    将interproscan的压缩包放到需要安装的路径下,如:/database/ipscan/

cd /database/ipscan/

tar -pxvzf interproscan-5.47-82.0-64-bit.tar.gz  #解压interproscan 数据库

python3 initial_setup.py #hmm models 建索引

此时该数据库可以进行使用了

    因为小编只要在本地运行,不需要联网操作,所以编辑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

你可能感兴趣的:(生信常用数据库(一):interproscan数据库搭建)