Morphing Methods


I. Overview
  1. Morphing vs. Toggling. I'll use "toggling" to mean alternating between two different conformations. If the conformational differences are small, toggling is sufficient to see the nature of the changes. When the differences are larger, a "morph" makes it much easier to see where each portion of the molecule "goes". A "morph" includes the two empirical conformations plus a series of interpolated intermediate conformations, played as a "movie". The only technical difference between a toggle and a morph is the number of models; toggles have 2 models (usually both empirical), while morphs have more than two. Most of the methods below apply to both cases.

  2. What are morph data? Morph data are a series of atomic coordinate files or "models" each representing a different conformation of the same molecule. The first and last models are typically empirically determined, while the intermediates are interpolated.

  3. What data format is needed for Chime to display a morph as a movie? The way I prefer to provide morphs to Chime is in PDB NMR format ("pseudo-NMR PDB files"). This means simply that each model (each set of ATOM records which represents one conformation of the molecule) is preceded with a "MODEL n" record (where "n" is the model number) and followed with an "ENDMDL" record, all models being in a single PDB file. The advantage of the PDB NMR format is that different conformations can contain different atoms. For example, the binding of calcium to calmodulin can be illustrated with calcium absent in the first model and present at the last. To see an example, load any morph in the Protein Morpher, use Chime's menu File, Save Molecule As to save the PDB file, and examine it in a text editor.

    Chime also is able to display movies from data in XYZ format. I have no experience with XYZ animations. Here is what I have heard about XYZ format but I cannot guarantee the accuracy of this information. Chime expects XYZ data to have the same atoms in each frame, and only the coordinates vary. This allows Chime to handle XYZ animations faster than NMR animations. I don't believe XYZ allows designation of residues (amino acids), alpha carbons vs. other carbons, etc. Thus it is best suited to small molecules. Examples of XYZ animations are an alpha helix in thermal motion and vibrations corresponding to peaks in an IR spectrum.

  4. What Chime interfaces display morphs as a movie? The simplest way to display a morph is with the Protein Explorer (PE). This interface is ready to go and needs only the morph NMR PDB file. After loading the morph NMR PDB file, the PE offers an "NMR Model Selection" control panel. One option on this panel is an [Auto] button which shows the morph as a movie, with a user-selectable delay between frames.

    The PDB file can be prespecified as a query parameter, so a link can bring up the Protein Explorer with the movie automatically loading ready to play. For example this link prespecifies a 14-frame morph of recoverin. Click on Explore recove14.pdb, then on NMR Model Selection, then on [Auto]. The movie will play faster if you set the interframe delay down from the default 0.25 sec to 0.01 sec.

    The second option is to use the downloadable template for Chime presentations. This has detailed documentation on how to build a presentation. It is possible to insert a toggle or morph as two buttons in the presentation sequence.

    A third option is the Protein Morpher, designed to display a limited set of morphs, each with some documentation and convenience buttons not provided in the PE. It can be downloaded, and a new morph could be installed into it, but this is quite technical and I haven't written any documentation on how to do this.

    In all of the above, the basic strategy is to apply the desired colors to the models, then show each in turn ("restrict model=N", where "N" is the model number specified in the MODEL records in the PDB file), and render it as desired (backbone, spacefill, etc.). If different parts of the molecule need to be rendered differently, you can use boolean select commands such as "select model=13 and hetero". More details will be found in the Protein Explorer after loading any NMR PDB file with multiple models. On the "NMR Model Selection" panel, click the help button [?] after "NMR Model Script".

  5. How do I align the two conformations? Whether you are making a toggle or a morph, the first step is to align the two conformations so that the differences in atomic positions represent only the differences in conformation. Usually, if the two PDB files are not aligned, there are large differences in atomic positions resulting simply from different positions or orientations of the molecules relative to the mathematical origin of the Cartesian coordinate space. Alignment eliminates these differences which have nothing to do with conformation.

    There are several websites which may provide the alignment you need. Some of these are mentioned below. Swiss PDB Viewer is excellent freeware by Nicolas Guex and Manuel Peitsch which can handle all kinds of alignments very well. Below, I detail one way to do alignments in Swiss PDB Viewer.

  6. How do I generate the intermediate frames from the initial and final PDB files? First, you may be able to find a ready-made morph at the Database of Macromolecular Movements maintained by Mark Gerstein and Werner Krebs at Yale University. In their Movie Gallery of Macromolecular Motions, you can click on the "morph ID", where there is a link to "Download interpolation as gzip'ped NMR format PDB file", exactly what you need for Chime. If you have problems getting these files please contact the Gerstein Lab for help -- not me. (For information on gzipping, see the Martz FAQ at the UMass Chime Resources Site.)

    The same group also provides a Morph Server which will create a morph for you from any two conformations of a protein. These morphs are "semi-plausible": some molecular dynamics are applied to the interpolated frames. However, hetero atoms may not be maintained in these morphs. If you attempt to use the Yale Morph Server and get an error message by return email, please contact the Gerstein lab for help. The error message may not be very specific about the nature of the problem.

    Gerard J. Kleywegt (Uppsala University, Sweden) makes his morph program LSQMAN available free for academic and non-profit use at his Biomolecular Morphing site, where you can view his gallery of "chemically reasonable" morphs.

    Below, I have provided the programs which I used to make the simple linear interpolations displayed in the Protein Morpher. The binaries of these programs operate only under Windows (actually, MS-DOS).

