What documentation is available for VMD?

Quick help, this FAQ, User's Guide, Installation Guide, and Programmer's Guide are available in various PDF, Postscript, and HTML versions Here.

General information

Where is the best place to find out about VMD?

The VMD home page, located at

How do I reference VMD in publications?

Suggested citation text and a Bibtex entries are available here

Is there a VMD mailing list I can subscribe to?

See the VMD-L mailing list page for more details.

Do I need NAMD to run VMD?

No, you do not need NAMD just to use VMD as a visualization program. You only need both programs if you plan on running linked interactive molecular dynamics (IMD) simulations. See the NAMD home page for more information about its features.

Hardware and Software Installation

What platforms is VMD available for?

We have compiled and tested the OpenGL version of VMD on AIX 4.3, Linux, MacOS X, IRIX 6.x, HP-UX 11.x, Solaris 7/8/9, Tru64 Unix 4.0F, and Microsoft Windows 2000/XP. Binaries for these platforms are available from the WWW site.

I have problems downloading VMD from your web site. What can I do?

Please try again, preferably during off-peak hours. If you continue to have problems, send mail to describing your dilemma and we'll help you resolve the problem.

How do I install VMD?

Read the installation manual. Precompiled versions are available for all major platforms and are very easy to install.

When I try to compile VMD I get error messages; what should I do?

If you're compiling from source, make sure to check the VMD programmer's guide for FAQs and suggestions.


Can VMD load PDB files containing more than 99,999 atoms?

Yes. VMD can load a properly formatted PDB file with an arbitrary number of atoms. VMD is able to do this because it ignores the atom indices stored the PDB file itself and instead it uses its own internal numbering scheme. As long as your PDB file follows the strict column rules from the PDB spec, VMD doesn't care how many atoms are in the file.

Does VMD have any molecular editing features?

You can use VMD to move atoms, residues and fragments around via the "Mouse" menu.

The text user interface will let you manipulate the atom coordinates in almost any fashion. See the user guide for more information on how to write scripts. It can also be used to change the beta and occupancy information.

If you want to build/edit structures beyond what is described above, you'll need to use the psfgen plugin for this purpose.

How can I add extra graphics to VMD

There are two major ways of doing this:
  • One way is through a Raster3D, GRASP, or STL input file. VMD can read and display the contents of these files (with some limitations) which you can manipulate as it were another molecule.
  • The more general solution is to use the "draw" and "graphics" text commands in VMD. With this you may add objects like lines, cylinders, triangles, text labels, and more, completely inside VMD.

What file formats does VMD support?

Supported file formats are listed with the other VMD plugins. In addition, VMD can use Babel to convert other formats automatically into the PDB format then read those files.

Can VMD show orbitals, electron densities, normal mode vibrations, etc. on the screen?

Yes. VMD now supports many of the common density file formats, and can display isosurfaces, slices, and texture other representations by this data.

Why doesn't VMD have feature X?

Because we either haven't thought of it, haven't needed it, or haven't had time for it yet. Send us a suggestion!

But I really need feature X!

