MD Movie MD Movie icon

MD Movie is a tool for trajectory (or ensemble) viewing and analysis. For examples of use, see the Trajectory and Ensemble Analysis tutorial. There are several ways to start MD Movie, a tool in the MD/Ensemble Analysis category.

Several formats are supported:

Format Required Inputs
Amber
CHARMM, NAMD, or X-PLOR
  • PSF (protein structure file; X-PLOR-style topology)
  • DCD (binary trajectory)
PSF/DCD support is courtesy of MDTools.
GROMOS
  • topology
  • coordinates (trajectory)
  • PROMD (PROMD input file used to generate the trajectory)
  • a scale factor to convert the coordinates to angstroms (usually 10.0)
MMTK
  • NetCDF trajectory
PDB, multiple files
(one file per frame)
Starting and ending file names must be supplied. The file names must include frame numbers, and files for all intermediate frames must also be present. The files must not contain END records.
PDB, single file
(coordinates for each frame bracketed by MODEL and ENDMDL records)
The name of the file must be supplied. The MODEL numbers are interpreted as frame numbers and should start with 1 or 0 and increment by 1.
The PDB options generally require coordinates for the same set of atoms to be supplied for each frame. However, if the coordinates supplied for a frame represent only a subset of the atoms in the preceding frame, it will be inferred that the remaining atoms are present but have the same coordinates as in the preceding frame. Changes are cumulated in the forward direction and based on all frames, even when frames are skipped during playback (step size > 1).

All or a contiguous subsegment of a trajectory can be loaded.

A further option is a metafile, simply a text file that specifies the input files/parameters. The first line designates trajectory type (such as amber or gromos, where case is unimportant) and optionally, starting and ending frame numbers of the range to be loaded. If no frame numbers are supplied, the entire trajectory will be loaded; however, if "?" is given for both the starting and ending frame numbers, a dialog for entering this information will appear. The remaining lines specify input files and parameters in the same order as in the dialog. For example:

amber 500 1000
dna.prmtop
dna.mdcrd
or:
pdb
single
108d.pdb
If input files are not in the same directory as the metafile, their pathnames relative to the location of the metafile should be supplied. A metafile can be opened directly from the Command Line (or the system command line upon startup) using the prefix md: or movie:. This will start MD Movie and open the trajectory data.

VIEWING FRAMES

After input files and parameters have been specified, the first set of coordinates will be displayed and the MD Movie controller will appear:

MD Movie controller

If a subsegment was specified, a message about the restricted frame range will be displayed temporarily. The total number of frames in the trajectory (whether loaded or not) will continue to be reported. For all input formats except PDB, the coordinates for a given frame are not read in until that frame is viewed or used for analysis.

From left to right, the buttons mean: play backward continuously; go back one step; stop; go forward one step; and play forward continuously. When the Loop option is on, forward play can wrap from the end to the beginning of the loaded trajectory and reverse play can wrap from the beginning to the end. The rate of continuous play can be adjusted with the Playback speed slider; up to a 1-second delay can be added between frame advances. The Frame number is reported and can also be entered directly to view a specific frame. The Step size controls the level of sampling for viewing purposes. For example, a step size of 3 indicates that only every third frame will be viewed; however, when forward play loops from end to beginning, the movie will start at the first frame loaded, and when reverse play loops from beginning to end, the movie will start at the last frame loaded. Frame number and step size changes take effect when return (Enter) is pressed.

The current frame or all frames that have been viewed can be saved as a PDB file with File... Save PDB. The view can be held steady on selected atoms. One can define scripts to be executed at each frame update. A complete menu listing with short descriptions is included below.

Hide closes the interface without exiting from MD Movie; the interface can be reopened using the Tools menu entry for the instance of MD Movie. Quit exits from MD Movie and removes the structure from the Chimera window. Help opens this manual page in a browser window.

RECORDING A MOVIE

The contents of the graphics window can be captured during trajectory playback and automatically assembled into a movie file. For a one-to-one relationship between trajectory frames and recorded image frames, the Playback speed slider should be moved to the far right. Otherwise, identical image frames will be inserted between the unique data frames to slow playback, as alluded to above. The frame number parameters described below refer only to the unique data frames.

File... Record movie opens an interface for specifying image capture and movie assembly parameters.