II. Preliminaries
  1. Text Editor. You may need to use a text editor to edit PDB files. This is any program which can modify the contents of a text file and save the result as a plain text (ASCII or DOS Text format). PDB files are plain text. That is, they have no word processing document formatting codes imbedded in them. If you do not already know your favorite text editor, here are some options. Simple Text (Macintosh) or Notepad (Windows) are plain text editors, but they are not able to handle files as long as most PDB files. Wordpad (Windows) is fine, but on the first "Save As" be sure to specify "Text document" on the "Save as type" menu. Then on each subsequent save, be sure to re-select "Text document". You can also use MS Word or Wordperfect, but be sure always to save as plain text (also called ASCII or DOS Text).

  2. PDB files. You may need to be somewhat familiar with the format and contents of PDB files. Each line of a PDB file is called a "record", and the type of information it contains is specified in the first word in the line. The most important records for morphing are ATOM records which specify the positions of the atoms making up the main chain of a protein or nucleic acid. There may also be important atoms in HETATM records, such as metal ions, water, ligands, or carbohydrate.

  3. PDB Tools. You may need to use some of the PDB manipulation programs specified below. These are available as DOS EXE files which will run in a DOS window under Windows. If you do not use Windows, you may be interested in the C language source codes which are also provided. These PDB tool programs are available from

III. Preparation of Initial and Final PDB Files

  1. Select the PDB files representing the initial and final states. The structures to be morphed must contain identical numbers of residues (amino acids or nucleotides). For linear interpolation, there must be an atom-by-atom match in the intial and final states. For Gerstein's morph server, a few amino acids can differ. In this case, the amino acids present in the final state will be substituted for any which differ in the initial state.

  2. Your initial and final PDB files must each contain exactly one copy of the structure you wish to morph. Some PDB files result from crystals which have more than one copy of the molecule in the asymmetric unit. This will be obvious when you view such a file in RasMol or Chime. In this case, you must copy the PDB file, giving it a new name, and in this copy, delete everything except the ATOM and HETATM records which make up one instance of the structure you wish to morph.

  3. Hetero atoms. Gerstein's server will strip out hetero atoms (see below for how to restore them). For linear interpolation, you may include HETATM records in the initial and/or final states. However, you must be sure they are in the same order. Otherwise, a water or metal ion may zoom across the molecule, rather than staying in its proper place, because you have mapped the initial HETATM to a different final HETATM.

IV. Alignment Methods

If you use the Gerstein & Krebs Morph Server, it does the alignment for you, and you can skip this section.

