README file for VMD 1.3
-----------------------
What is VMD? See also http://www.ks.uiuc.edu/Research/vmd/
---------------------------------------------------------------------
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 a molecule: simple points and lines, CPK spheres and
cylinders, licorice bonds, backbone tubes and ribbons, and others.
VMD can be used to animate and analyze the trajectory of a molecular
dynamics (MD) simulation. In particular, 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.
The program has many features, which include:
o No limit on the number of molecules, atoms, residues or
number of animation frames, except available memory.
o Many molecular rendering and coloring methods.
o Stereo display capability.
o Extensive atom selection syntax for choosing subsets of atoms for
display (includes boolean operators, regular expressions, and more).
o Integration with the program 'Babel' which allows VMD to read many
molecular data file formats. Even without the use of Babel,
VMD can read PDB files, as well as CHARMM- and X-PLOR compatible
binary DCD files and X-PLOR compatible PSF files.
o Ability to write the current image to a file which may be
processed by a number of popular raytracing and image rendering
packages, including POV-Ray, Rayshade, Raster3D, and Radiance.
o Extensive graphical and text-based user interfaces, which use the
Tcl package to provide full scripting capabilities.
o Extensions to the Tcl language which enable researchers to write
their own routines for molecular analysis.
o Modular, extensible source code using an object-oriented design in
C++, with a Programmer's Guide describing the source code structure.
o Integration with the program NAMD, a fast, parallel, and scalable
molecular dynamics program developed in conjunction with VMD
in the Theoretical Biophysics Group at the University of Illinois.
See the NAMD WWW home page for more info:
http://www.ks.uiuc.edu/Research/namd
VMD can be used to set up and concurrently display a MD simulation
using NAMD. The two programs, along with the intermediary communcations
package (called MDComm) constitute the 'MDScope' environment.
What's new in VMD 1.3?
----------------------
o Extensive audit of VMD 1.3 documentation.
o Updates to VMD help system.
o MSVC related source changes (type cast warning fixes)
o Updated internal VMD URL for the PDB to point to the RCSB sites since
the BNL sites will apparently be closing in June 1999.
o Eliminated Tokenize code from build, no longer needed.
o Eliminated unused mouse handling code.
o Eliminated unused make targets from configure script
o Misc small fixes to command code, including "wait" command.
o Eliminated "+C" flag from POV Ray renderer command line.
o Fixes to OpenGL Display Device code for window position and size.
(this is also related to fixes required for SGI stereo extensions..)
o Rewrote sections of the tube representation code to improve the
end-to-end matchup of cylinders, and computation speed.
o Added missing cylinder cap code for Tachyon renderer output.
Changes for VMD 1.3b2
---------------------
o Eliminated some of the storage used by the MolAtom class, new code
uses about 56 bytes less storage per-atom than the old code did,
yielding a 10-15% decrease in overall memory use when viewing a
175,000 atom system with VMD.
o Revised VMD startup messages and title screen slightly.
o Updated configure script to generate new code in the 'make install'
targets of the generated makefile. VMD now installs the Announcement,
README, and LICENSE into the final distribution directory. This should
permanently fix the issue with the RPM building on linux as well.
o Added Win32 targets to 'make_distrib', and 'use', including additional
handling of ".exe" extensions and such.
o Changed default Phong exponent on Tachyon exports to 60.0 instead of
30.0, should look a bit shinier now.
o Found bug causing incorrect export of some kinds of geometry to the
file renderers. File exporters were not getting any geometry made
of DTRICOLOR primitives, they were being silently dropped. A further
difficulty is that most of the external renderers cannot handle this
kind of coloring on triangles. An initial fix is in place now, but
the ability to render this primitive nicely is higly dependent on
the external renderer. POV-Ray is an example of a renderer that is
incapable (to my knowledge) of rendering DTRICOLOR as it is meant to
be rendered. This feature could be added to Tachyon, but not at the
present time.
o More changes to Alpha compilation flags, runs better with -misalign,
although this is just a temporary step until we fix the VMD display
list code.
o Modified our local copy of Stride, and built a Windows binary of it.
o Modified our local copy of Surf, and built a Windows binary of it.
o First runnable binary built on Digital Unix using the "cxx" compiler,
successfully compiled and ran the Mesa version of VMD. The OpenGL
version compiled, but got "stuck" when it ran. Now just a few more
things to fix in the VMD display list code, and we may have something
for people to try.
o Many more fixes to DEC Alpha compilation flags (cxx based builds) due to
various problems with templates, presently using -tlocal to see if we can
get a successful build that runs.
o Added a "WIN32" configuration to the configure script for the purposes
of generating the correct config.h output, and in case we want to do builds
using the Cygwin gcc-based tools instead of MSVC.
o Successful build and run of minimal text-only VMD with MSVC 6.0 and
while sharing source tree with Unix. Still has a stdio / Ctrl-Z / EOF
bug in the text based UI however.
o Filed a bug report with GNU for flex 2.5.4a, the generated output
should protect an inclusion of unistd.h with an ifdef of some kind.
o Another round of MSVC related fixes, several of which are
specific to MSVC 6.0 (too much detail to list)
o Changed configure script for new template source filenames.
o Renamed all of the template-related ".c" files to "xyzTPL.h" in order
to permanently cure filesystem name space collisions on Windows.
This involved changes to numerous headers, RCS, etc.
Also changed default behaviour the of ifdefed includes for these
renamed files since renaming them had big effects on several platforms.
o First Merge of MSVC build directories with Unix build directories
o Upgraded MSVC project files to work for MSVC version 6.0
Changes for VMD 1.3b1
---------------------
o Upgraded VMD version of Mesa to 3.0 from 2.6
o Upgraded VMD version of Tcl/Tk/TclX to 8.0.4 from 8.0p2
o Several changes to configure script /wrt IRIX6 builds.
o Rebuilt local IRIX6 tcl/tk/tclx libs with "-G 0" to avoid gp_overflow
errors at link time.
o Rebuilt surf_IRIX6, and stride_IRIX6 for -mips3
o IRIX6 configuration now uses -mips3 instead of -mips4
o Rebuilt local libraries for IRIX6 binary distribution, old ones forced
the resulting executable to be mips4-only...
o Bug reported in XYZ file reading (existed in previous revs too..)
o Bug reported in CRD file reading (existed in previous revs too..)
o Analysis of 1999 VMD User Survey Results / re-send to unresponsive users
o LICENSE file missing from Linux RPM distribution, fixing.
o Identified a bug in VMD's scripting language and/or docs. The coloring
routines can't do "by resid". This is either a bug, or an incomplete
implementation. Still under investigation.
o May have identified a long standing rendering bug in VMD, likely incorrect
display of specular highlights (phong equation) due to a bad
transformation stack. Looks incorrect in current OpenGL version.
Still under investigation.
o Identified a bug in the OpenGL version tracker display/transform code.
o Identified a bug in the OpenGL version Cave input devices (kbd, trackers)
o Identified 64-bit portability bugs in VMD's rendering code.
o Updated many documentation items to be correct for VMD 1.3.
o Added information on new target platforms in web documentation.
o Fixed IRIX6 binary distribution, was missing stride and surf binaries.
o Fixed permissions of OSF1 stride and surf binaries for distributions.
o VMD successfully communicates with VRPN based trackers.
o Additional work on fixing VMD for compilation with xlC on AIX 4.2.
Changes for VMD 1.3a2
---------------------
o Fixed flags in HPUX configur.options files after updating configure script
o Fixed a few small bugs in the configure script, with respect to the
ACC, GCC, KCC, and EGCS build options, and with the HPUX10 build
configurations.
o CAVE option is now part of all IRIX builds (both GL and OpenGL) by default.
o Eliminated double linkage of xforms libraries, and a UIUC
local item in the configure script.
o Improved all IRIX builds, eliminated unnecessary libraries from linking,
especially the old libmalloc.
o Improved Tracker List, so that user can differentiate between
VRPN trackers, and the old UNC trackers.
o IRIX6 builds of VMD using OpenGL and the Cave.
o Fixed configure script for OpenGL builds of VMD for the Cave.
o Updated all VMD Tracker classes, fixed name collisions with VRPN library
o First rev of VRPN based VR tracker/button/force support code for VMD.
o Updates to Cave tracker code for keeping up with VRPN related changes.
o Updates to Cave rendering code, first rev to compile under both GL and
OpenGL.
o Numerous fixes for compiling with xlC on AIX 4.2, still more left to go.
o Small IRIX6 code fixes.
Changes for VMD 1.3a1
---------------------
o The production release of VMD 1.3 will be the last version that provides
support for the old GL graphics hardware directly, future releases will
only support OpenGL.
o VMD now uses platform independent internal code for the Render->Snapshot
feature on the OpenGL builds. The new code saves images in PPM format
on OpenGL binaries, and SGI RGB format for GL binaries.
o VMD now has a user configurable default image viewer.
o The VMD measure features are now implemented internally eliminating
the need for three external LASSP programs which were previously required.
o Some small performance enhancements to part of the picking code.
o First revision of VMD to include Win32 related portability changes,
the Win32 port is not ready for alpha or beta release yet, but the
current Win32 related source code changes are included in this release.
o Ported to Solaris x86 (binaries provided for Solaris 7 x86)
o Additional porting work for DEC Alpha, using DEC's compilers as well as gcc.
o Improvements to VMD build configurations on several platforms.
Known bugs
----------
Please visit the VMD web site for information on known bugs,
workarounds, and fixes:
http://www.ks.uiuc.edu/Research/vmd/
Cost and Availability
---------------------
VMD, NAMD, and the entire MDScope environment are part of an ongoing
project within the Theoretical Biophysics group to help provide free,
effective tools (with source code) for molecular dynamics studies in
structural biology. For more information, see
http://www.ks.uiuc.edu/Research/MDScope/. This project is funded by
the National Institutes of Health (grant number PHS 5 P41 RR05969-04)
and the Roy J. Carver Charitable Trust.
Disclaimer and Copyright
------------------------
VMD is Copyright (c) 1995-1999 Theoretical Biophysics Group and
the Board of Trustees of the University of Illinois
Portions of VMD code are Copyright (c) 1997-1998 Andrew Dalke
The terms for using, copying, modifying, and distributing VMD are
specified in the file LICENSE. If you use VMD in a way you think is
interesting or novel, we would like to know about it.
Please take a few minutes to fill out a registration form at
http://www.ks.uiuc.edu/Research/vmd/VMDregistration.html
if you are going to use VMD.
The authors request that any published work which utilizes VMD
includes a reference to the VMD web page:
http://www.ks.uiuc.edu/Research/vmd/
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.
Some of the code and executables used by VMD have different
restrictions. They are:
1) STRIDE, the program used for secondary structure calculation, is
free to both academic and commercial sites provided that STRIDE will
not be a part of a package sold for money. The use of STRIDE in
commercial packages is not allowed without a prior written
commercial license agreement. See the Stride WWW page at:
http://www.embl-heidelberg.de/stride/stride_info.html
2) The source code for SURF is copyrighted by the original author,
Amitabh Varshney, and the University of North Carolina at Chapel Hill.
Permission to use, copy, modify, and distribute this software and its
documentation for educational, research, and non-profit purposes is
hereby granted, provided this notice, all the source files, and the
name(s) of the original author(s) appear in all such copies.
BECAUSE THE CODE IS PROVIDED FREE OF CHARGE, IT IS PROVIDED "AS IS" AND
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.
This software was developed and is made available for public use with
the support of the National Institutes of Health, National Center for
Research Resources under grant RR02170.
ftp://ftp.cs.unc.edu/pub/projects/GRIP/SURF/surf.tar.Z
3) The perl script to retrived web documents, url_get, was written by
Jack Lund at the University of Texas as Austin. There appear to be
no restrictions on its use.
4) Several parts of the GNU C++ class library are used in VMD,
including the String and Regex classes, alloca, and librx regular
expression library. As per the GNU Library General Public License
v. 2, the modified code is available as part of the general VMD source
distribution and may be freely used and altered.
Feedback
--------
We would like to know who is using our software both for our own
knowledge and to support our funding. If you find VMD useful or
want to make comments, please fill out our on-line feedback form at
http://www.ks.uiuc.edu/Research/vmd/VMDfeedback.html .
Documentation
-------------
Three postscript documentation files are available for VMD which
describe how to install, use, and modify VMD. One, the installation
guide, is contained in the VMD distribution in the file doc/ig.ps .
The other two, the User's Guide and Programmer's Guide are available
independently from the VMD distribution directory as ug.ps and
pg.ps .
A quick help file in HTML format, 'vmd_help.html' is also available,
in the 'data' directory of the distribution. This file may be viewed
by any HTML viewer, and is used to provide on-line help for VMD when
it is running. This file is outdated and does not contain information
beyond version 1.0 .
For the latest information on VMD, please see the VMD WWW home page:
http://www.ks.uiuc.edu/Research/vmd/
This page contains links to HTML versions of all three VMD manuals
listed above, and info on the latest release of the program. A
brief VMD FAQ is also available, and can be found either by looking
at the VMD home page, or directly via the URL:
http://www.ks.uiuc.edu/Research/vmd/vmd_faq.html
Installation
------------
Detailed instructions for compiling this version of VMD can be found
in the installation guide, ig.ps. For quick installation of the
binary distribution (for IRIX, HPUX, Solaris, and Linux), 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:
$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) The proper Makefile must be generated based on these
configuration variables. This is done 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. This should be fine.
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:
http://www.ks.uiuc.edu/Research/vmd/
For problems, questions, or suggestions, send e-mail to 'vmd@ks.uiuc.edu'.
A. Dalke, J. Gullingsrud, W. Humphrey,
S. Izrailev, J. Stone, J. Ulrich
Theoretical Biophysics Group
University of Illinois and Beckman Institute
405 N. Matthews
Urbana, IL 61801
TBG WWW: http://www.ks.uiuc.edu/
VMD WWW: http://www.ks.uiuc.edu/Research/vmd/
General README for VMD; last modified April 2, 1999 by John Stone