VMD is a molecular graphics and visualization program designed to be used for interactive display of molecular systems, particularly biopolymers such as proteins, nucleic acids, and biological assemblies such as membrane lipid bilayers. VMD has several goals:
This program is at heart a general application for graphical display of molecules, similar in basic capabilities to commercial program such as Quanta and non-commercial programs such as XMol , Ribbons , and others. The goal of VMD \ is not to become a complete replacement for these programs; instead, VMD focuses on accomplishing the specific goals outlined here.
VMD can display in a variety of ways dynamically varying quantities for a molecule, such as position, velocity, and energy. Each molecule displayed by VMD consists of an animation list, which is comprised of individual frames of the molecule's trajectory as computed by some means (molecular dynamics, energy minimization, etc.). This animation list can be edited, played back, or saved to a file in a variety of formats. This dynamical data may be obtained from previous computation, or may be obtained directly from a concurrently running simulation.
Through the use of the MDComm software, VMD contains the ability to act as a graphical front end for a molecular dynamics (MD) program running on a remote supercomputer or high-performance workstation. This allows the user of VMD to set up, initiate, and interactively display and control the MD simulation as it is running. The user can disconnect from the simulation and let it continue, or interactively kill the simulation program and start another. Any number of simulations may be simultaneously displayed and controlled by a single VMD session.
Beyond the standard workstation monitor and keyboard + mouse display and input devices available for graphical workstation users, a number of different visual display and control systems are available. For example, spatial tracking devices are available which may be used as a three-dimensional pointer, and stereo image projection devices are possible which may be used to display a three-dimensional image of a molecular system to a number of viewers. VMD supports the use of the two example devices described here, and aims to make support for other such devices relatively simple.
VMD is written in C++ and employs an object-oriented design to make the program easy to modify and extend. This Programmer's Guide -- 1.1 Draft is specifically designed to aid those people who are interested in changing the current implementation of VMD , or who are interested in adding new features to the program.
VMD is the visualization component of MDScope , a complete computational environment for structural biology. MDComm , mentioned above, is the component of MDScope which allows VMD to communicate with and control a remote MD simulation. The final component of MDScope is NAMD , a parallel MD application which also uses MDComm \ to enable communication with VMD . Section 1.3 provides a description of MDScope and information on where to look for more information on MDComm and NAMD . This manual, along with the Users Guide and Installation Guide, document the use of VMD .
A major intention of this manual is that it be kept up-to-date with all changes to VMD . As features are changed, these changes should be reflected in the description here, and as new capabilities are added these new features should be added to the relevant section in this document. In particular, when new object classes are added or when existing ones are changed or augmented, the description of the relevant class should be updated in the `Program Structure' and `Class Descriptions' chapters. In this way, other uses can also benefit from new additions. This is a major goal for VMD , to become a useful, common resource for all users in the field of computational structural biology.