The WHAT IF WWW Interface

Introduction

This file describes the steps you must complete to setup the WHAT IF World Wide Web Interface (WIWWWI) on your system. The WIWWWI provides a user friendly interface to the WHAT IF molecular graphics packages written by Gert Vriend

The WIWWWI provides an interface to a subset of WHAT IFs options. It is possible to construct new WWW interfaces to your favourite WHAT IF routines (Here is some info).

Before you continue with the installation you might want to take a look at the installation we have on our webserver. You can check the results of your system with the results produced by our installation.

You can install the WIWWWI on all systems where WHAT IF runs (except probably Windows). The WIWWWI has been successfully tested under LINUX, IRIX 5.3 and IRIX 6.4.

Installing the WIWWWI

The WIWWWI needs

If you obtained this package by downloading it from the Web, you probably need to get a WHAT IF (and a WHAT IF license). If you already have WHAT IF installed, then you need to make sure that you have a version of WHAT IF, that is compatible with this version of the WIWWWI. Mail Vriend@CMBI.ru.nl if you are in doubt.

To install the WIWWWI on you system, first make sure that you have installed Fly, WHAT IF, a webserver and Python. When you have made sure that these four progams are running on your system, you can continue with the following procedure:

  1. Download the compressed tar file and place it in an empty directory.
  2. Uncompress the file: uncompress WIWWWI.tar.gz
  3. Unpack the file: tar -xf WIWWWI.tar The WIWWWI directory should roughly look like:
      drwxr-xr-x  7 usr  grp 1024 Jun 17 14:59 ./
      drwxr-xr-x 14 usr  grp 2048 Jun 17 13:56 ../
      -rw-r--r--  1 usr  grp  573 Jun 17 14:28 Config.py
      drwxr-xr-x  2 usr  grp 1024 Jun 17 14:59 HTMLgen/
      -rwxr-xr-x  1 usr  grp 8560 Jun 17 13:40 HtmlFactory.py*
      -rw-r--r--  1 usr  grp 9362 Jun 17 14:58 INSTALL.html
      -rwxr-xr-x  1 usr  grp 1148 Jun 17 13:39 INSTALL.py*
      drwxr-xr-x  2 usr  grp 1024 Jun 17 14:59 cgi/
      drwxr-xr-x  2 usr  grp 3072 Jun 16 19:00 html/
      drwxr-xr-x  2 usr  grp 1024 Jun 16 19:00 icons/
      drwxr-xr-x  2 usr  grp 1024 Jun 17 14:59 lib/
      
    And these files are used for:
  4. Decide where to put the html pages, the icons and the temporary directory. Enter this information in Config.py along with the location of WHAT IF, and the location of WHATIF.FIG.
  5. Create the tmp directory.
  6. If your specification in Config.py means that you have to move the html and icons directory, then do so. On my system I have kept the html and icons directories in their original place. I have also created the temporary directory there. This saves the work of moving the directories elsewhere.
  7. Link your tmp, html and icons directories to your DocumentRoot. In my DocumentRoot (defined in httpd.conf in the conf dir of your webserver), I have created three symbolic links to these directories (instead of moving the directories here). My DocumentRoot looks like this:
      lrwxrwxrwx 1 usr  grp 13 May 4 14:51 WIWWWI -> /home/user/WIWWWI/html/
      
    You need to define the WIWWWI directory in srm.conf instead (normally found in the conf dir in your httpd dir). This is done by inserting lines like these:
      Alias /WIWWWI/ /user/home/WIWWWI/html/
      
  8. Httpd setup: In srm.conf add the lines:
      ScriptAlias /cgi/ (location of WIWWWI/cgi)
      AddType application/x-httpd-cgi .py
      
    In my srm.conf the Scriptalias line looks like:
      ScriptAlias /cgi/  /user/home/WIWWWI/cgi/ 
      
    (remember the slash at the end!)
  9. For long modeling jobs the webserver might terminate the connection before the job is finished. Therefore it is advisable to set the Timeout value in httpd.conf to a big value (f.ex. 3600 = 1hour).
      Timeout 3600
      
  10. Go to the WIWWWI directory and replace the first line of INSTALL.py with the path to the python executable.
  11. Execute INSTALL.py.
The WHAT IF WWW Interface should now be ready. Please test it and compare the results with the results that our server gives. If you changed the Port statement in httpd.conf you can access your server at the URL http://yourmachine:portnumer/WIWWWI.

Good luck!

Notes on external programs needed by the WIWWW.

Python

If you do not have Python instlled on your machine, you can download it from
The Python Website.
All installation notes can be found on the python website. We use the WHAT WWW interface with version 1.5.1. You might run into trouble with older versions.

Fly

To produce the grafic output you will need the program 'Fly'. It's free software, written by Martin Gleeson.
Follow this
link to download and install. The fly executable should be placed in the whatif/bin directory. If you do not have a bin directory in your whatif dir, then just create it.

HTMLgen

We use the Python HTMLgen extension for generating html pages. The extension is provided with the WIWWWI, so normally you don't have to download and install it. More information on HTMLgen can be obtained from the
HTMLgen website

Webserver

The WIWWWI is a WWW interface. It therefore needs a running http deamon (or webserver). We recommend that you use a server dedicated to the WIWWWI, as this makes the installation easier. It is, however, also possible to use an existing server.
You can download the Apace httpd from
http://www.apache.org/

Be sure to set the Port in httpd/conf to an unused port.
You will have to modify some of the settings for the httpd later on, but once you have a "fresh" httpd running, chances are that you will manage to complete the installation.

WHAT IF

You need WHAT IF installed on your system. It is necessary that you get the correct
WHAT IF version. Otherwise you can/will run into problems with some of the built-in functions. Mail Vriend@CMBI.ru.nl if you experience WHAT IF/WWW interface problems.
WARNING. WHAT IF uses DSSP for secondary structure determinations. Please see the WHAT IF writeup for DSSP installation.


The WHAT IF WWW interface was originally written by Roland Krause, and has since entered an eternal cycle of reinstallations, upgrades and bugfixing, which were originally done by Jens Erik Nielsen, around 2006 Maarten Hekkelman took over from Jens.

Questions and suggestions should be addressed to Gert Vriend: Vriend@CMBI.ru.nl.

G.V. Last updated Oct 1 2007.