symmetry related bond restraint
[ 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. -Bryan supplemental: * SG92 * apparently correct because the geometry checks fail otherwise * the scenario is similar to the thread linked below: http://www.phenix-online.org/pipermail/phenixbb/2010-April/015000.html * essentially a crosspost by me on coot the other day : https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=COOT;e45be09a.1108 * coot 0.6.2 rev-3562
On Fri, Aug 26, 2011 at 8:49 AM, Bryan Lepore
[ 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
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
mailto:[email protected]> 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 [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
participants (3)
-
Bryan Lepore
-
Edward A. Berry
-
Ralf Grosse-Kunstleve