iprscan is a standalone package of databases and scripts that allows you to query the InterPro database with protein or nucleotide sequences. The documentation claims that it can be made to work with several popular batch queue systems including LSF, SGE and PBS54 (presumably PBSPro?). I found some modifications were required to make it work with OpenPBS. This brief guide assumes that you have read the iprscan documentation and have some idea about how to install iprscan.
* Get the 3 required tarballs for iprscan (data, binaries and scripts) and unpack them
* Run Config.pl. Answer yes when asked about using a batch queue system and yes to PBS54. Give your OpenPBS server name as a global resource and whichever queue you want to use as a global queue.
* When finished, go into the conf/ directory. Take a look at the conf files for each application. For instance in coils.conf, you should see lines that look like:
queue=pbs54 resource=silicon (your PBS server name) queue.name=workq (default queue name)
* Similar lines should appear in iprscan.conf
* The file requiring modification is pbs54.conf. Look for the lines that begin “asyncsub=qsub” and “syncsub=qsub”. Originally, mine looked something like this:
asyncsub=qsub [%optqueue][%optresource] -l -o /dev/null -e /dev/null "[%toolcmd]" syncsub=qsub [%optqueue][%optresource] -l -o /dev/null -e /dev/null -I "[%toolcmd"]
Couple of problems here. First, ”-l” with no resource options will cause PBS to fail with a 512 error code. Second, if you compiled PBS to use scp for copying, you cannot scp to /dev/null on a remote machine. So I changed things to look like this:
asyncsub=qsub [%optqueue][%optresource] -j oe -o /tmp "[%toolcmd]" syncsub=qsub [%optqueue][%optresource] -j oe -o /tmp -I "[%toolcmd"]
and those problems were fixed for me.
* One last problem is that you may find all your iprscan jobs are being directed to one node. Make sure the following attributes are set (in qmgr use 'list s' to view them):
resources_default.neednodes = 1 resources_default.nodect = 1 resources_default.nodes = 1 node_pack = False