If you are particularly interested in the conformational changes of a small portion of the molecule, such as an active site, it may be preferable to align just that portion, rather than the entire molecule. If there are conformational changes in distant parts of the molecule, whole-molecule alignment may cause the portion of interest to translate or rotate an a manner unrelated to conformational changes within that portion. The best way to find out is to do both kinds of alignment and compare the results.

  1. Shindyalov and Bourne have provided a Combinatorial Extension alignment server. Here you can submit any two chains in PDB files and receive the aligned coordinates in PDB NMR format by selecting the Download link. Optionally, you can specify a limited range of residues to align, such as an active site. This method is very fast and convenient but has possible disadvantages. It aligns only single chains, whereas the Deep View method below can do multiple chains. It discards ligands, water, and hetero atoms, whereas the Deep View method below optionally can retain them.

    The PDB file you download from this site is ready to view and toggle in the Protein Explorer. For a morph, use the text editor to split the aligned models into two separate PDB files, and proceed to the Morphing Methods section below.

  2. Deep View (formerly known as Swiss PDB Viewer). Using the Deep View freeware program (DV), align the alpha carbon backbones. These instructions are for DV version 3.5 beta 1.
    1. Run DV. If you want to keep water, select Preferences, Loading Protein, and UNCHECK Ignore solvent.
    2. Use File, Open PDB file to open the initial PDB file. Accept the default Rendering Attributes. Immediately (being careful not to move the image with the mouse!), UNCHECK the the checkbox labeled "can move" near the top of the Control Panel. This prevents you from inadvertantly moving the molecule. (If the Control Panel is not visible, use the menu Display, Show Control Panel.)
    3. Now open the second PDB file, the one which represents the final conformation.

      In the next few steps, we'll align, then save the aligned molecules. Between alignment and saving, you must not move the aligned molecule with the mouse. If you do move it, just re-do the alignment before saving.

    4. Often you can proceed immediately, using Tools, Magic Fit. After running this, check which groups DV chose to align, shown red in the control panel. If these are not optimal, use Fit Molecules from selection (next step below). (To change which molecule is displayed in the control panel, click on the name of the first molecule just below the title "Control Panel" at the top -- a menu will open allowing you to select the second molecule.)
    5. For more control over the alignment, select identical numbers of residues in each molecule, then use Tools, Fit Molecules (from selection). You can select an entire chain by clicking on its chain letter. Selected residues are shown red, allowing you to verify what is selected. To select more than one chain, hold down Ctrl while clicking on additional chain letters. To deselect individual residues, hold down Ctrl while clicking on the amino acid name. To deselect a range of residues, hold down Ctrl, click on the first and drag to the last. To deselect everything (to start over with adding selections) hold down Shift while clicking on any chain letter.
    6. After either a Magic fit, or a Fit from selection, calculate the RMS deviation: Tools, Calculate RMS. You may wish to note this value as well as the number of atoms used in the alignment.
    7. On the File menu, UNCHECK Save in original orientation. This is necessary to allow you to save the second molecule in its new aligned position.
    8. Now use File, Save, Project to save both molecules into a single PDB file.

    9. Insert a line with "MODEL 1" before the first ATOM record of the first molecule. The "1" should line up with the element designation, like this:
      MODEL        1
      ATOM     16  N   GLY E   1      48.960  33.944  42.010  1.00 17.00
    10. Insert a line after the last ATOM or HETATM record of the first molecule with "ENDMDL", followed by another line with "MODEL 2". Insert an "ENDMDL" line after the last ATOM/HETATM record of the second molecule.
    11. Optionally you may delete all lines except MODEL, ATOM, HETATM, ENDMDL. Notably, you may delete all SPDV and CONECT records, which are ignored by Chime anyway.
    12. The aligned PDB file is now ready to load into the Protein Explorer and view as a toggle.
    13. To simplify the file by removing hydrogens or removing all atoms except alpha carbons, see the end of the following section.
    14. To proceed with morphing, use your text editor to save each molecule into a separate file (just the ATOM and HETATM records).

V. Morphing Methods

None of the methods below attempt to predict the actual trajectory of conformational change. Rather, the goal is to allow the eye to connect the positions of various moieties during the conformational change, thereby visualizing the changes in contacts and positions of each moiety.

