wiki:Software/VMD

!!! WORK IN PROGRESS !!!
Last Update 04.2017, Authors: Jens Henrik Göbbert, ...

VMD - Visual Molecular Dynamics

VMD is free, open-source software for modeling, visualization, and analysis of biological systems such as proteins, nucleic acids, lipid bilayer assemblies, etc.

  • VMD may be used to view more general molecules, as VMD can read standard Protein Data Bank (PDB) files and display the contained structure.
  • VMD provides a wide variety of methods for rendering and coloring a molecule: simple points and lines, CPK spheres and cylinders, licorice bonds, backbone tubes and ribbons, cartoon drawings, and others.
  • VMD can be used to animate and analyze the trajectory of a molecular dynamics (MD) simulation.
  • VMD can act as a graphical front end for an external MD program by displaying and animating a molecule undergoing simulation on a remote computer.

Prebuild on JURECA

VMD is prebuild on JURECA.
Please use the graphical login to JURECA (more infos) to use VMD.

  • You can find a VMD icon on the VNC Remote Desktop.
  • Alternatively run module spider VMD on JURECA to check how to load the VMD module.

Build

If you still want to build your own VMD:

All library and include paths are defined inside VMD's configure script (this is no autoconf configure, but a VMD specific perl script).
The configure script creates a Makefile in the src directory.
This generated Makefile has to be to compile a VMD executable from the source code.

