[Chimera-users] transform coordinates of multiple volumes

Tom Goddard goddard at sonic.net
Fri Apr 27 11:49:54 PDT 2012

Hi Ludovic,

   As Elaine says the map file formats don't support rotated grids so 
you'd have to resample the map with "vop resample".   You could specify 
the grid using a copy of the map in the unrotated position and use the 
"boundingGrid true" option so that the bounds of the new resampled map 
are chosen to cover the entire rotated and shifted map.  For example, 
"vop resample #1 onGrid #0 boundingGrid true".

   As for doing the rotation, no Chimera command accepts Euler angles.  
But a Python script can do it.  I've attached an example.  To rotate 
volume #0 using Euler angles 45,60,20 (using z-x-z "chi-convention") and 
then translate by 15, 33.5, -10 Angstroms start Chimera in the directory 
containing the attached eulermove.py script, open the volume and use:

     runscript eulermove.py #0 45 60 20 15 33.5 -10

The result will be two new volumes, one being a copy of the original 
volume rotated and translated, and the other being a resampled version 
of the rotated translated map on the original grid.  The original map 
stays in the same place.


> On Apr 27, 2012, at 9:26 AM, Ludovic Renault wrote:
>> Hi Elaine,
>> I have 120 or so 3d volumes (EM maps). They are all equivalent and are centered at the same position.
>> I would like to move each one of these 120 volumes by a specific value in terms of euler angles and shift (in pixels I assume). I can use the 'trAnsform coordinates' tool but then if I save the map, it is not saved with the new coordinates.
>> So
>> 1- How to (Or can I) save the new coordinates for each volume?
>> 2- Can I use command lines to automate the process for example by giving the command a text file with the specific coordinates for each volume?
>> I did do the rotation with spider software, but the shifting doesn't work because the volume(s) go outside of the box. So if all the above is not doable, is it possible to increase the volumes boxe size in chimera, then I could use the shift function in spider?
>> I hope I'm clear enough.
>> Thanks,
>> Ludovic
> Hi Ludovic,
> It is recommended to send Chimera questions to the chimera-users list (CC'd) -- I'm not the top expert on volumes, so others may have better answers!
> I think the shift in Transform Coordinates is not in pixels but in units of length.
> <http://www.cgl.ucsf.edu/chimera/docs/ContributedSoftware/transform/transform.html>
> How the volume grid units map to units of length can be viewed by using Features...Coordinates in the Volume Viewer menu.
> Chimera has commands for translation (move) and rotation (turn) in X,Y,Z coordinate systems, but I don't know of a command to apply Euler rotations.
> <http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/move.html>
> <http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/turn.html>
> About saving a transformed map:
> The map formats don't include transformation information, so there is no way to save EXACTLY the same data, except transformed. However, you can resample the map onto a new grid, and then save the new map.  The values at the new grid points are determined by interpolation, so there will be some (generally minor) data loss.
> <http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/savemodel.html#afterfitting>
> The resampling of one map onto the grid of another can be done with command "vop resample", for example:
> vop #1 resample onGrid #0
> <http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/vop.html#resample>
> To save the new resampled volume to a file, you could use "File... Save Map as" in the Volume Viewer dialog or the command "volume" with its  "save" option.
> However, I see that "vop resample" is most pertinent for saving a map that has been fitted to another.  In your case you are simply transforming the map, so it is unclear on what grid you could resample. Maybe there is some way to make a "dummy" grid in the right place.
> Although "vop cover" extends a map, it assumes periodicity of that map, whereas I assume you want zeroes in the expanded parts.  Perhaps expanding a map with zeroes could be done using "vop add" to add a dummy zero map to your data set of interest.
> Sorry I couldn't give a more complete solution,
> Elaine
> -----
> Elaine C. Meng, Ph.D.
> UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab
> Department of Pharmaceutical Chemistry
> University of California, San Francisco
> _______________________________________________
> Chimera-users mailing list
> Chimera-users at cgl.ucsf.edu
> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users

-------------- next part --------------
A non-text attachment was scrubbed...
Name: eulermove.py
Type: text/x-python-script
Size: 730 bytes
Desc: not available
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20120427/28acccdb/attachment.bin>

More information about the Chimera-users mailing list