The morph command creates a trajectory that morphs between two or more atomic models. The trajectory can be played back with the coordset command or the slider graphical interface. See also: volume morph, making movies, the ChimeraX morphing highlight, movie tutorials: [2019] [2017]
The method is based on that used by the Yale Morph Server:
The morph server: a standardized system for analyzing and visualizing macromolecular motions in a database framework. Krebs WG, Gerstein M. Nucleic Acids Res. 2000 Apr 15;28(8):1665-75.
Before morphing, the atomic models should be superimposed (such as with matchmaker). In the morph command, the models should be specified in the order desired for morphing. Although the same model number cannot be given more than once, using wrap true indicates the morph should also go from the last specified model to the first. For a more complicated trajectory that visits the same conformation more than once, another approach is to open a given structure multiple times to give copies with different model numbers. Examples:
morph #3,1,2 frames 40
morph #1.1-20 same t
morph #2,5 core 0.1 frames 75 wrap t
Only the atoms in common among the input structures will be included in the resulting trajectory. The models can have different numbers of residues or different sequences (homologs or mutants can be compared), but currently they must contain equal numbers of chains (see limitations).
Each sequential pair of input structures serves as the starting and ending points of one stage of the trajectory, and a morph trajectory can have multiple stages. Within each stage, intermediate sets of coordinates are generated:
The endpoint and intermediate coordinate sets are opened as a new trajectory model. The frames option (default N = 50) indicates generating N–1 intermediate coordinate sets per stage, giving a total number of frames in the trajectory = 1 + N(number of stages).
Unless colored to show hinge locations, a single-chain morph trajectory will exhibit its unique model color, whereas a multichain morph trajectory will retain the coloring scheme of the first model used in its creation.
The same option indicates that the input structures have the same sequences, atom names, residue numbering, and chain IDs, as is typically the case for members of an NMR ensemble (default false, atoms paired as described below). Setting this option to true may make the calculation slightly faster, but otherwise there is little harm in staying with the default if there is any doubt as to whether numbering/naming are the same.
The hideModels option (default true) hides the input models, and the play option (default true) plays through the resulting trajectory a single time. Regardless of the play option, the coordset command and/or the slider can be used to replay the trajectory.
The slider option (default true) shows a graphical interface for trajectory playback. The slider can be dragged or a frame number entered directly. The interface also includes a play/pause button, a value to increase for slower playback, and a button for recording a movie (). Sequential integers are added to the movie filename (movie1.mp4, movie2.mp4, ...) so that repeated recordings will not overwrite the previous ones, and the save location can be set with the snapshot command. The movie will start at the current slider position, so to include the whole morph, place the slider at the far left before clicking the record button.
The Loop Playback setting in the slider context menu controls whether interactive playback should continue until explicitly paused (initially on). The Bounce Playback setting in the slider context menu is only available when Loop Playback is on, and controls whether looping wraps from end to beginning so that playback is only in the forward direction (initial setting, Bounce Playback off) or alternates between forward and backward (Bounce Playback on). These loop/bounce settings apply only to interactive viewing, not recording a movie with the button mentioned above. See also: coordset slider
method ( linear | corkscrew )
How to calculate the rigid-body transformations within a stage:
- linear – rotate the group of atoms around its centroid and translate it along the straight line between the initial and final positions of the centroid
- corkscrew (default) – move the group of atoms along a circular arc in the plane perpendicular to the rotation axis, and linearly along the rotation axis. When moving along the circular arc, the group rotates at the same rate as the tangent to the arc. The combination of circular and linear motion makes the centroid traverse a helical path between its initial and final positions. In general, if the rotation angle is small, the helical path will be nearly straight (a small segment on a cylinder of large diameter). In the case of the largest possible angle, 180°, the helical path turns by half a circle, and the helical axis passes through a point halfway between the initial and final centroids.
cartesian true | false
Whether coordinates within a group of atoms should be linearly interpolated in Cartesian (x,y,z coordinate) space. Linear interpolation in Cartesian space simply moves each atom in a straight line between its starting and ending positions. Otherwise, internal coordinates will be used for the interpolation where possible (details...). Using internal coordinates is slower but produces less distortion. A trajectory made with Cartesian forcing may be acceptable if few atomic details will be shown (for example, if only ribbons will be displayed).
rate function
How conformational changes within a stage are distributed across the trajectory, where the function can be:
- linear (default) – coordinate changes will be distributed approximately evenly
- ramp down – coordinates will change most rapidly near the starting conformation
- ramp up – coordinates will change most rapidly near the ending conformation
- sinusoidal – coordinates will change most rapidly halfway between the starting and ending conformations
coreFraction f
minHingeSpacing M
colorSegments true | false
colorCore color
Hinges are identified using a reimplementation of the method described in Krebs and Gerstein, Nucleic Acids Res 28:1665 (2000). The coreFraction f (default 0.5) is the fraction of the residues in a chain to group in the first step of hinge detection. The best-matching fraction f of residues (best-fitting between the starting and ending structures) comprises one group and the remaining (1–f) a second group. Going through the residues in order, hinges are added between consecutive residues where there is a change from one group to the other, as long as a hinge is at least minHingeSpacing M residues away from the previous hinge (does not create a segment shorter than M residues, default 6). The colorSegments option shows the resulting segments in different colors (chosen automatically), whereas colorCore uses the specified color for residues in the initial core. Although segments are recomputed for each stage of a multistage morph, segment coloring only shows the first set.
Coordinate sets are generated by interpolating between starting and ending structures. Interpolation requires a pairing of atoms in the starting structure with atoms in the ending structure. Only atoms common to all of the input structures are included in the morph trajectory.
The structures must contain equal numbers of biopolymer chains (see limitations). Unless same is true, atoms are paired as follows:
If the sets of chain IDs are identical (for example, each structure contains chains A and B), the IDs will be used to indicate pairing; if they differ (for example, one structure contains chains A and B, whereas another contains chains A and D), the chains will be paired by their order of occurrence in the input files. Residues are paired by aligning the chain sequences. The sequence alignment is performed using the matchmaker defaults (Needleman-Wunsch algorithm, BLOSUM-62 matrix, secondary structure reassignment with dssp, 30% secondary structure scoring, etc.), except that the Nucleic matrix is used for nucleic acids. Only the sequence alignment stage of matchmaker is performed, not the superposition of structures.
HET residues are paired if they are covalently bonded to the same (equivalent) atoms in already paired residues, including other HET paired residues.
Once residues are paired, atoms in common within those residues are paired. In paired residues of the same type, atom pairing is straightforward. In paired residues of different types, only atoms with the same names are paired, and only a single connected fragment is kept per residue. For example (disregarding hydrogens), phenylalanine and tyrosine have in common all atoms of phenylalanine.
To summarize, HET residues such as ligands and ions are only included if at least one of the following applies:
Secondary structure is not automatically re-evaluated during playback. Protein cartoon (ribbon) display depends on which residues are in helices and strands, but these secondary structure assignments are not recomputed automatically as the coordinates change. The computeSs option of coordset or an alternative approach should be used to update the assignments.
Structures with different numbers of chains are not handled. Currently, a morph trajectory can only be generated from input structures with equal numbers of biopolymer chains. Extra chains in the input models should be deleted beforehand or split into separate models not used in morphing.
Sequences should be easy to align. The sequences of the structures must be aligned to determine the atoms in common for interpolation. When the sequences are dissimilar, parts of the sequence alignment may be wrong, leading to a jumbled and unattractive morph trajectory.
Linear interpolation in Cartesian (x,y,z coordinate) space simply moves each atom in a straight line between its starting and ending positions. Even with cartesian false, which means to interpolate dihedral angles where possible, many atoms will still be linearly interpolated in Cartesian space. These atoms include:
With cartesian true, the positions of all of the atoms will be interpolated in Cartesian space.