Installation of Wit!P Source Code Package



Prerequisites:


for Linux: Fortran 77 and C compilers, OpenGL and X11/Motif header files and libraries, GNU Readline package (optional).

for Windows: cygwin package (http://sources.redhat.com/cygwin/), GNU Readline (optional), Fortran 77 and C compilers (eg. the compilers from the cygwin package). GLUT library.

for OS-X: gcc and gfortran, GNU Readline library (optional), X11 server and libraries

Installation:


A) untar the source package into an empty directory:
$ mkdir wnpsrc
$ cd wnpsrc
$ tar -zxvf ../wnpexp-yyyymmdd.tgz

B) set up of environment variables for 'make':
$ make newsetup
The makefiles in the Wit!P source tree use the follwing environment variables:

WNP_MK       : target system (irix or linux or cygwin)
RELROOT      : target directory for executables (the actual executable will be in $RELROOT/bin)
WNP_FC        : compiler to use to compile Fortran code (g77, gfortran)
WNP_ARCH  : target architecture (-m64 for 64 bit, -m32 for 32 bit)

For convenience, it is recommened to put the definitions of the environment variables into the file 'setup' in 'wnpsrc', and source this file before running make. The command 'make newsetup' (in 'wnpsrc') generates such a 'setup' file. If the directory RELROOT does not exist,'make newsetup' will create an empty release tree (needed in step C).

 C) compile the lot, and release to RELROOT release tree (read the "Notes" section for deatils):

$ source setup
$ make install

This will take a while, depending on the speed of your computer. Most things should compile without warnings (exception: some routines do not use all arguments of X11 callback routines, which for some compilers may be a reason for complaint).

D) Configure some shell scripts in the Wit!P release tree:

$ make configure
CSD Root directory [  ]: /usr/prog/csd    (root directory of Cambridge Database, if installed).
Directory with TAFF parameter tables: [ /usr/prog/witnotp/ff_tables_6.1 ] ~widmerar/ff_tables_7.3
E) Running Wit!P:

The (very rudimentay) tutorial might be helpful to get you started with Wit!P.

Notes:

The Wit!P source distribution is divided into several subdirectories:

client: source code for sw_client.exe, the "core" of Wit!P,
html: (very rudimentary) documentation in HTML,
minimax: molecular mechanics program, implements Tripos, Amber, CHARMM force fields,
misc: a miscellany of several small helper programs,
ogl: source code for sw_server.exe, the OpenGL graphics server for Wit!P,
piff: a molecular mechanics program, combined with a PPP-SCF for delocalized pi-systems
sodgeom: a simple DG program, converts 2D MDL SD files to very raw 3D MDL SD files
wnp_configure: scripts, space group definition files, libraries,... needed by make configure

The source code directories (client, minimax, misc, ogl, piff, sodgeom) have target platform specific subdirectories, withe the platform specific Makefiles:

wnpsrc/.../IRIX : for Silicon Graphics IRIX (IRIX 6.5)
wnpsrc/.../Linux: for Linux systems (RH 7.3, RH 9.0, FC 10,..., SuSE 9.x)
wnpsrc/.../Windows: for MS-Windows (98, NT, XP) using Cygwin
wnpsrc/.../MinGwin: for MS-Windows with MinGW (for a Cygwin-free version)
wnpsrc/.../Altix: for SGI Altix/Linux systems (w/o graphics)
wnpsrc/.../Osx: for Macintosh OS-X

The target platform specific Makefiles work well on the systems on which the source code was developed. On other systems minor modifications may be neccessary before the source code can be compiled. These modifications should be made in the platform specific Makefile (eg. Linux/Makefile) and typically concern the definition of the location of libraries to use (LIB macro in the Makefiles).

The client/platform/Makefile files are configured to use the GNU Readline package. For license reasons, this package is not included in the Wit!P source code distribution. If you do not have Readline on you system, and if you do not want to install this "free" (GPL) package, you can change the -DUSEREADLINE to -DdontUSEREADLINE in the definition of the COMMON macro of the client/platform/Makefile files w/o serious loss of functionality (the readline routine is only used when witnotp is run w/o graphics).

For scripting it may be useful to compile Wit!P with an internal XML/RPC server based on the xmlrpc-c library (not part of the Wit!P source package). On Linux and Cygwin systems, Wit!P will automatically be copiled with the XML/RPC server if the xmlrpc-c library is installed and properly configured (c.f. wnpsrc/client/rpcFlags shell script). To disable the integration of the XML/RPC server set the 'useRPC' flag at the top of Makefile in client/platform/ to 'withoutRPC'.

If you want to compute dotted Connolly surfaces through the Wit!P interface (Wit!P> dots comoute connolly...), you will need the ms.exe (QCPE-429) program, or a program compatible with ms.exe. This program is not part of the Wit!P distribution. If you do not have ms.exe, you may order it at http://qcpe.chem.indiana.edu/. Wit!P expects to find ms.exe in its bin/directory, so you should either make a copy, or set up the appropriate soft-link.

The molecular program minimax is supplied with a Polak-Ribiere conjugate gradient minimizer with automatic restart in C (a functional equivalent to the well-known VA14 minimzer [M.J.D. Powell, Harwell Subroutine Library, 1975(?)]. Minimax also has an interface to two minimizers written by J. Nodecal, Northwestern University: a limited memory BFGS, and a subroutine implementing Fletcher-Reeves and Polak-Ribiere conjugate gradient procedures. The Wit!P source code distribution does not contain the source code for these minimizers. Since the limited memory BFGS method has significantly better convergence properties than the the VA14-like minimizer, we highly recommend to replace the lbfgs.f, cgfam.f. and cgsearch.f 'stubs' in the wnpsrc/minimax source code directory by the real subroutines from the LBFGS and CG+ packages to make these methods available to minimax (simply download, and copy the files into wnpsrc/minimax before you compile the Wit!P sources).




A.Widmer, CPC/CSG-SB