TABLE OF CONTENTS
PSORT-B is described in Gardy, J.L. et al (2003). PSORT-B: improving protein subcellular localization prediction for Gram-negative bacteria. Nuc Acids Res 31(13):3613-17. Please cite this publication if you use PSORT-B in your research.
The standalone version of PSORT-B is distributed under the GNU General Public Licence (Gnu GPL) (see the LICENSE file included in the download) by the Brinkman Laboratory, Simon Fraser University, Burnaby, B.C., Canada.
This standalone version of PSORT-B has initially been developed for the Linux environment.
This document describes the installation of the PSORT-B version 1.1.4 command line program and the PSORT-B server packages. For most purposes, following the installation instructions for the command line version will be sufficient.
For further information, please contact psort-mail@sfu.ca.
PSORT-B has several prerequisites that must be installed for a fully functional version.
1. A Linux distribution. PSORT-B has been tested and found to work on the following Linux distributions: RedHat 7.3, SuSE 9.0, Mandrake 9.2.
IMPORTANT NOTE FOR USERS OF REDHAT 9
There seem to be problems in RedHat 9 between Bioperl and BLAST, the system call to BLAST returns a -1 return code. Unfortunately despite our best efforts we can't solve this problem. As a result about 50% of the machines running RH9 which PSORT-B is installed onto won't run properly. This problem has only been encountered when running PSORT-B under the RedHat 9 distribution, and was not apparent when the program was tested under the following distributions: RedHat 7.3, SuSE 9.0, Mandrake 9.2. Should you wish to use a workaround we've developed you must comment out the line:$self->throw("$executable call crashed: $? $commandstring\n") unless ($status==0);
in the file:
Bio/Tools/Run/StandAloneBlast.pm at approximately line 633.
2. Perl version 5.005_03 or higher (5.6.x or higher recommended). The latest version of Perl can be obtained from: http://www.cpan.org
3. The Bioperl library version 1.2.x or higher. While PSORT-B *has* been tested on earlier versions of Bioperl, the latest version is strongly recommended. Bioperl can be obtained from: http://www.bioperl.org
4. The Perl Algorithm::SVM and Algorithm::HMM modules. The latest versions of both modules should be available on the PSORT-B website: http://www.psort.org/psortb/downloads
5. A working installation of standalone NCBI BLAST. BLAST can be obtained from the NCBI FTP site: ftp://ftp.ncbi.nih.gov/blast/executables
6. A working installation of HMMTOP. HMMTOP can be obtained from: http://www.enzim.hu/hmmtop/
PSORT-B can also be installed as a server. External programs are able to sent requests to the PSORT-B server via an XML-RPC API. This option is highly recommended if PSORT-B is going to be used extensively on a continuous basis. We have included a sample Perl web-client with this package.
If you plan on setting up PSORT-B to act as a server, the following additional packages are required:
1. Apache version 1.3.x with mod_perl already installed. (For more information on apache and mod_perl, please consult the corresponding websites at: http://www.apache.org and http://perl.apache.org.
A prior working installation of Apache and mod_perl is assumed in this document.
2. The Perl IO::String modules and the Perl RPC::XML module version 1.26 or higher. Both modules can be obtained from CPAN: http://www.cpan.org
In the directory created when you unzipped the Bio-Tools-PSort archive, run the following commands (Note that you will most likely have to have administrative privileges to run these commands successfully):
perl Makefile.PL
make
make test (optional)
make install
This should install and test all of the modules distributed with the package. Please ensure that you have installed all of the prerequisite packages before performing this step.
4) CONFIGURING STANDALONE PSORT-B
Bio::Tools::PSort stores per-module configurations and other necessary files under the 'psort' directory. These files are *not* installed in the previous step, and it is recommended that you copy this directory to a more permanent location like /usr/local/psort/ using the command:
cp -r psort /usr/local/
This command will create a new directory called /usr/local/psort/. Note that you will have to have the appropriate permissions to execute this command.
It is also necessary to create the BLAST database used by the Bio::Tools::Run::SCLBlast module. After performing the above step, switch into the $PSORT_ROOT/conf/analysis/sclblast directory (where $PSORT_ROOT is the directory where you just copied the files), and using the formatdb program distributed with the NCBI BLAST package, run the command (ensuring the formatdb is in your $PATH variable):
formatdb -i sclblast -p T -o T
Standalone PSORT-B requires several environment variables to be set so that it can find the locations of various programs it requires. You will have to set the following variables:
PSORT_ROOT
PSORT_HMMTOP
BLASTDIR
to point to the PSORT_ROOT directory, the location of the HMMTOP installation directory and the location of the BLAST installation, respectively.
A local PSORT-B program is available in $PSORT_ROOT/bin and can be used to test your setup.
5) CONFIGURING A PSORT-B SERVER
For most purposes, performing the above installation steps are sufficient. If you *DO NOT* want to setup a PSORT-B server, you *DO NOT* have to perform this step. If you're not sure whether or not you want to set one up, you probably don't need to do this.
This section assumes you have a working installation of Apache/mod_perl
and
have installed all of the required modules
outlined in the PREREQUISITES section. It also assumes that you have
completed
the previous section detailing the installation of the standalone
PSORT-B version
- if you haven't completed the previous section, go back and do so
now.
Open up Apache's httpd.conf in an editor and add the following lines in the mod_perl setup section (assuming one exists - you can add them at almost any point in the file):
PerlSetVar RpcMethodDir
/usr/local/psort/server/rpc/
PerlChildInitHandler
Apache::RPC::Server->init_handler
Note that if you *HAVE NOT* installed the PSORT-B files into the recommended $PSORT_ROOT directory, you should change the value of the first line to point to the correct location.
The above lines set up the Apache webserver to listen for XML-RPC requests. The code defining the methods used to handle the requests are located in the RpcMethodDir (in this case /usr/local/psort/server/rpc).
Next, you'll need to associate a mod_perl handler with a specific
request URL.
Inside the VirtualHost definition that you want to
handle the requests (it doesn't have to be inside a VirtualHost section
though)
add the following lines:
<Location
/RPC>
SetHandler perl-script
PerlHandler Apache::RPC::Server
</Location>
A sample startup.pl file has also been included with this package, and is located under $PSORT_ROOT/server/startup.pl
You should copy the appropriate sections into your startup.pl file (usually located in the same directory as httpd.conf). *MAKE SURE THAT YOU MODIFY THE $PSORT_ROOT, $HMMTOP_DIR and $BLAST_DIR VARIABLES TO POINT TO THE APPROPRIATE LOCATIONS ON YOUR SYSTEM*.
Note that you should also ensure that startup.pl is being loaded by Apache - there should be an Apache directive similar to:
PerlRequire conf/startup.pl
in your httpd.conf file. (If it doesn't exist, you'll have to add it,
ensuring
that the path to startup.pl is correct relative to the httpd
root.)
Restarting Apache should now provide you with a PSORT-B server installation. The PSORT-B program has been provided in $PSORT_ROOT/bin can be used to test your SERVER installation if you use the --server option.