[phenixbb] symmetry related bond restraint
Edward A. Berry
BerryE at upstate.edu
Sun Aug 28 07:29:28 PDT 2011
>>> p = sgtbx.rt_mx("x-1,y,z")
>>> s = sgtbx.rt_mx("Y,X+1,-Z+1")
>>> print s.multiply(p)
y,x,-z+1
Or, breaking it down into three steps and doing it manually,
start with:
x,y,z
apply pre-shift (-1,0,0) => [x-1,y,z]:
x-1,y,z
apply pure rotation component of symop [Y,X,-Z]:
y,x-1,-z
apply post-translation of symop (0 1 1) => [x+0,y+1,z+1]
y+0,x-1+1,-z+1
y,x,-z+1
Ralf Grosse-Kunstleve wrote:
> On Fri, Aug 26, 2011 at 8:49 AM, Bryan Lepore <bryanlepore at gmail.com
> <mailto:bryanlepore at gmail.com>> wrote:
>
> [ dev-837 ]
>
> I am trying to understand a symmetry operation from coot as it bears
> on phenix bond in the geometry restraints. in essence:
>
> in coot, origin-pre-shift is (-1 0 0) and the symmetry-related atom I want is
>
> Y,X,-Z + (0 1 1)
>
> however, the correct operation in phenix is
>
> Y,X,-Z+1
>
> ... I suspect I simply do not understand the transformation. if i
> could at least confirm this math is correct, i'd appreciate it.
>
>
> Yes, correct:
>
> from cctbx import sgtbx
> p = sgtbx.rt_mx("x-1,y,z")
> s = sgtbx.rt_mx("Y,X+1,-Z+1")
> print s.multiply(p)
>
> You have two rotation-translation matrices, which you have to multiply in the correct
> order: first you shift the structure
>
> p * x
>
> then you apply the symmetry operation
>
> s * p * x
>
> Ralf
>
>
>
> _______________________________________________
> phenixbb mailing list
> phenixbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/phenixbb
More information about the phenixbb
mailing list