README file for VMD 1.9

What is VMD?            See also
  VMD is designed for the visualization and analysis of biological
systems such as proteins, nucleic acids, lipid bilayer assemblies,
etc.  It 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 molecule.  VMD can be used to animate and analyze the trajectory 
of molecular dynamics (MD) simulations, and can interactively manipulate
molecules being simulated on remote computers (Interactive MD).

VMD has many features, which include:
  o No limit on the number of molecules, atoms, residues or
    number of trajectory frames, except available memory.

  o Many molecular and volumetric rendering and coloring methods.

  o Extensive atom selection language with boolean and algebraic operators, 
    regular expressions, distance based selections, and more.

  o Extensive graphical and text interfaces to Tcl, Tk, and Python 
    to provide powerful scripting and analysis capabilities.

  o High-quality on-screen rendering using OpenGL programmable shading on
    advanced graphics accelerators.

  o Stereoscopic display with shutter glasses, autostereoscopic flat panels,
    anaglyph stereo glasses, and side-by-side stereo viewing.

  o 3-D interactive control through the use of joysticks, Spaceballs,
    haptic devices and other advanced input devices, with support for
    Virtual Reality Peripheral Network (VRPN).

  o An extensible plugin-based file loading system with support for
    popular formats such as AMBER, CHARMM, Gromacs, NAMD, PDB, X-PLOR,
    and many others, as well as automatic conversion through Babel. 

  o Export displayed scene to external rendering formats including POV-Ray, 
    Raster3D, RenderMan, Gelato, Tachyon, Wavefront, as well 
    as STL or VRML2 files for 3-D printing.

  o Integration of multiple sequence alignment and evolutionary 
    analysis tools, in the form of the Multiseq plugin and its
    related toolset.

  o Perform interactive molecular dynamics (IMD) simulations using 
    NAMD, Protomol, or other programs as simulation back-ends.    

  o Integration with the program NAMD, a fast, parallel, and scalable
    molecular dynamics program developed in conjunction with VMD.
    See the NAMD page for details:

  o Integration with the BioCoRE collaborative research environment.
    VMD can "publish" molecular graphics scripts to BioCoRE, so that
    collaborators can work together over the internet.
    See the BioCoRE page for details:

