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