You find the needed modifications of the configure script for JURECA HERE.

  • VMD was build on JURECA using EasyBuild similar to the following script:
    #!/bin/sh
    
    VMD_VERSION=1.9.3
    
    module --force purge
    
    # create pv_compile
    mkdir -p vmd_compile/
    cd vmd_compile
    
    if true; then # disable/enable unpack+patch
      # unpack source
      cp ../vmd-${VMD_VERSION}.src.tar.gz .
      tar -xzf vmd-${VMD_VERSION}.src.tar.gz
    
      # patch VMD
      cp ../vmd-1.9.3_configure.patch .
      patch vmd-1.9.3/configure -i vmd-1.9.3_configure.patch
    fi
    
    # load environment
    BUILDDIR=$(pwd)
    INSTALLDIR=$(pwd)/install
    
    module load Stages/Devel-2017a
    module load GCCcore/.5.4.0
    module load Intel
    module load ParaStationMPI
    module load CUDA
    
    module load X11/20170129
    module load Tk/.8.6.6
    module load FLTK/.1.3.4
    module load libGLU/.9.0.0
    
    module load libpng/.1.6.28
    module load zlib/.1.2.11
    
    module load OSPRay/1.2.1
    module load tbb/2017.4.174
    
    module load OptiX/4.0.2
    
    module load nvidia/.driver
    
    ########## BUILD PLUGINS 
    
    # for vtfplugin, webpdbplugin
    module load Tcl/.8.6.6
    export TCLINC=-I$EBROOTTCL/include
    export TCLLIB=-L$EBROOTTCL/lib
    export TCLLDFLAGS=-ltcl
    
    # for reading/writing NetCDF format files
    module load netCDF/4.4.1.1
    export NETCDFINC=-I$EBROOTNETCDF/include
    export NETCDFLIB=-L$EBROOTNETCDF/lib 
    export NETCDFLDFLAGS=-lnetcdf
    
    # for hoomd plugin
    module load expat/.2.2.0
    export EXPATINC=-I$EBROOTEXPAT/include
    export EXPATLIB=-L$EBROOTEXPAT/lib64
    export EXPATLDFLAGS=-lexpat
    
    # build plugins
    mkdir -p $BUILDDIR/vmd-$VMD_VERSION/plugins
    export PLUGINDIR=$BUILDDIR/vmd-$VMD_VERSION/plugins
    
    if true; then # disable/enable build plugins
      cd $BUILDDIR/plugins
      make clean
      make LINUXAMD64 TCLINC=$TCLINC TCLLIB=$TCLLIB NETCDFINC=$NETCDFINC NETCDFLIB=$NETCDFLIB EXPATINC=$EXPATINC EXPATLIB=$EXPATLIB
      make distrib
    fi
    
    ########## BUILD 3RD PARTY
    # http://www.ks.uiuc.edu/Research/vmd/doxygen/extprogs.html
    if true; then # disable/enable 3rd party
    
      # build surf
      cd $BUILDDIR/vmd-$VMD_VERSION/lib/surf
      tar -xzf surf.tar.Z 
      sed -i '/^# DO NOT DELETE THIS LINE/,+100 s/^/#/' Makefile
      make
    
      # build stride
      cd $BUILDDIR/vmd-$VMD_VERSION/lib/stride
      wget ftp://ftp.ebi.ac.uk/pub/software/unix/stride/src/stride.tar.gz
      tar -xzf stride.tar.gz
      sed -i 's/^#define MAX_AT_IN_RES.*/#define MAX_AT_IN_RES 75/' stride.h
      sed -i 's/^  return(SUCCESS);.*/  return(0);/' stride.c
      make
    
      # build tachyon
      cd $BUILDDIR/vmd-$VMD_VERSION/lib/tachyon
      wget http://jedi.ks.uiuc.edu/~johns/raytracer/files/0.99b6/tachyon-0.99b6.tar.gz
      tar -xzf tachyon-0.99b6.tar.gz
      cd tachyon/unix
      sed -i 's#^LINUX_GLX_INCS.*#LINUX_GLX_INCS = -I$(EBROOTX11)/include#' Make-opengl
      sed -i 's#^LINUX_GLX_LIBS.*#LINUX_GLX_LIBS = -L$(EBROOTX11)/lib -L$(NVIDIALIBDIR) -lGL -lX11#' Make-opengl
      make linux-64-thr-ogl
      cd $BUILDDIR/vmd-$VMD_VERSION/lib/tachyon
      mkdir lib_LINUXAMD64
      cp tachyon/compile/linux-64-thr-ogl/libtachyon.a lib_LINUXAMD64/
      mkdir include
      cp tachyon/src/*.h include/
    
    fi
    
    ########## BUILD VMD
    export VMDINSTALLBINDIR=$INSTALLDIR/bin
    export VMDINSTALLLIBRARYDIR=$INSTALLDIR/lib
    
    # For python support
    module load Python/2.7.13
    export PYTHON_INCLUDE_DIR=$EBROOTPYTHON/include/python2.7
    export PYTHON_LIBRARY_DIR=$EBROOTPYTHON/lib/python2.7
    
    module load SciPy-Stack/2017a-Python-2.7.13
    export NUMPY_INCLUDE_DIR=$EBROOTSCIPYMINSTACK/lib/python2.7/site-packages/numpy-1.12.0-py2.7-linux-x86_64.egg/numpy/core/include
    export NUMPY_LIBRARY_DIR=$EBROOTSCIPYMINSTACK/lib/python2.7/site-packages/numpy-1.12.0-py2.7-linux-x86_64.egg/numpy/core/lib
    
    # For tcl support, yes, in addition to above variables
    export TCL_INCLUDE_DIR=$EBROOTTCL/include
    export TCL_LIBRARY_DIR=$EBROOTTCL/lib
    
    if true; then # disable/enable build plugins
      cd $BUILDDIR/vmd-$VMD_VERSION
       ./configure LINUXAMD64 NOSILENT ICC OPENGL OPENGLPBUFFER FLTK TK TCL PTHREADS NETCDF PYTHON NUMPY XINPUT XINERAMA LIBOSPRAY LIBOPTIX CUDA IMD LIBTACHYON
       # more:  COLVARS VRPN LIBSBALL ACTC FREEVR
      cd ./src
      make
      make install
    fi
    
Last modified 7 years ago Last modified on 04/20/17 11:28:58

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.