1
VMD: Visual MolecularDynamics
William Humphrey, Andrew Dalke,and Klaus Schulten
Presented By: Xiaoyan Xiang
Outline
Background– Rendering pipeline– Motivation for the development of VMD
Features and structures of VMD– Current implementation of the program– Program capability and functionality
• Focus on the visualization– Interactive Molecule Dynamics
Conclusion
2
Background (1)
Rendering pipeline– Normal procedure
Display
Rasterization
Projection
Clipping
ViewingTransformation
Illumination
Trivial Rejection
ModelingTransformations
Ref: Lecture Notes of Interactive Computer Graphics. http://graphics.cis.udel.edu/Courses.html
Project a model to the image plane
View Point
3D Model
Image Plane
Light Source
Background (2)
– Ray tracing:• Starting from the viewing position, tracing the ray to find
the visible point in the object• At each point, compute the visibility of each light source• Interpolate and compute each value for this point, then
project to the image plan.
Ref: http://en.wikipedia.org/wiki/Image:Ray_trace_diagram.png
3
Background (3)
Current program for graphic display ofmolecular structures– RIBBONS, Xmol, MIDAS, SETOR, GRASP and etc.– Display static molecular structures
Motivation for the development of VMD– To provide a well-documented and free program– Easy to use and modify– To support the display of the dynamic data
Implementation (1)
VMD is written in C++ using an object-oriented design
Two methods to control:– Graphics
• Graphics display window• Graphical user interface window
– Texture• VMD console
4
Implementation (2)
Graphics displaywindow
Graphical userinterface window
VMD console
Implementation (3)
3D graphics rendering(Display window)– Graphics GL library– OpenGL library:
• OpenGL(Open Graphics Library) is a standard librarydeveloped by Silicon Graphics Inc. in 1992.
• Library of 2-D, 3-D drawing primitives and operations• A platform-independent API that is easy to use and close
enough to the hardware to get excellent performance.• Focus on rendering
5
Implementation (4)
Graphical User Interface(GUI)– Xforms:
• A Graphical User Interface Toolkit for X developed byT.C. Zhao and Mark Overmars, in 1997.
• The Forms Library consists of a large number of C-routines to build up interaction forms with buttons,sliders, input fields, dials, etc. in a simple way.
Texture commands– Tcl:
• An embeddable interpreted script language parser.
Capabilities (1)
Data format:– CHARMm/X-PLOR compatible PSF
• protein structure file format
– Brookhaven PDB• coordinate file format
– Others: using Babel• to convert files from alternate formats into PDB format.
– Animating molecular structures
6
Capabilities (2)
Displaying molecular structures– An atom subset selection
• To determine which atoms are to be included in the view.Views can be created or modified via
– Text commands– Using the graphical interface controls
• Each atom has several characteristics• Keywords and logic operations(and, or, >, etc.) are
used to select atoms that have values matching thecriteria.
Capabilities (3)– A rendering style
• Determine the primitives used to draw the atoms, bondsand other molecular components
Table 1. Selected molecule-rendering styles available in VMD
a For nucleic acids, the P atoms are used. b Uing the SURF algorithm developed at the U of North Carolina
7
Lines Bonds Cartoon
VDM Tube Surf
http://www.ks.uiuc.edu/Research/vmd/allversions/repimages/#representations
Capabilities (4)– A coloring method
• Determine what color to use for the components of theview.
Table 2. Selected molecule-coloring styles available in VMD
8
Name Charge Mass
ResID Position Type
http://www.ks.uiuc.edu/Research/vmd/allversions/repimages/#colors
Capabilities (5)
Raster Image Generation– Produce high-quality movies of a molecule
VMDTcl script Image-rendering program
Writing Tcl scriptto control the
rendering process
VMD automatically generate input scripts for
image-rendering packages:See Table 3.
9
Capabilities (6)
Table 3. Available rendering program output formats
– Rendering• Using ray tracing
Capabilities (7) Stereo display
– Images of the 3D objects captured by your eyes.– More than 2 methods…
A side-by-side stereo display A crystal-eyes stereo display
10
Capabilities (8)
– Used with 3D projection system• Using stereo glass to• To display and analysis of molecules viewed by
several users.
– VMD supports the use of the spatial tracking devices• To provide a set of 3D pointers.• In order to solve the problem - each person views the
3D version of the molecule from a differentperspective.
Capabilities (9)
Trajectory analysis tools– Animating molecular structures:
• For each molecule, VMD provides an animation list– New trajectory can read from PDB file or DCD files– A collection of atomic coordinate sets for the molecule.– Can control the trajectory by changing the animation speed, frame
number, animation direction and write coordinate to files.
– Implemented as Tcl scripts or provided by VMD• Return or modify characteristics of the data:
– Charge, mass, and position for individual atoms, residuesand molecules.
• Complex analysis capability:– RMS deviation, Correlation
11
MDScope
Interactive Molecular Dynamics(1)
VMD: the visualization component of MDScope– MDScope is a set of computational tools for structural
biology– VMD, MDCOMM, NAMD are independent
VMD
MDCOMM
NAMD
Visualization component
Control communication
Parallel molecular program
Interactive Molecular Dynamics(2)
VMD is a visualization console and graphicalfront end for a MD application– The MD application may run on a remote computer– Change information use MDCOMM
VMDSimulation program
on remote super-computer/workstation
buffer
MDCOMM: broker the communicationof data and commands, managers for the
running jobs and interprocess communication
12
Documentation & Availability
Extensive documents on how to use VMDand how to modify and extend the program isavailable– An installation guide– A user’s guide– A programmer’s guide
Free for download:– http://www.ks.uiuc.edu/Research/vmd
Conclusion
VMD is a visualization component ofMDScope, a large set of computational toolsfor structural biology
Direct interact with a separate MD application– To provide a GUI and visualization console for the
simulation program
Support for the display of dynamic data– Molecular trajectories generated during the MD
simulation