Hi all--
I'm trying to figure out how to orthogonalize symmetry operators given a
unit cell, which doesn't seem to be something we have code for. These
appear in PDB files in the REMARK 290 section but I haven't been able to
find any other software that generates them, and the relationship between
the symops and the real-space equivalents is unclear. I assume this is
conceptually similar to orthogonalizing fractional coordinates, but
unit_cell.orthogonalize() does not quite do what I wanted. In the PDB, for
P63 it has this (excerpted):
REMARK 290 2555 -Y,X-Y,Z
...
REMARK 290 SMTRY1 2 -0.500000 -0.866025 0.000000 0.00000
REMARK 290 SMTRY2 2 0.866025 -0.500000 0.000000 0.00000
REMARK 290 SMTRY3 2 0.000000 0.000000 1.000000 0.00000
which looks like it should be relatively straightforward, but I'm not very
good with matrices. Does anyone know the correct math for this? The
corresponding rt_mx object from sgtbx looks like this:
r=(0.0, -1.0, 0.0, 1.0, -1.0, 0.0, 0.0, 0.0, 1.0) t=(0.0, 0.0, 0.0)
(Yes, I realize that there are much easier ways to apply symmetry operators
to coordinates, but I want to limit the number of matrix multiplications
involved when starting from Cartesian coordinates.)
thanks,
Nat