What's new in VMD 1.9?
  User documentation updates
    o Minor improvements and corrections to the VMD User's Guide,
      added documentation for new commands and environment variables.

  Performance Improvements
    o The "Orbital" representation can now utilize multiple GPUs to 
      greatly accelerate rendering.
    o New CUDA-based multi-GPU radial distribution function calculation,
      with the "measure rdf" command.
    o Added initial support for OpenCL accelerated molecular orbital
      rendering (source-based distributions of VMD).
    o Added initial support for OpenCL accelerated electrostatic potential
      calculations for "volmap coulomb" (source-based distributions of VMD).

  General Improvements
    o Added "tooltip" mouse-over help and tips to all of the VMD 
      graphical user interface controls.
    o Global label properties are now located in a new tab within 
      the labels window.

  New rendering and display features
    o Updated default representation resolutions for modern era GPUs,
      depth cueing is now enabled by default on platforms that support it.
    o New and updated stereoscopic display support:
      The left and right eyes can now be swapped in any stereo mode,
      so the old "Reverse" mode names have now been eliminated.
      Anaglyph stereo no longer requires a GPU with support for
      quad-buffered stereo.
      Added support for column-interleaved and checkerboard stereo modes.
      Reorganized stereo controls in the VMD display menu.
    o The "display resize" and "display reposition" commands are now
      implemented on all platforms.
    o Increased interactive molecular dynamics force arrow scaling 
      constant by a factor of 3.
    o Added a new angle-modulated transparency material property that 
      works similarly to the way Raster3D renders transparent surfaces.
      The angle-modulated material property is supported in the 
      VMD OpenGL Window, and in Raster3D and Tachyon renderings.
    o Added new "thickness" controls for atom label text and for
      user-defined text drawn using the "graphics" or "draw" commands.
      Added code to draw points at font stroke vector endpoints, to 
      prevent "cracks" from appearing when larger line widths are used.
    o VMD atom labels and text are now exported to most scene formats
      including Gelato, Raster3D, POV-Ray, RenderMan, Tachyon,
      VRML2/VRML97, and X3D.
    o Several of the scene file formats exported by VMD now take advantage 
      of more efficient triangle mesh storage methods that reduce 
      file sizes to less than half of their previous size,
      and in some cases reduce file sizes by a factor of ten.
      The scene file formats that benefit from these improvements include
      RenderMan .rib, VRML2/VRML97 .wrl, Wavefront .obj files, and
      X3D .x3d files.
    o The format of VMD scenes exported to the RenderMan .RIB format 
      has been updated for the latest versions of PIXAR Photorealistic
      RenderMan, and have also been tested with Aqsis, an open source
      RenderMan compatible renderer.
    o Added support for the XML-encoded form of X3D files (.x3d) which
      are a modernized form of VRML2/VRML97 scenes.
      Added support for gradient backgrounds to VRML2/VRML97 and X3D scenes
      using an infinite sky sphere.  Both formats now export point and 
      line geometry as well as solid geometry.
    o POV-Ray renderings now support gradient backgrounds for perspective
      views using the POV-Ray sky sphere feature.  VMD scenes using
      orthographic views or those containing depth cueing will not 
      show the background gradient due to limitations in POV-Ray itself.
    o Tachyon renderings now support gradient backgrounds for both
      perspective and orthographic views, and have been
      updated to more faithfully implement all of the VMD depth cueing modes.
    o Added export of representation group hiearchy and 
      material properties to Wavefront .obj files.
      Added export of material properties to a matching Wavefront .mtl file
      by default.  Corrected the polygon winding order for spheres 
      and cylinders, needed for correct two-sided lighting in Maya.   

  New and improved analysis commands
    o New "measure rdf" command provides fast GPU-accelerated 
      calculation of radial distribution functions.
    o New "measure cluster" command implements a cluster analysis
      using the quality threshold (OT) algorithm. The implementation is
      multi-threaded and optimized for determining a small number of the
      largest clusters for very long trajectories.
    o The "volmap coulombmsm" command now supports both periodic
      and non-periodic simulation cells (both are also GPU-accelerated).
    o New "parallel" commands enable MPI-based compilations of VMD to 
      perform batch mode parallel analysis jobs on distributed memory
      clusters and supercomputers.  The "parallel" commands also exist
      within non-MPI versions of VMD, so that any analysis script can
      be written to automatically adapt to parallel execution.
      Parallel collective operations (allgather, allreduce, barrier)
      make it possible for parallel analysis jobs to process results without
      using hand-written message passing code and without exchanging data
      through the filesystem.

  Other features and improvements
    o Depth cueing is now enabled by default on platforms that support it.
    o The Save Coordinates menu default to the PDB file type.
    o The Label menu accepts several new format specifiers to add the
      atom coordinates, molecule name or index, trajectory frame, 
      trajectory timestep physical time, user-applied force magnitude,
      and conformation identifier.
    o The VMD "stage" object can now be made arbitrarily large or small
      by the user, and can be repositioned by the Mouse in "move molecule" 
      mode, in the same way that the Axes can be.  The Stage is now drawn
      with lighting enabled, and will pick up shadows and ambient occlusion
      lighting, making it much useful as a backdrop for high quality 
      molecular renderings.
    o Enabled a much broader range of keycodes in the OpenGL graphics window,
      allowing VMD user-defined hotkeys to be associated with the 
      12 function keys, keypad arrows, page-up/down, home, end, insert, 
      and delete.
    o Enable mirror specular reflections for Tachyon renderings when 
      the environment variable VMDTACHYONMIRRORSPECULAR is set. 
      Implemented a user-definable threshold for enabling mirror reflection 
      in Tachyon renderings when the Phong exponent goes beyond a specified
      limit.  The VMDTACHYONPHONGSPECTHRESH variable can be set to 
      choose a different threshold for enabling mirror reflection. 
    o Added VMDCUDADEVICEMASK environment variable to give the user 
      explicit control over the subset of GPUs that VMD is allowed to use. 
    o Added VMDNOCUDA environment variable to allow the user to prevent
      VMD from using GPUs for non-rendering purposes. 
    o If .vmdsensors file VRPN device names contains @tcp, we enforce
      tcp-only connections which can be easily punched through firewalls
      and tunneled with ssh.
    o Changed the default behavior of X-Windows based VMD builds to 
      automatically run VMD in text mode if the DISPLAY environment
      variable is unset.
    o Updated VMD to support Tcl 8.6 API changes.
    o Updated VMD to support FLTK 1.1.10
    o Updated VMD to support CUDA 3.x, and 4.0

  New and improved plugins and extensions
    o autoimd: Added support for the new chirality and cispeptide plugins.
    o autoionize: Added ion placement modes to neutralize the system or set
      a salt concentration. Added support for all ions in the CHARMM force
      field. Automatically set segname of ions to be placed to avoid
      duplicated segments.
    o autopsf: Corrected the behaviour of "reset autopsf".
      Removed the ability to use -nofailedguess.        
    o chirality: New plugin for identifying, visualizing, fixing, and
      preventing chirality errors in molecular dynamics simulations.
    o cispeptide: New plugin for identifying, visualizing, fixing, and
      preventing cis peptide bonds in molecular dynamics simulations.
    o clonerep: bug fix enabling use of atom selections containing 
      perl regular expressions.
    o colorscalebar: Maintains current views of all molecules when the scale
      bar is added.  New GUI option to select molecule and representation to
      use with the autoscale option.
    o gofrgui: add checkbox to gofr GUI to allow selecting the CUDA version.
    o hbonds: added warning about overlapping selections in measure hbonds.
    o idatm: modified molefacure and runante to be able to run geometry 
      optimisations using sqm.
    o ilstools: Bug fix for package require ordering problem, misc graphical
      interface improvements.
    o mdffplugin: New plugin that implements the Molecular Dynamics Flexible 
      Fitting (MDFF) simulation preparation and analysis tools for docking
      all-atom structures with Cryo-EM density maps.
    o membrane: added the option to build CHARMM36 bilayers.
    o molefacture: Update molefacture to use the new ambertools version
      of antechamber.  Added a button to the main molefacture UI that 
      allows the user to set the segname, resname and chain for the 
      current molecule.  Separated the commands for assigning atom-types 
      and bond orders with those that assign charges and calculate 
      optimised geometries.  Molefacture tries to find antechamber 
      and sqm upon loading and disables menu options that require 
      them if they aren't found.  Added build menu options to run 
      geometry optimisations with SQM (requires modified SQM).
      Added build menu options to calculate and assign charges using
      antechamber+SQM (requires modified sqm & antechamber).
      Added a settings menu option to specify which atomtype definition
      file to use for atom-typing (requires modified antechamber).
      Modified the .top writing function so that the user is notified
      that duplicate atom names are present and is asked whether she wants
      molefacture to automatically fix this.
      Added charmmified OPLS atom types and typing rules.
      The total charge is now modifiable with a new set total charge button.
      This makes geometry optimisations possible when molefacture 
      incorrectly guesses the formal charges (due to fractional bond orders).
      New command in file menu to write psf and pdb files for the molecule
      (only generates the correct impropers if OPLS atom types are assigned).
      If you provide a parameter file, this command can also search it 
      to produce a smaller file containing only the required parameters 
      for the molecule. This is required for OPLS to reduce the 
      20MB parameter file to something manageable.
    o multiplot: Applied Toni Giorgino's patch to allow the user to export
      the dataset to simple ASCII files, either as a sequence of datasets,
      or in a "wide" matrix format (if the X vectors are the same).
    o multiseq: Support for the multiple sequence alignment tool MAFFT
      which offers fast multiple alignment methods and can be used anywhere
      within MultiSeq that clustalw is used.  The desired title shown 
      for a sequence can now be changed from simply 'Sequence Name' 
      to a variety of options including Scientific Name, Common Name, 
      Domain of Life, and many others.
      RMSD and Q calculations work for RNA as well as DNA.
      Numerous memory footprint reductions and speed improvements
      particularly beneficial for loading large numbers (e.g. 100,000)
      of sequences.  Lines can now be chosen as a rep type for a given 
      sequence or for highlighting.  MultiSeq can load dot-bracket 
      notation files for a given sequence and they can be viewed 
      in the main window.
    o namdgui: Fixed menubutton behavior for MacOS X.
    o nanotube: Automatically assign bond types and make certain
      that bonds are written out. Now uses topotools plugin 
      instead of writing temporary files.  Bug fixes and strict 
      parameter checking.
      Merged the graphene plugin with nanotube plugin.
      Added support for building full topology files through topotools.
    o pbctools: New compound options for 'pbc join': fragment, connected.
      Alternate joining algorithm based on bondlists. slower, but
      can handle arbitrarily long molecules.  The 'pbc box' command
      now allows the drawing material to be set. Several bug fixes.
    o plumed: Added PLUMED-based collective variable analysis plugin
      contributed by Toni Giorgino.
    o psfgen: Added "psfcontext mixedcase" and "psfcontext allcaps" 
      commands to allow files to be read in a case-preserving manner.
      Fixed bug in writing patches to psf file after deleting atoms.
    o qmtool: Fixed menubutton behavior for MacOS X.
    o readcharmmtop: New CHARMM topology for lipids.
    o readcharmmpar: New CHARMM topology for lipids.
    o rnaview: Now ships with external program RNAView that calculates base
      pairing information from nucleic acid structures (used by the
      ssrestraints plugin).
      Applied Axel's patch to correct output formatting.
    o runante: Scale CM1 charges by 1.14 (Jorgensen's recommendation)
      Checks for antechamber using exectool and with the AMBERHOME 
      environment variable. Fixed the AM1BCC charge calculation and
      modified exec commands to catch the output from antechamber.
    o solvate: Fixed a bug that could lead to incomplete overage of the solute.
    o ssrestraints: Fixed parsing of -hbonds option. Added support for Amber
      RNA residue names.
    o symmetrytool: Fixed menubutton behavior for MacOS X.
    o timeline: Much faster startup, especially improved for large
      trajectories.  Improved printing outputs complete display
      (axes, threshold graphs, labels, highlight details, 
      optional cursor highlight) to encapsulated Postscript (.eps) files.    
      Added colorbar scale, coloring range autoscaling, and choice 
      between grayscale and rainbow color scales.  Additional built-in
      analysis (RMSF, RMSD, SASA) methods, and analysis parameter entry
      from GUI.  Added live threshold count (updates as selection 
      highlight moves).  New mouse control scheme for easier    
      use with trackpads and 2-button mice.  Added proper handlng 
      of molecule segment names. Option to restrict analysis/display
      to part of a molecule using selection string.  Improvements to 
      data file format.  Can handle data files with more data frames
      than loaded trajectory frames (useful for long trajectories).
      Various improvements to GUI, including timebar and 3D structure 
    o topotools: many bugfixes from version 1.0. Determination of angle, 
      dihedral and (some) improper definitions (with adjustable tolerance)
      from bond topology data.  Heuristic determination of atom 
      properties based on other information (e.g. element from mass, 
      mass from element, element from name, radius from element, etc).
      Support for reading and writing of xmol/xyz style trajectories with a
      varying number of atoms (when bonds are not displayed).
      Support for writing synthetic gromacs topology files for
      use with gromacs analysis tools for non-gromacs trajectories.
      Support for reading data files containing non-orthogonal cells.
      Stricter checking for CGCMM extensions to the LAMMPS data file format.
      Encode the intended atom_style setting in data file header.
      Parse and compare - if present - against requested atom style on 
      reading. - write commented out Coeff sections to data files to 
      provide hints on which coefficients need to be set.
    o vdna: Updated with Tom Bishop's latest version.
      Fixed uninitialized data preventing the "plot parameters" button
      from being used before drawing the DNA.
    o viewchangerender: Plugin version of the popular VMD script for
      making movies that contain complex transitions.  The plugin
      includes both text and graphical interfaces, and can be used 
      in concert with the vmdmovie plugin.
    o viewmaster: Updated handling of material properties for new features.
    o vmddebug: New plugin and its first submodule, atomselect, for 
      helping script developers catch atom selection "leaks" and similar bugs.
    o vmdmovie: Added support for both MPEG-1 and MPEG-2 formats using 
      mencoder.  Added support for current ffmpeg 0.5.x encoder on Unix 
      platforms. Added 4 new FFMPEG encoding targets including MPEG-1, 
      MPEG-2, and both NTSC and PAL forms of MPEG-2 DVD profiles.
      Fixed ppmtompeg frame counters to handle movie sequences with 
      up to 100000 frames.
    o volutil: New plugin for processing Cryo-EM volumetric density map files,
      used by the MDFF plugin.

  New and improved file import and export
    o Abinit plugin: Added Rob Lahaye's VMD plugin for reading ABINIT files.
    o CAR plugin: Fixed potential memory corruption on .car files with 
      more than 9 molecules.
    o AMBER CRD plugin: corrected formatting of box dimensions when writing
      CRD files from VMD.
    o CHARMM COR plugin: prevent uninitialized variables on some platforms.
    o DCD plugin: Detect and works around bugs in DCD files written by
      older versions of Vega ZZ which generated incorrectly formatted 
      DCD trajectories.
    o DMS plugin: New plugin for reading DMS files, provided by DESRES.
    o DTR plugin: Misc bug fixes, latest version provided by DESRES.
    o HOOMD plugin: Added support for new acceleration field.
      The HOOMD plugin is now compiled by default on Linux and MacOS X.
    o LAMMPS plugin: allow remapping of fields via an environment variable.
      Added read support for triclinic simulation cells.
      Improved precision of PBC box angle computation.
      Improved support for reading of atoms sorted by their atom id. 
      Added support for writing trajectory files of non-orthogonal cells.
    o MAEFF plugin: Latest version of Maestro plugin from DESRES.
      This version adds support for Smiles strings.
    o MDF plugin: handle MDF files containing more than 9 molecules, catch
      and gracefully handle any problems with bond parsing.
    o Molden plugin: Fixed memory leak, and improved documentation.
      Enable splitting SP-shells into one S- and one P-shell.
    o PSF plugin: Added preliminary parsing of CHARMM PSF files constructed
      for the Drude polarizable forcefield.  Gracefully handle PSF files 
      that contain missing or incorrect bond information.
    o PQR plugin: now handles HETATM records correctly, and gracefully handles
      some varations in file structure

  Bug Fixes
    o Fixed a MacOS X CUDA library redistribution issue that was preventing
      many MacOS X users from being able to use CUDA if they didn't have
      a driver version identical to that used in the VMD compilation.
    o The latest version 1.1.10 of the FLTK GUI toolkit used by VMD fixes
      a number of GUI bugs that previously affected the MacOS X platform.
    o Fixed "measure dipole" when the "-masscenter" flag is used.
      Was dividing by total mass times the number of selected atoms,
      but should have only been dividing by total mass.
    o The Python global interpreter lock (GIL) is held when callbacks 
      are invoked to prevent problems with Tk events come in.
    o Fixed incorrect material property tags for Python materials interface.
    o Fixed a potential memory corruption problem in "within" selections
      on systems with fewer atoms than CPU cores.
    o Fixed the polygon winding order for two-radius cones for polygonal
    o Updated atom picking logic to take into account clipping of 
      displayed geometry (and thus associated pick points) against both 
      the view frustum and the active set of user-defined clipping planes.
    o Fixed a case where wireframe Surf renderings were 
      leaving the linestyle and line width unspecified. 
    o Fixed "sticky" coloring behavior of the "Solvent" representation
      that would result in the displayed color not tracking the GUI settings
      in certain cases
    o Catch NULL pointers, which can (very rarely) be returned by 
      OpenGL drivers if certain types of catastrophic errors occur. 
    o Fix memory leak when defining angles, dihedrals and impropers via '
      molinfo set angles'.
    o Excluded old Cygwin-based builds of the "intersurf" plugin 
      that encounter problems with recent Cygwin installations.
    o VMD scenes with depth cueing enabled are now correctly exported or
      rendered even when running in -dispdev text mode with no OpenGL display.

Known bugs
  Visit the VMD page for information on known bugs, workarounds, and fixes:

Cost and Availability
  VMD is produced by the The Theoretical and Computational Biophysics Group,
an NIH Resource for Macromolecular Modeling and Bioinformatics, that
develops and distributes free, effective tools (with source code) for 
molecular dynamics studies in structural biology.  For more information, see:

The VMD project is funded by the National Institutes of Health
(grant number P41-RR005969).

Disclaimer and Copyright
  VMD is Copyright (c) 1995-2011 the Board of Trustees of the 
University of Illinois and others.  The terms for using, copying, 
modifying, and distributing VMD are specified in the file LICENSE.

The authors request that any published work which utilizes VMD 
includes a reference to the VMD web page:

and/or the following reference:
  Humphrey, W., Dalke, A. and Schulten, K., "VMD - Visual Molecular
  Dynamics", J. Molec. Graphics, 1996, vol. 14, pp. 33-38.

  The VMD Installation Guide, User's Guide, and Programmer's Guide 
are available which describe how to install, use, and modify VMD.  
All three guides are available from the main web site.
Online help may be accessed via the "Help" menu in the main VMD window 
or by typing help in the VMD command window.  This will bring up the VMD
quick help page in a browser, and will lead you to several other VMD help 
files and manuals. 

Quick Installation Instructions
Detailed instructions for compiling VMD from source code
can be found in the programmer's guide.

The Windows version of VMD is distributed as a self-extracting 
archive, and should be entirely self explanatory.  

The native MacOS X version of VMD is packaged as a disk image and is
extracted by opening the disk image, and dragging the "VMD" application
contained inside into an appropriate directory.

For quick installation of the binary distribution for Unix do the following:
  1) Uncompress and untar the distribution into a working directory.
     In this working directory, there are several subdirectories such 
     as bin, src, doc, data, as well as this README and a configure script.  
     Change to this working directory after the unpacking is complete.

  2) Edit the file 'configure'; change the values for
     the $install_library_dir and $install_bin_dir to a directory in 
     which vmd data files and executables should be installed, be sure
     that you installing into a clean target directory and not overwriting
     an existing version of VMD (which would otherwise give problems):

     $install_bin_dir is the location of the startup script 'vmd'.  
     It should be located in the path of users interested in running VMD.

     $install_library_dir is the location of all other VMD files.  
     This included the binary and helper scripts.  It should not be 
     in the path.

  3) A Makefile must be generated based on these configuration variables
     by running "./configure". 

  4) After configuration is complete, cd to the src directory,
     and type "make install".  This will install VMD in the two
     directories listed above.  Note that running "make install" 
     twice will print error messages because you are attempting to 
     overwrite some read-only files.  Similarly, if you have incorrectly
     specified the target installation directories or attempt to overwrite
     an existing VMD installation, you will get error messages.

  5) When installed, type 'vmd' to start (make sure the
     $install_bin_dir directory is in your path).

Required Libraries
  VMD requires several libraries and programs for various of its functions.
In particular, it uses GL or OpenGL based 3-D rendering, and will require
that you have the appropriate GL or OpenGL libraries on your system.  
Other programs are required by some of VMD's optional features.
Please visit the VMD web site for more information:

For problems, questions, or suggestions, send e-mail to ''.
  VMD Development Team
  Theoretical and Computational Biophysics Group
  University of Illinois and Beckman Institute
  405 N. Matthews
  Urbana, IL  61801

README for VMD; last modified March 14, 2011 by John E. Stone