The simplest method for interpolating intermediate frames between the initial and final models is linear interpolation. Each atom is moved in a linear path from its initial to its final position in equal increments. The resulting intermediate frames are chemically unrealistic, because atoms may occupy the same space, and bond angles and distances will not be realistic. Nevertheless, linear interpolation does allow the eye to connect the positions of any given moiety as the morph movie runs.

A more sophisticated morph involves application of molecular dynamics to each frame of the linear interpolation. The resulting chemically possible frames are described by Gerstein and Krebs as "semi-plausible" and by Gerard Kleywegt at "chemically reasonable". In the past, the Gerstein and Krebs Morph Server discarded all hetero atoms. The results are sometimes rather jerky -- atoms don't necessarily move through a smooth trajectory, but neither do they move through each other like ghosts (which they may do in a linear interpolation). These programs are accessible through the links above.

  1. Linear Interpolation
    1. The ready-to-run programs provided for this method operate only on Windows. These programs are part of my PDBTools package. (C source code is included so the programs could be adapted to other operating systems.)
    2. After you download the PDBTools, unpack them by double-clicking on the pdbtools.exe file in Windows Explorer. Next, you must either put the .exe files on your path, or else do your work in a folder containing them.
    3. You need to prepare two PDB files representing the initial and final conformations. These must have exactly the same number of atoms, in exactly the same order. They must be aligned. Put them in the same folder as the PDBTools programs. If one file contains hydrogens, and the other doesn't, or if both do, you can use the program striph.exe to remove hydrogens.
    4. To make a concrete example, let's assume your initial and final PDB files are named initial.pdb and final.pdb, respectively, and that you want a 12-frame morph (10 interpolated frames plus the initial and final frames). Open a DOS window, type this command at the DOS prompt, and press Enter.
      morph2 initial.pdb final.pdb 10
    5. If there are moieties (typically hetero atoms, or a bound peptide) present in only one of the initial or final PDB files, they must be removed in order to make the morph, but after the morph, they can be manually edited back into the initial or final model as appropriate.
    6. Rename the output file (morphout.pdb) to a name of your choice. This file can be played as a morph "movie" by any of the methods mentioned above under What Chime interfaces display morphs as a movie?. Immediately, you can open your morphed pdb file in the Protein Explorer and play it as a "movie" in the NMR Model Selection panel with the [Auto] button.
    7. If you are only interested in the backbone, you can make the morph file much smaller by eliminating all atoms except alpha carbons. Do this with the PDBTools program alphac.exe.

VI. Playback Scripts for Toggles & Morphs

As mentioned above, you can play 2-model PDB files as toggles, and multiple-model PDB files as movies in the Protein Explorer as is. This section tells how to put playback buttons in a custom Chime presentation.

Let's take as an example an NMR format PDB file containing two aligned models. We'll call this file toggle.pdb, but of course you can give it a more specific name. In the Chime presentation template, you can make buttons which will toggle your models as follows.

  1. First, you need to have a button which loads toggle.pdb and colors and renders it suitably. This button will show the two models overlayed. For instructions on how to make such buttons and scripts, please consult Presenting RasMol-saved scripts in Chime.
  2. Next, you can make a Toggle button by having it run the following script:
    restrict model=1
    backbone 0.2
    delay 0.3
    restrict model=2
    backbone 0.2
    loop 0.3
    Of course you can use any rendering you wish. If you need to render different parts differently, see the help button [?] following "NMR Model Script" on the Protein Explorer's NMR Model Selection panel. The "0.3" values represent seconds, and can be adjusted to provide the timing you prefer.

  3. The above script runs as an infinite loop. To stop it, you need another button in your Chime presentation labeled Stop toggling, which should send a single script command:
    This script must be exactly as shown (no semicolon, comment, or other commands).

  4. If you have an N-model morph file, you can play a morph movie in the Chime presentation template simply by expanding the above script to include a restrict command block for each model, 1 through N. Use a delay after blocks 1 through N-1, and a loop command after block N.