[Chimera-users] Origin of transformation matrices

Daniel Asarnow asarnow at msg.ucsf.edu
Fri Apr 19 19:29:19 PDT 2019


Got it, thanks. My code is working exactly as expected now with the
transforms copied from fit-in-map.

Best,
-da

On Mon, Apr 15, 2019 at 12:02 PM Tom Goddard <goddard at sonic.net> wrote:

> Hi Daniel,
>
> The translation and rotation are given for the physical units (Angstroms),
> not grid index units.  Chimera almost always reports things in physical
> units.  The volume origin index in the Volume Viewer is a rare exception
> where it is reported in grid index units, and it has "index" in the name to
> clarify that.
>
> In Chimera the map data values are at the integer grid index values, not
> half-integer.  In other words the density value at grid index 10,15,20 is
> considered top be a sample at exactly that grid point in physical space.
>
> Tom
>
>
>
> On Apr 13, 2019, at 6:42 PM, Daniel Asarnow <asarnow at msg.ucsf.edu> wrote:
>
> Thanks for the clarification, Tom, and sorry I didn't see your message
> right away.
>
> Is the translation from measure rotation also in coordinate units or grid
> units? For measure center I know that for volumes the coordinates are
> always in grid units (but in Angstroms for the volume eraser and sets of
> atoms).
>
> The cryo-EM processing programs predominantly use the convention that the
> origin of an image or volume is N // 2, so the indices are in [0, N - 1]
> and the coordinates are in [-N // 2, N // 2 - 1], i.e. there is one more
> voxel on the negative side of the axes and the coordinate (0, 0, 0) is
> defined as the center of the pixel at index N // 2.
>
> Is Chimera using the convention that the pixels are at the half-integer
> coordinates? It's the difference between using N // 2 and N // 2 +/- 0.5 to
> form the origin when recovering the translation around (0, 0, 0) using the
> formula R * O + T - O. (And assuming the origin index is 0, since none of
> the processing packages are setting a different value in output file
> headers).
>
> Best,
> -da
>
> On Wed, Apr 10, 2019 at 12:29 PM Tom Goddard <goddard at sonic.net> wrote:
>
>> Hi Daniel,
>>
>>   The measure rotation command and fit in map output reports a
>> transformation matrix that is a rotation and a translation that maps the
>> coordinates of one model to the coordinates of another model, xyz -> R*xyz
>> + T where R is the 3x3 rotation matrix and T is the translation vector.
>> These are listed as a 3x4 matrix with the first 3 columns being the
>> rotation and the 4th column being the translation.
>>
>>   The "origin" of density map is the position in the volume coordinate
>> system where x,y,z = 0,0,0.  This is often *not* (boxsize/2, boxsize/2,
>> boxsize/2).  For instance, for a box size of 100,100,100 the origin may be
>> at grid point 49,49,49 instead of 50,50,50.  The exact center of the volume
>> is at grid point 49.5,49.5,49.5 in this case where grid indices start at 0,
>> ie 0-99.
>>
>>   An MRC file has no header value that says whether the origin is set.
>> In other words, in the MRC file, the origin is always set, even if it is
>> 0,0,0.  In fact there are two origins specified in the MRC header.  Chimera
>> usually uses the xorigin, yorigin, zorigin values
>>
>>
>> http://www2.mrc-lmb.cam.ac.uk/research/locally-developed-software/image-processing-software/#image
>>
>> for cryoEM maps, but for CCP4 files which is nearly an identical format
>> but used mostly for x-ray crystallography it will instead use the nxstart,
>> nystart, nzstart header values.  Whether a file is MRC or CCP4 is given by
>> word 53 of the header.
>>
>>   The origin being used by Chimera is reported in the Volume Viewer, menu
>> Features / Coordinates, called Origin Index and is grid index units (not
>> Angstroms) with grid indices starting at 0.
>>
>> Tom
>>
>>
>> On Apr 9, 2019, at 4:17 PM, Daniel Asarnow wrote:
>>
>> Hi,
>> What's the origin for the rotation/translation output by measure rotation
>> or fit-in-map results? If the origin index is 0, is the transformation
>> calculated around (0, 0, 0)?
>>
>> I'm extending my software for transforming single-particle EM alignment
>> parameters to accept a transformation matrix copy-pasted from Chimera and
>> am having a slight difficulty. For most EM maps, the origin MRC header is
>> not set, and the origin appears to be (0,0,0). Thus, if R and V are the
>> rotation and translation from Chimera, the formula R * O + V - O where O is
>> the real origin (boxsize / 2, boxsize / 2, boxsize / 2) should give the
>> correct translation. However, it's exactly one pixel short.
>>
>> Best,
>> -da
>> _______________________________________________
>> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu
>> Manage subscription:
>> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
>>
>>
>> _______________________________________________
> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu
> Manage subscription:
> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20190419/2d1ad4fc/attachment.html>


More information about the Chimera-users mailing list