[cctbxbb] unexpected behaviour of unit_cell.fractionalize

Jan Marten Simons marten at xtal.rwth-aachen.de
Wed Feb 13 08:43:06 PST 2013


Am Mittwoch 13 Februar 2013 17:01:37 you wrote:
> Hi Jan,
> 
> can this method work for you: sites_mod_positive ? I don't remember what
> exactly it does but I think it either what you need or at least very close.

Hi Pavel,

hm, it goes in the right direction, but is not exactly what I'm looking for, 
as it is bound to scatterers and not to sites in general. And adding a 
scatterer for each site I want to convert to the structure first, then 
converting, and than extracting the converted sites from the scatterers 
afterwards seems quite inefficient to me.

Also I think it would be clearer to add the functionality for this to the 
"fractionalize" function as people trying to convert from direct space 
coordinates to fractional coordinates will most likely find this functionality 
first.

Cheers,
Jan
 
> On 2/13/13 7:17 AM, Jan Marten Simons wrote:
> > 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