VinaLC: Parallel Molecular Docking Program

Biochemical and Biophysical Systems Group
VinaLC version: 1.1.2

Software Installation
Software Installation

1. VinaLC Installation Requirements:

1.1. Supported Operating systems
  • Linux
  • IBM BG/Q
  • Mac OSX
1.2. Software Requirements
  • gcc
  • make
  • aclocal/automake/autoconf

2. Dependent Libraries

2.1. The program relies on the user having the following installed.
  • zlib (usually included in the system. Sequoia currently has no zlib.)
2.2. The following are required to generate the HTML documentation.

3. Environment Variables


      
Check the environment variables setting on your computer to make sure also required executables are in the PATH and library in the LD_LIBRARY_PATH
setenv PATH, LD_LIBRARY_PATH etc

4. VinaLC Configuration, Compilation and Installation

4.1. Install Boost library

For most of computer operation systems, installation of Boost library is straight forward. Please follow the steps in the Boost document.
./bootstrap.sh --prefix=path/to/installation/prefix
./b2 install 
Beside the standard installation, you can also turn on the Boost MPI binding. Currently the program uses MPI library directly instead of Boost MPI. To install Boost MPI, copy tools/build/v2/user-config.jam to your home directory. In the file specify the mpi compiler you want to use:
using mpi : /usr/local/tools/mvapich-gnu/bin/mpicxx ; 
Boost library on Sequoia ''seq" (BG/Q): IBM has customized version boost library. However, they has not been installed on seq yet. Ryan Day from LC-support make a customized version of Boost. It can be found at gapps space:
/usr/gapps/medchem/bgq/softwares/boost_bgq_new.tar.gz
Untar the file boost_bgq_new.tar.gz :
cd ~/boost_bgq/boost_1_48_0
Note that ~/boost_bgq/boost_1_48_0/boost/integer_traits.hpp has been edited in order to get rid of compiler warning that WCHAR_MIN had wrapped. Change WCHAR_MIN on line 105 of integer_traits.hpp to 0
./bootstrap.sh --prefix=/usr/gapps/medchem/bgq/contrib/ --with-toolset=vacpp --with-libraries=system,thread,serialization,filesystem,program_options,mpi >& boostrap1.log
In here boost_1_48_0/tools/build/v2/tools/bgq.jam and boost_1_48_0/tools/build/v2/user-config.jam have been edit to point at the appropriate toolsets and compiler wrappers
./b2 --build-type=complete  toolset=bgq stage >& b2.stage.log
./b2 --build-type=complete  toolset=bgq install >& b2.install.log                                                                         

4.2. MPI library

Most supercomputers come with their own tuned MPI libraries. For the HPC machines at LLNL, please check the document at

/usr/local/docs
"mpi.basics" tells you which pre-installed MPI libraries are available on the machines. "dotkit.quickstart" tell you how to switch between different versions.

If you want to install your own MPI library, there are several distribution available: mpich, openmpi, LAM, etc.

4.3. Install Vina LC

Download the tarball of VinaLC. Unzip
tar -zxvf VinaLC.tar.gz
cd VinaLC 
In the VinaLC home directory, there is build script named "build". Inside the file you have to set your Boost and MPI path. For example
./makeit --build --boost=/path/to/boost/installation/directory --mpi=/path/to/mpi/installation/directory
This will configure the program and subsequently compile the executable. The executable, vinalc, can be found under the apps subdirectory.

To find the path of MPI on LC HPC machine, for example, if you use mpig++,
$ mpig++ -show 

Build Line:
g++ -Wl,-rpath,/usr/local/tools/mvapich-gnu/lib/shared -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 
-DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1
-I/usr/local/tools/mvapich-gnu/include -L/usr/local/tools/mvapich-gnu/lib/shared
-L/usr/lib64 -L/usr/local/tools/mvapich-gnu/lib -lmpich

Thus your MPI installation directory is:

/usr/local/tools/mvapich-gnu/
During the compilation, the configuration information will be printed out as following. Please make sure the setting is right.

------------------------------------------------------------------------------
VinaLC-1.1.2 package configuration:
------------------------------------------------------------------------------

Directories:
- prefix ....... : /usr/local
- docdir ....... : NONE/doc
- exec_prefix .. : ${prefix}
- includedir ... : ${prefix}/include
- libdir ....... : ${exec_prefix}/lib

Switches:
- debug ........ : Off
- html ......... : no

Documentation tools:
- Doxygen ...... : yes

Testing tools:
- Diff ......... :

External libs:
- BOOST ........ : /usr/gapps/medchem/contrib/boost
- MPI .......... : /usr/local/tools/mvapich-gnu/

Compiler/linker flags/libs/defs:
- CXX .......... : g++
- CXXFLAGS ..... : -DUSE_MPI -O2 -DNDEBUG -Wall -fPIC
- C99 OK ....... :
- HOST ......... : x86_64-unknown-linux-gnu

------------------------------------------------------------------------------
Now type 'make && make install' to build and install VinaLC-1.1.2 package
------------------------------------------------------------------------------