This is a read-only mirror of pymolwiki.org

Morph

From PyMOL Wiki
Revision as of 05:26, 8 February 2016 by Bell (talk | contribs) (1 revision)
Jump to navigation Jump to search

The morph command is an incentive PyMOL feature (not available in open-source version). Given two or more conformations, either as two objects or one multi-state object, morph can create an interpolated trajectory from the first to the second conformation.

This command is new in PyMOL 1.6, for older versions see rigimol.morph, which requires some scripting.

Usage

morph name, sele1 [, sele2 [, state1 [, state2 [, refinement [, steps [, method [, match ]]]]]]]

Arguments

  • name = string: name of object to create
  • sele1 = string: atom selection of first conformation
  • sele2 = string: atom selection of second conformation {default: <sele1>}
  • state1 = int: sele1 state {default: 1}. If state1=0 and sele1 has N states, create N morphings between all consecutive states and back from state N to 1 (so the morph will have N*steps states). If state2=0, create N-1 morphings and stop at last state.
  • state2 = int: sele2 state {default: 2 if sele1=sele2, else 1}
  • refinement = int: number of sculpting refinement cycles to clean distorted intermediates {default: 3}
  • steps = int: number of states for sele2 object {default: 30}
  • method = string: rigimol or linear {default: rigimol}
  • match = string: method how to match sele1 and sele2 {default: align}
    • in: match atoms by "in" selection operator
    • like: match atoms by "like" selection operator
    • align: match atoms with align function (with cycles=0)
    • super: match atoms with super function (with cycles=0)
    • name of alignment object: use given alignment

Example

Default Parameters

fetch 1akeA 4akeA, async=0
align 1akeA, 4akeA
morph mout, 1akeA, 4akeA

Morphing with Ligand

Since the default match=align method ignores ligands in most situations, we'll use the "in" match method. In this case, both input structures need matching identifiers. The default post-RigiMOL sculpting refinement tends to let all molecules that are not connected to the protein backbone bounce around; that's why refinement=0 might give better results in this case.

# get two hemoglobin beta chains, the "ligand" will be the heme hetero group
fetch 1hbb, async=0
create conf1, chain B
create conf2, chain D
delete 1hbb

# important: identifiers must be the same
alter conf2, chain="B"
alter all, segi=""

# optional: styling
as cartoon
show sticks, not polymer
show nb_spheres

# superpose and morph
align conf1, conf2
morph mout, conf1, conf2, match=in, refinement=0

GUI

The morph feature is available from the object menu panel: A > generate > morph

See Also