[cctbxbb] unexpected behaviour of unit_cell.fractionalize

Jan Marten Simons marten at xtal.rwth-aachen.de
Wed Feb 13 07:17:45 PST 2013


Hi, 

When I try to convert a list of direct space coordinates into fractional 
coordinates like this:

from cctbx import xray
from cctbx import crystal
from cctbx.array_family import flex

structure = xray.structure(
  special_position_settings=crystal.special_position_settings(
    crystal_symmetry=crystal.symmetry(
      unit_cell=(3.14098, 4.08327, 5.33966, 83, 109, 129),
      space_group_symbol="P1")))

sites = flex.vec3_double( ((0.0, 0.1, 0.2), (1.3, 3.0, 2.3), (5.3, 0.1, 7.3)) )
sites_frac = structure.unit_cell().fractionalize(sites)
print(list(sites_frac))

Now this returns a list of coordinates where x,y,z may be outside ot the 
interval [0,1[. ... quite unexpected.

It would be very nice to have at least an option like "restrict_to_asu" in 
unit_cell.fractionalize which would enforce (x,y,z) to be inside the 
asymmetric unit and/or "restrict_to_cell" which would enforce (x,y,z) to be 
inside the unit cell.

Could any of you more into the inner workings of the cctbx add this 
functionality, please?

Thanks in advance,

Jan


More information about the cctbxbb mailing list