''' !!! WORK IN PROGRESS !!! '''\\ Last Update 04.2017, Authors: Jens Henrik Göbbert, ... = VMD - Visual Molecular Dynamics [[PageOutline]] '''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. * [http://www.ks.uiuc.edu/Research/vmd/ VMD (Visual Molecular Dynamics)] == Prebuild on JURECA == VMD is prebuild on JURECA. \\ Please use the graphical login to JURECA ([wiki:vnc3d more infos]) to use VMD. * You can find a VMD icon on the [wiki:vnc3d/strudel 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: * General build instructions can be found here: * http://www.ks.uiuc.edu/Research/vmd/doxygen/compiling.html#compiling * http://www.ks.uiuc.edu/Research/vmd/doxygen/configure.html#configure 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 [attachment:vmd-1.9.3_configure.patch HERE]. * VMD was build on JURECA using !EasyBuild similar to the following script: {{{ #!sh #!/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 }}}