VMD is a wonderful and powerful freeware and multiplatform software for… umh… almost everything thank to the possibility to use plugins and custom tcl scripts. At the moment, I use it mainly to display molecules, but stay tuned because big things will come (I have a student that will do… suspence!!!)

If you are interested in a collection of tcl scripts for VMD, go here.


VMD can be downloaded for free from the official web site. You will need to create a free account in order to access to the download area. The last version is the 1.8.7 released in the beginning of 2009.
Take your time to read the manual (very useful) and if you have troubles, you can also search the mailing list or have a look at the tutorials.

Installation (Linux)

Once you have downloaded the source, uncompress the tarball in a temporary directory. Run the command

[user@desktop]$ ./configure LINUX

[user@desktop]$ ./configure LINUXAMD64

if you have want the 64bit version. This will produce a proper makefile. Now move in the src subdirectory and install VMD as:
[user@desktop]$ sudo make install

This will install vmd in the default directories.

VMD in 3 slides: a quick tour

Two and a half, to be honest. I wrote these slides as part of a hands-on workshop for students coming in the lab for short stages or practical courses.


The pdf can be downloaded here. This is just a very basic and incomplete introduction: VMD is really a great piece of software and will not take longer for you to fall in love with it and to ditch your preferred scripting language for tcl scripting in VDM.

Step By Step Tutorial: VMD Basics

Explain a program so rich of functions as VMD is never easy. So I have thought, as experiment, to make a step by step tutorial in pdf to illustrate the basics of VMD. I will update and expand this tutorial in time. Here some images:

The tutorial in pdf can be downloaded here, and redistributed as soon as you keep it freeware and do not remove the watermark linking to this site.

Work with VMD

Load/Save structures

Here a small introduction on how to load and save structures with VMD. The video tutorial will enter more into details.

Loading a single structure

VMD can load data saved in huge number of chemical formats: gromacs, tinker, charmm, amber, gamess, gaussian, vasp, pdb, xyz, and more. The fastest way to load a structure is to launch VMD providing the file to load, as in the example below:

[user@chembytes]$ vmd water.xyz

VMD will try to use the correct plugin guessing from the extension of the file to load, e.g. xyz. If the extension does not load the proper plugin, you can specify the format of the file. As example, let's consider a Tinker file: usually, the extension for such file is xyz, but the format is different from the standard cartesian XYZ. VMD will try to use the cartesian XYZ plugin and will fail opening the structure. You need then to specify the format of the file as in the example below:
[user@chembytes]$ vmd -tinker water.xyz

Structures can be loaded also from inside vmd, using the graphical interface, as explained in the slides provided in the previous session. Just go to File->New molecule and load the file in the "Filename" field and, if needed, set the proper type (format) in "Determine file type" menu. Once done, press "Load".

Once the structure is loaded, this is a VMD molecule and you can also load more data into it, creating a trajectory, as explained in the next session.

Loading multiple structures

You can also load multiple structures in a VMD molecule. Let's consider the following example of three Tinker structures:

[user@chembytes]$ vmd -tinker water.xyz water.001 water.002

This command will cause VMD to load water.xyz and load water.001 and water.002 structures into it. The results is a VMD trajectory of three frames. Of course, in case of Tinker, you can create the tinker trajectory with Tinker's archive utility, e.g., water.arc. Since the .arc extension is known by VMD as Tinker format, you can load it directly as:
[user@chembytes]$ vmd water.arc

If you are working with Gromacs, you cannot load directly the .xtc trajectory as for Tinker, but you need to provide also the relative .gro file.

[user@chembytes]$ vmd water.gro water-md.xtc

The trajectory is then loaded into the VMD water.gro molecule. Be aware though that you will have an extra initial frame in your trajectory (water.gro). This can be removed by right-clicking on the VMD molecule and choose "Delete Frames" from the menu.
This can also be done from the graphical interface, specifying in the "Load files for field" in which of the existing molecules the new data must be loaded into. With the graphical interface, if you are loading a trajectory file, you can select which frames you want to load. Data can also be loaded into a VMD molecules right-clicking on it and choosing "Load Data Into Molecule" from the menu.

Save coordinates

VMD allows you to displace/rotate molecules or fragments with respect the original coordinates (see video-tutorial). To save the new coordinates right-click on the VMD molecule and choose "Save Coordinates" from the menu. You will be able to save coordinates in a number of different formats, for all or some frames. Don't be confused between "Save Coordinates" and "Save state", are two very different things.

Save/Load VMD state

VMD allows to manipulate your structure in a number of way: you can display it (or part of it) in different styles, perform measurements, etc. Once you quit VMD, all what you did will be lost. To avoid this, you can save the state of VMD (File->Save State) before quit. To reload all your work, start vmd and load the state file you have saved before (File->Load State)


The default style when you load a structure is: Drawing Method Line and Coloring Method Name. You can change the style from the Graphics->Representation menu. Also, the same menu will allow you to split your structure in different atoms selections, called Replicas, and display them with different styles and/or hide them. Also, periodic images of the systems can be visualized from this menu. This is one of the widest aspect of VMD and it is quite difficult to cover it by writing. You can read more from the manual, therefore I suggest you to have a look to this video tutorial.

Measure your structure

VMD allows to measure distances, angles and dihedral angle for the selected atoms. To calculate a distance, for example, hit "2" on you keyboard and with the mouse select two atoms. To quit from the distance measurement mode, hit "1". Hitting "3" and "4" will allows you to measure angles and dihedral angles. Informations about the measurements, as well as their displaying option, can be get from the Graphics->Labels menu, as mentioned in the VMD slides. Also, for the selected distance, angle or dihedral angle, it is possible to visualize and save in a text file their time evolution, if the measurements are made on a loaded trajectory. Please note that this is a crude way to get geometrical parameters, in particular if you have periodic systems, since the algorithm does not take into account the size of the simulation box.

Move molecules around: the replica mode

VMD allows to displace and rotate molecules interactively dragging them around with the mouse. I just discovered the coolest feature regarding the movement of molecules: the option 9, which allows you to move and rotate a replica. A replica is a view of your system: all the atoms and molecules used in the selected replica, can be moved and rotated. Oh Yeah!!

Transparent background when rendering with Povray

Povray is another wonderful freeware software for astonishing graphical results (if you know how to use it, not like me that use standard VMD settings). VMD allows you to render the scene (vmd's view) you have created with povray (if installed). By default the result is quite good, but if you want to have a transparent background just add the options +ua to the string of vmd parameters used for the rendering.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License