[cctbxbb] Fail to extend space-group with centring translations

Ralf W. Grosse-Kunstleve rwgk at yahoo.com
Fri Dec 8 13:22:43 PST 2006

Hi Luc,

You can make both examples work like this:

from cctbx.sgtbx import *
info = space_group_info("P2/a")
g = info.group()

from cctbx import sgtbx
s = sgtbx.space_group_symbols("P21/c")
g = sgtbx.space_group(s)

Any setting of any crystallographic space group can be processed
via sgtbx.space_group, as long as the rotation matrix elements are
integers. You may just have to be careful in choosing appropriate
"t_den" (translation denominators). All matrices in a given space_group
instance have to have the same t_den. I know it can be a hassle,
but I don't consider it a practical limitation.  Note that sg_t_den
is just the default (12). You can set other values if necessary.

You cannot change the rotation denominator (fixed at 1) for the
matrices processed by sgtbx.space_group. Therefore you cannot work
with, e.g. the pseudo-orthorhombic C-centered setting of a hexagonal
space group. However, I never came across a situation where this
was interesting.

It would be possible to rewrite the sgtbx based on boost::rational<int>,
but it is a big project. The advantage would be more flexibility,
the disadvantage a performance decrease. If there is a strong reason
I would go for more flexibility, but so far I've never found this

BTW: A more convenient way of adding symmetry operations is:



Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.

More information about the cctbxbb mailing list