Rigimol.morph

From PyMOLWiki
Jump to navigation Jump to search

The morph command is an incentive PyMOL feature (not available in open-source version). Given a two-state object, morph can create an interpolated trajectory from the first to the second conformation.

Notice: There is a new morph command in PyMOL 1.6

Usage

morph source, target [, first [, last [, refinement [, async [, steps ]]]]]

Arguments

  • source = string: name of two-state input object
  • target = string: name of output object to create
  • first = int: start state of source {default: 1}
  • last = int: end state of source {default: 2}
  • refinement = int: number of sculpting refinement cycles to clean distorted intermediates {default: 10}
  • steps = int: number of states for target object {default: 30}

Warning: arguments first, last and steps new in PyMOL 1.5 (up to 1.4 they are always at default values)

Example

# get open and closed conformation of adenylate kinase
fetch 1ake 4ake, async=0

# make two state object
align 1ake and chain A, 4ake and chain A, cycles=0, object=aln
create rin, 1ake and aln, 1, 1
create rin, 4ake and aln, 1, 2

# morph
from epymol import rigimol
rigimol.morph("rin", "rout")

Troubleshooting

Rigimol likes to fail if the atom identifiers (like chain) in the two input states do not match properly. A more robust way to create the two state object is to update state two coordinates without matching identifiers:

# make two state object
align 1ake and chain A, 4ake and chain A, cycles=0, object=aln
create rin, 1ake and aln, 1, 1
create rin, rin, 1, 2
update rin, 4ake and aln, 2, 1, matchmaker=0

PyMOL Command

if you prefer PyMOL syntax over python syntax, add this to your pymolrc file:

import epymol.rigimol
cmd.extend('morph', epymol.rigimol.morph)

See Also

  • morph, the PyMOL 1.6+ morph command
  • morpheasy, a robust wrapper for the morph command which takes care of matching atom identifiers (requires the psico module)
  • slerpy
  • eMovie