[Chimera-users] Morphing aligned maps

Tom Goddard goddard at cgl.ucsf.edu
Mon Jul 21 09:46:46 PDT 2008

Hi Haixin,

  The morph map tool just linearly interpolates the two volume 3-d 
arrays at each grid point.  So it does not work correctly if you have 
moved one map relative to the other since it ignores their relative 
positioning.  To use it in this case you need both maps to use the same 
grid so you have to "resample" one map.  That is you recompute that map 
on the same grid as the other map using interpolation.  The command to 
do that is "vop", for example,

    vop #1 resample onGrid #0 modelId #2

Now use morph map between model #0 and the resampled volume #2.

  Morph map doesn't provide a way to morph between more than 2 maps.  
That would be useful.  You can use it to morph the separate pairs of 
maps 0 -> 1, then 1 -> 2.  You can almost record a movie of this using 
the following trick.  First record 0 -> 1 but when it asks you to save 
the movie leave that dialog alone (don't cancel since that will erase 
the saved image frames).  Then record 1 -> 2 and then save the movie.  
Frames from both morphs will be included in the movie.  The problem is 
that each morph plays both forward and backward so you get 0 ->1 -> 0 
jumps to 1 -> 2 -> 1.  You could avoid the looping with a small 
modification to the Morph Map code.  You would edit 
chimera/share/MorphMap/gui.py adding a few lines in the next_frame_cb() 

    if next_f >= fmax:
      next_f = fmax
      self.step_direction = -1

would become

    if next_f >= fmax:
      next_f = fmax
      self.step_direction = -1
      if self.recording:

Keep indentation as shown since that is important in Chimera.


Haixin Sui wrote:
> Hi, Tom
> ...
> I have a map morphing question. I manually aligned two maps in Chimera 
> in order to do a map morphing for my presentation. However, the map 
> morphing does not happen at the aligned positions but shifted the 
> second map back to the position before the alignment. I wonder how 
> should I get arroudn this problem. Saving the second maps relatie to 
> the first and read it in again?
> Meanwhile, I have several maps I want to do map morphing and show 
> changing in between them.  It will be great if chimera can work with 
> more than one maps and show the changed from map#1 to map#2, and then 
> #3 ...  This feature can be helpful when people want to show several 
> conformational changes.
> Haixin

More information about the Chimera-users mailing list