Clicking Record plays the trajectory and saves image frames according to the specified starting and ending points and step values. The resulting set of images will be converted to a movie file. During the playback/image-saving process, manipulations in Chimera can be performed and scripts can be executed, but other windows should not be placed over the Chimera graphics window. Stopping playback with the MD Movie controller in the middle of the playback/image-saving process will abort recording without generating a movie file.

Close closes the dialog without initiating recording. Help opens this manual page in a browser window.

See also: Movie Recorder

OCCUPANCY ANALYSIS

It may be interesting to see which regions of space are highly populated by certain atoms relative to others in the trajectory or ensemble. For example, cations or water hydrogens may tend to occupy space around a negatively charged solute group. Occupancies can be represented as a three-dimensional grid of values ("volume data"). Analysis... Calculate occupancy can be used to generate such data and display it with Volume Viewer.

Usually, one should first define a reference set of atoms to hold steady (the trajectory frames will be transformed to keep these atoms in the same place and orientation, as much as possible). This is accomplished by selecting the desired reference atoms and then choosing Actions... Hold selection steady. When the selection is later changed, the "hold steady" atoms will not change unless Actions... Hold selection steady is used again.

Next, one should select the atoms for which occupancy data will be collected. The atoms in the selection can be combined into a single set of occupancy data, or segregated by atom type.

OK collects occupancy data for the selected atoms according to the specified starting and ending points and step values, with trajectory frames transformed according to a prior hold steady specification, if any. The resulting data grid(s) are displayed with Volume Viewer. The dimensions of an occupancy grid will be the smallest needed to enclose any nonzero values (which could be smaller than the region of data collection).

Close closes the dialog without initiating the calculation. Help opens this manual page in a browser window.

RMSD ANALYSIS

Analysis... RMSD map can be used to generate a map of all-by-all pairwise root-mean-square deviations (RMSDs) among specified frames.

For each frame-to-frame comparison, the least-squares-fit RMSD between the indicated sets of atoms will be calculated, without applying any transformation.

OK and Apply initiate the RMSD calculations with and without closing the dialog, respectively. Close closes the dialog without initiating the calculation. Help opens this manual page in a browser window.

The calculations may require additional frames to be read (frames within the loaded range are not actually read until viewed or otherwise used) and may take several minutes, depending on the size of the system and the number of frames. The Abort button on the RMSD map dialog allows termination of a calculation in progress.

The following approaches are recommended for examining long trajectories or long trajectory segments:

Multiple RMSD maps can be open at the same time. However, a given map can be recolored (without recalculation of RMSD values) using the map's menu option RMSD... Change thresholds... to adjust the white/black threshold settings. When the cursor is placed over a map, the corresponding frame numbers and RMSD value are given near the bottom of the dialog. Clicking on a map places the corresponding frame numbers in the Frame fields. Clicking Go changes the graphics display to the corresponding frame.

Alternatively, the EnsembleMatch tool can be used to calculate all-by-all pairwise RMSD values for an ensemble read from a single PDB file. The file would need to be opened in a standard way rather than with MD Movie. Unlike MD Movie, EnsembleMatch can perform the corresponding pairwise superpositions (i.e. match one structure to another), but its use is impractical for ensembles with very many members.

MD MOVIE MENU

File

Actions

Per-Frame

Analysis

ADDING A FORMAT

MD Movie uses the Trajectory module to read the various formats (chimera/share/Trajectory, where chimera is the Chimera installation location). Trajectory contains a subdirectory, formats, which in turn contains subdirectories that each correspond to the Python module for a supported format. By convention, the module (and directory) name for each format is the name of the format with the first letter of each word capitalized and all other letters lowercase. For example, the MMTK module's name is Mmtk.

A format's module is typically structured so that the code that interfaces with Trajectory's generic format handling is in __init__.py, and the code specific to reading a particular format is in another python file, usually named after the format itself (for example, Gromos.py).

__init__.py must support the following:

__init__.py files are very similar from format to format. The simplest way to generate a new __init__.py file is to copy and modify another format's. Gromos format provides a good example, as it involves multiple input files and a non-file parameter.

The format-specific .py file defines an ensemble class that gets instantiated from __init__.py's loadEnsemble function. The ensemble class must support the following methods:


UCSF Computer Graphics Laboratory / November 2006