Macromolecular Morphing Methods
Written 1998-2002 for the Protein Morpher. Updated March 2005 for ProteinExplorer.Org.


I. Overview
  1. Examples. If you have not already done so, study some examples of morphs before proceeding.

    1. Protein Explorer includes numerous examples.

    2. The purposes and limitations of morphing are best explained and illustrated at the Protein Morpher site created in 1998-2002. Here is that site's introduction Why Morph? including a very brief history. However, to see the illustrations of toggles and morphs at this older site, you will need to use the Netscape 4 browser (not version 6 or later; here are downloading instructions). Just as for Protein Explorer, the MDL Chime plugin must be installed (instructions).

    3. Hundreds of examples of morphs are available in the Gallery of Morphs at the Database of Macromolecular Movements, This site offers many options for viewing the morph as a true movie; that is, a series of static snapshots played as a movie. The disadvantages of viewing the morph as a movie is that each movie offers only one viewpoint, one rendering, and one color scheme. Also these true movies (when large) are bulky files slow to transfer through the Internet.

      MolMovDB.Org also offers a link for viewing the morph as an animation in Protein Explorer, where you can view the animation from any viewpoint (even rotating it while it moves), and change the color scheme or rendering (backbone, secondary structure schematic "cartoon", spacefilling, etc.) at will. Protein Explorer generates the animation on the fly and it will fill a large portion of your computer screen; only the morph atomic coordinate file need be transferred, and only once, to view a potentially endless set of possible animations of the morph in Protein Explorer.

      Animations generated by Protein Explorer can be saved easily to play back later in a browser with MDL Chime, without needing Protein Explorer. Such saved animations can still be rotated with your mouse to view from any perspective, but are limited to one color scheme and one rendering. Instructions are also provided for converting a Protein Explorer-generated animation into a multi-GIF. This is usually smaller (less than half the diameter of your screen) and is a true movie that displays only a single viewpoint, rendering, and color scheme. Here are examples of animations saved from Protein Explorer:

    4. 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.

    5. 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.

    6. 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 that 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.

    7. What Chime-based 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 Site Map offers an NMR Models/Animation control panel. One option on this panel is an [Animate] button that 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. After PE starts up, you will see the FirstView control panel. Scroll down to the bottom of it and find the link to the PE Site Map. There, click on NMR Models/Animation. After the new control panel has loaded, click on the [Animate] button. 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 construct a Presentation in Protein Explorer (PiPE). It is possible to insert one or more toggles or morphs among other molecular views in the presentation. Because the PiPE mechanism is relatively new, an example demonstrating a morph in a PiPE is not yet available. If you are in a hurry to do this, contact and one can be provided.

      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 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".

    8. 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 that may provide the alignment you need. Some of these are mentioned below. Swiss PDB Viewer is excellent freeware by Nicolas Guex and Manuel Peitsch that can handle all kinds of alignments very well. Below, I detail one way to do alignments in Swiss PDB Viewer.

    9. 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 that 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 that 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 that 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 that 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 that will run in a DOS window under Windows. If you do not use Windows, you may be interested in the C language source codes that 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 that 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 that 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 that make up one instance of the structure you wish to morph.

        If you need to extract one molecule from a crystallographic PDB file, and you wish to preserve water, the easiest method is with RasMol. Select the molecule of interest and the proximal water, then save a PDB file. RasMol saves only the selected atoms (see PDB Tools for details of what various programs save when writing PDB files). Typically, you may wish only water within 3.5 Angstroms of protein (which would be the first layer of hydrogen-bound water). If the molecule of interest contained chains A and B, the commands in RasMol would be:

        select within(3.5, (:a or :b))
        save pdb <filename>.pdb

    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 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 that 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 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 that will toggle your models as follows.

    1. First, you need to have a button that 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.