Download PSAT

PSAT source code is freely available for researchers to setup a local installation of the tool for analyzing genomes not currently supported by the PSAT web server, such as private genomes not yet released to the public.

Download the source package here

PSAT is supported on a Linux platform. PSAT requires the following packages to run:

  1. PostgreSQL database (
  2. Apache web server (
  3. Perl
  4. PerlMagick (

The database and web servers can be run on either the same machine or on different machines.


Installation instructions can also be found in the README in the source package.
Prokaryotic Sequence homology Analysis Tool
University of Washington
Fong C, Rohmer L, Radey M, Wasnick M, Brittnacher MJ. PSAT: A web tool to compare genomic neighborhoods of multiple prokaryotic genomes. BMC Bioinformatics. 2008 Mar 26;9(1):170 


Software Requirements
Apache web server (
PostgreSQL database server (
PerlMagick (

Web Scripts
You may need root permissions in order to copy web scripts to web root directory

cd web/NWRCE-psat
cp -a html /var/www/html
cp -a cgi-bin/psat /var/www/cgi-bin

Perl Modules
You may need root permissions in order to copy PSAT perl libraries to perl modules directory

1. Determine where your perl libraries are installed

eval "`perl -V:installvendorlib`"; echo $installvendorlib

2. Copy PSAT modules to this directory under a NWRCE subdirectory
mkdir /usr/lib/perl5/vendor_perl/5.8.5/NWRCE

cd web/perl-NWRCE-PSAT
cp -r PSAT /usr/lib/perl5/vendor_perl/5.8.5/NWRCE

Create the Database

The SQL scripts to create the database, database user and database tables are in the create directory. You can simply run the shell script to execute the appropriate psql commands to run these SQL scripts.

You may first need to modify the -U flag for each command in to specify a valid database user

cd database/create

2 errors at the start of the script are ok upon first run
The commands that generate these errors are intended for subsequent runs to reload the database

ERROR:  database "psat" does not exist
ERROR:  role "psat" does not exist

Populate the Database

Note: It may be useful to populate your database with the sample data first, to resolve any problems if necessary
Once successfully populated and tested, you can easily recreate a clean version of the database, and provide the
appropriate input files for populating the database for your selected genomes.

1. Install necessary software / programs
blastall program (from NCBI)

2. Ensure that the .ptt and .faa, and the protein BLAST databases for the genomes you want to add into the PSAT tool are available.

    * .ptt and .faa files
    -By default, these files will be looked for in the sample_data directory
    -Specify a different directory with the -local-ncbidb option when running the script
    -We obtained the sample files from NCBI ftp
    * BLAST database files
    -By default, the protein BLAST database files are looked for in the sample_data directory
    -Specify a different directory with the -local-blastdb option when running the script
    -We generated the sample BLAST databases using formatdb
    * A small set of genome and BLAST database files from Francisella and Pseudomonas are provided as a test/example. You may delete or add to these files for your own selected genomes.

3. Populate the database with an initial set of comparison and reference genomes

    * cd database/populate
    * Edit the comparison.txt and reference.txt files to specify the set of genomes you want to include. The default specifies a set of example genomes. 

The format of the file should be the path in the specified genomes directory, including genome name and genomic element accession, such as follows:


    * If necessary, edit the script to specify options that are passed to the script
    local-blastdb : directory containing the protein blast databases for each genomic element (e.g. chromosomes/plasmids) for each genome (in format /.)
    local-blastall : path to the installed blastall program
    local-ncbidb : directory containing the genbank .ptt and .faa files for each genomic element (in format /.ptt)

    dbi-driver : database server (e.g. Postgres)
    dbi-hostname : name or location of database server
    dbi-port : connection port to database server
    dbi-username : username to connect to server
    dbi-password : password to connect to server
    dbi-database : database name (e.g. psat)

    * Run

Configuration File

1. Edit the conf/psat.conf file to specify PSAT database connection details

2. Create the conf directory and copy conf file

mkdir -p /var/www/conf/nwrce
cp conf/psat.conf /var/www/conf/nwrce