[cctbxbb] unexpected behaviour of unit_cell.fractionalize
pafonine at lbl.gov
Wed Feb 13 09:19:15 PST 2013
I see, yes, that's right.
Just to make sure I correctly understand.. So having *only* sites_cart
and unit_cell, you want to convert these sites_cart into fractional
basis such that resulting sites_frac are all between 0 and 1, correct?
On 2/13/13 8:43 AM, Jan Marten Simons wrote:
> 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
>> On 2/13/13 7:17 AM, Jan Marten Simons wrote:
>>> 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(
>>> unit_cell=(3.14098, 4.08327, 5.33966, 83, 109, 129),
>>> 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)
>>> 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,
> cctbxbb mailing list
> cctbxbb at phenix-online.org
More information about the cctbxbb