UPDATE: 

It is much simpler to use BLAST functionality implemented now within Cerberus


Warning: The rest of this page is obsolete.

 

A Basic Local Alignment Search Tool (BLAST) server is a regular web server that hosts a "wrapper" program that executes BLAST searches on the server and sends the results back to Persephone. This server can be hosted on Windows or Linux. We recommend to download the latest version of the package from NCBI. (Contact us at http://persephonesoft.com/contact for assistance.)

Note

Persephone supports NCBI-BLAST 2.2.19 and later (including "plus") versions of NCBI-BLAST.

Step 1: Set Up BLAST Server

Click the appropriate link below depending on your server's operating system:

Windows Internet Information Services (IIS) 7 Servers

The steps below provide a typical example of creating a BLAST server on a Windows Internet Information Services (IIS) 7 server. Please note these steps are intended as a general guideline only. For example, steps and configuration windows may vary due to differences between versions of Microsoft Windows. Please refer to Microsoft's IIS Configuration Reference site for more information.

  1. Start the IIS Manager.
  2. Create a virtual directory under web root and name it "cgi-bin".
  3. Point the virtual directory to a physical directory, for example c:\inetpub\wwwroot\cgi-bin.
  4. Give permissions to execute binaries from this directory. The screenshot below shows a typical example.

  1. Make sure that executable permissions for "cgi-bin" include scripts and executables. In the example above the Execute permissions field needs to be set to Scripts and Executables.
  2. Download the winblast.zip archive file that contains blast binaries and preprocessed blast data files generated from the installed database (Contact us at http://persephonesoft.com/contact for assistance.)
  3. Uncompress the contents of winblast.zip archive file to this directory. This will add the "wrapper" program webpostn.exe and create two subdirectories: "blastdata" with BLAST library files and "blast" with BLAST executable files. Please note you will need the name and path of this directory in Step 2: Send Us Your BLAST Server Configuration Information. Alternatively, the blast data files can be downloaded from the database. (Contact us at http://persephonesoft.com/contact for assistance with a specialized tool.)
  4. Next, you need to create a Web Service extension so that the program webpostn.exe can be executed on the server. The example below shows that this can be done by clicking the local computer icon and then selecting Web Service Extensions from the panel on the right.

  1. Click Add a new Web service extension as shown in the example below.

  1. Create a new Web service extension as shown in the example below.

  1. Click OK.

Windows Internet Information Services (IIS) 8 Servers

The steps below provide a typical example of creating a BLAST server on a Windows Internet Information Services (IIS) 8 server. Please note these steps are intended as a general guideline only. For example, steps and configuration windows may vary due to differences between different versions of Microsoft Windows. Please refer to Microsoft's IIS Configuration Reference site for more information.

  1. Start the IIS Manager.
  2. Create a virtual directory under web root and name it "cgi-bin".
  3. Point the virtual directory to a physical directory, for example c:\inetpub\wwwroot\cgi-bin.
  4. Double click Handler Mapping to give permissions to execute binaries from this directory.

Handler Mapping

The following will be displayed.

Handler Mapping Library Files

  1. Under Actions click Edit. The following pop-up window will be displayed.

Handler Mapping Edit Pop-up Window

  1. Check (select) Read, Script, and Execute and then click OK.
  2. Download the winblast.zip archive file from Persephone Software, LLC. (Contact us at http://persephonesoft.com/contact for assistance.)
  3. Uncompress the contents of winblast.zip archive file to this directory. This will add the "wrapper" program webpostn.exe and create two subdirectories: "blastdata" with BLAST library files and "blast" with BLAST executable files. Please note you will need the name and path of this directory in Step 2: Send Us Your BLAST Server Configuration Information.
  4. Next, you need to create a Web Service extension so that the program webpostn.exe can be executed on the server. The example below shows that this can be done by clicking the local computer icon and then selecting Web Service Extensions from the panel on the right.

  1. Click Add a new Web service extension as shown in the example below.

  1. Create a new Web service extension as shown in the example below.

  1. Click OK.

Linux Servers

The steps below provide a typical example of creating a BLAST server on a Linux server. Please note these steps are intended as a general guideline only. For example, steps may vary due to differences between different Linux distributions and different versions of the operating system. Please refer to your Linux server documentation for more information.

  1. Unpack the contents of linuxblast.gz file we sent you to a web server directory that has permissions to execute binaries. (In most cases this is "cgi-bin".) The following is sample code from an Apache configuration file that sets the execute permissions.

# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

  1. Please make sure that the shell script webpostn.s, the wrapper program webpostn, and all BLAST files have the proper execute permission set. Please note the shell script webpostn.s is needed to set some temporary environment variables for the wrapper and BLAST executable files. You will need to edit it and set the location of BLAST home directory to the full path of blast directory, for example:

set BLAST_HOME=/var/www/cgi-bin/blast

Please note you will need the name and path of this directory in Step 2: Send Us Your BLAST Server Configuration Information. The full path of your "cgi-bin" directory will then be incorporated into Persephone's configuration file (Persephone.exe.config).

  1. Optional. In case you wish to monitor the BLAST server's activity you can set up a log file that will contain BLAST command lines and text of web POST requests. To do this you need to set a WEBPOST_LOG environment variable that will tell the BLAST wrapper the location of the log file. For example,

c:\tmp\blast.log

or

/tmp/blast.log

Please make sure that this location is writable.

Step 2: Send Us Your BLAST Server Configuration Information

After you have configured your BLAST server please send us the following information:

  • Your server's operating system, which can be Windows (IIS) or Linux (for example, Red Hat Linux or Amazon Linux).
  • The URLClosed for the wrapper program (webpostn.s or webpostn.exe) you configured in Step 1: Set Up BLAST Server as shown in the following example:

http://my-webserver.com/cgi-bin/webpostn.s

  • The full file system path to "cgi-bin" directory where you unpacked the BLAST server. files in Step 1: Set Up BLAST Server as shown in the example below:

 /var/www/cgi-bin

  • Alternatively, if you installed your own version of NCBI blast and prepared the data files, please send us the location of blast binaries and datafiles.