Hi Luc, You can make both examples work like this: from cctbx.sgtbx import * info = space_group_info("P2/a") g = info.group() g.expand_ltr(tr_vec((1,1,1),2).new_denominator(sg_t_den)) from cctbx import sgtbx s = sgtbx.space_group_symbols("P21/c") g = sgtbx.space_group(s) g.expand_ltr(sgtbx.tr_vec((1,0,1),3).new_denominator(sg_t_den)) g.expand_ltr(sgtbx.tr_vec((2,0,2),3).new_denominator(sg_t_den)) 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 worthwhile. BTW: A more convenient way of adding symmetry operations is: g.expand_smx("x+1/2,y+1/2,z+1/2") Cheers, Ralf ____________________________________________________________________________________ Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com