VMD is written in C++ and has documented source code (see the Programmer's Guide). You can probably add features or make minor modifications yourself.

What can I do to help develop VMD?

There are many things we would love to do with VMD but haven't had the time. Here's a short list of things, but many more things are possible:
  • Develop useful scripts for the script library
  • Write tutorial scripts that can be used over the web
  • Make pretty images with VMD for our image gallery
  • Make useful suggestions and point out bugs.


Using the atom selection commands, is it possible to select only those atoms which are within a specified distance of (a) a specified atom (b) a specified location in space?

The first one is easy, try an expression like 'within 5 of protein'. This selects all atoms within 5Å of all the protein atoms (including the protein atoms themselves). The second one is more complicated. The way to do that is to specify something like 'sqr(x-3)+sqr(y-4)+sqr(z+5) < sqr(2)' which will select all the atoms within 2Å of the point (x,y,z)=(3,4,-5). We may someday add the selection 'within distance of point x y z to simplify this very common selection.

Is there a faster way to change the rotation/translation/scale mode than using the mouse menus?


Does VMD have any hot keys for changing the mode?

Yes, look in the section of the manual describing the hot keys. By default, 'r' changes to rotation, 't' to translation, and 's' to scaling. Press 'c' to center on a given atom. There is even a text command, "user add key <character> <script command>" which sets character as the hot key for the given command.

How do I connect the bonds correctly when I don't use a PSF file?


Why doesn't VMD read the CONECT records from the PDB file?

VMD uses one of two ways to find which atoms are bonded. If both a PSF and PDB are given, then the bond records of the PSF are used. If a PSF is not given, then the bonds are determined from a distance search, but if the unbonded atoms are too close (this usually occurs with model building) they will be connected as well.

The usual way to fix this is to include CONECT records in the PDB file. Since we don't use this feature and have no programs that really need it, we don't have anything in VMD to read those records. We realize that not everyone has X-PLOR so we've included a program which will convert the CONECT records to a PSF file. It is called 'conect2psf' and is located on our web site at . Only a binary for SGIs running IRIX 5.x is available.

Why does VMD sometimes add an extra bond between the hydrogens of water molecules when I read in both a PDB and a PSF file.

This happens most often when the PDB and PSF records are written from CHARMm. The water model used for CHARMm adds an extra bond between the two hydrogens. Thus, the PSF has a bond in it so VMD displays it. It isn't possible in VMD to add or remove bonds. However, it is possible, though somewhat cumbersome, to not display them. Here is the way to do it: Suppose the water oxygens have the name O and the hydrogens are H1 and H2. Then you should make two views in your desired representation. In one view select 'water and name O H1' and in the other view select 'water and name O H2'. This hack will work, but it means that everytime you want to change one (for instance, changing the coloring method) you will have to change the other as well.

How do I display molecular dynamics trajectories with VMD?

VMD can read molecular trajectories from XPlor/CHARMm DCD files, Amber CRD files, a set of PDB files, or from a running molecular dynamics program. If your dynamics output is already in DCD format, then with the "Mol" form, choose "Load Molecule" to directly load this DCD file along with its corresponding PSF or PDB specification. A similar option is available for reading an Amber structure along with its CRD file.

The "Animate" form can then be used to playback the simulation. If you have a collection of PDB files, or a hybrid set of PDB and DCD files, then you will want to open the "Edit Animation" form. With this menu you can read in new coordinates to be appended to the end of the stored animation list for a selected molecule. This same form can be used to write out parts of the animation in DCD, CRD or PDB format. This is a useful option for merging trajectory files or exporting single frames of a given simulation. Please see the VMD User's Guide for detailed instructions regarding these menus. You will also want to consult the User's Guide if you plan to display trajectories directly from a simulation program such as NAMD.

My molecular trajectories are not in DCD/CRD format. Can I still use VMD to visualize them?

Tricky question. Some file formats, like XYZ, can contain animation coordinates. VMD calls Babel to convert the XYZ file into a set of PDB files, and then it reads in each PDB file. So for the file formats supported by Babel, the answer is yes. You could similarly write your own code to convert your format to a series of PDB files and read them in by hand (or with an automated script). Thirdly, you can use the "animate dup" command and write your own reader, but I wouldn't suggest this to any but experienced Tcl programmers.

Can one view electrostatic distributions with VMD?

The answer is a qualified "no." It is possible for one to color atoms by atomic charge, but VMD presently has no facility for generating electrostatic potential surfaces corresponding to a set of molecular coordinates.

Can I edit the secondary structure results found by STRIDE?

Yes, you can, with the VMD command "structure" which is accessible through the scripting interface. The "structure" command takes the following parameters: molecule id, atom selection, structure type. For example, possible structure commands include
structure 2 {resid 10 to 38} helix
structure top {chain B} beta_sheet
The available structure types are:
  • helix = alpha_helix
  • helix_3_10
  • pi_helix
  • sheet = beta_sheet = extended_beta
  • bridge_beta
  • turn
  • coil
For more information regarding the scripting interface, consult the User's Guide. One warning: The graphics do not update automatically when the secondary structure definitions change. If you change the definitions you will have to "update" the graphics for that molecule. This will be fixed in a future version of VMD.

Is it possible to perform rotations about an object other than the center of VMD's bounding box?

Yes, you can place the center at the location of any atom. With the right mouse button, click on an atom that you would like to rotate about. This will bring up a menu with several options, one of which is "Pick Item.". Drag down to this selection and then choose the "Center" choice which appears. The center is then at the location of the atom.

Is it possible to select two atoms, draw a dotted line between them, but don't display the distance?

Not directly. However, this capability is available through the scripting interface. For instance, suppose the two atoms to connect are "resid 45 and name CA" and "resid 99 and name N". Then the following script will do what you want.
# make the two selections
set sel1 [atomselect top "resid 45 and name CA"]
set sel2 [atomselect top "resid 99 and name N"]
# get the coordinates
lassign [$sel1 get {x y z}] pos1
lassign [$sel2 get {x y z}] pos2
# draw a white line between the two atoms
draw color white
draw line $pos1 $pos2 style dotted width 2
To understand this information, see the sections in the VMD manual regarding the scripting language.

Is is possible to modify the depthcue slope in VMD?

Not at the present time.