
Hi Jan,
This message from the cctbxbb archive demonstrates how you can map sites to
the asymmetric unit cell in Python. I think you should probably be able to
write the equivalent code in C++ if you need the speed, but I would have to
look into it more closely to be sure:
http://phenix-online.org/pipermail/cctbxbb/2010-February/000142.html
Regarding the sites_frac between 0 and 1, there is a standalone C++
function mod_positive() and a related function mod_short() in
cctbx/coordinates.h which act just on a site coordinate rather than on a
scatterer. If you have need to access this in Python you would need to
write a wrapper function that will act on a flex.vec3_double() from Python
and loop over this in C++. If this is what you want we can point you in the
write direction for how to accomplish this.
Cheers,
Richard
On 13 February 2013 10:20, Jan Marten Simons
Am Mittwoch 13 Februar 2013 18:19:15 schrieb Pavel Afonine:
Hi Jan,
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?
Yes you got that right.
It would be even better to have the option to restrict all sites_frac to be inside the asymmetric unit of the (empty) cell as well, as all other sites can be generated from symmetry operations later on, if one needs to have all of those.
Cheers, Jan _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb