Hi,
I am an experienced C++ and Python programmer, but
new to cctbx.
Can any tell me if there is an algorithm in cctbx
available to convert an arbritrary point in direct space to the
corresponding point in the asymmetric unit of a given space
group? i can figure out how to convert it to the corresponding
point in the unit cell at the origin, but from there to the
asymmetric unit is unclear to me.
I found the brick class which gives me the
assymmetric unit
from cctbx import crystal,sgtbx
if __name__=='__main__':
crystal_symmetry = crystal.symmetry( unit_cell=(3.5093,3.5093,3.5093,90,90,90)
, space_group_symbol="229" # = "I m -3 m"
)
sg = crystal_symmetry.space_group()
brick = sgtbx.brick( sg.type() )
print brick
I also found cctbx::sgtbx::asu and the classes
therein, but they are largely undocumented.
For the interested, this is the problem i want to
solve:
I have a (scalar) physical property P(r), depending
on spatial position, presented as a 3D array on a regular grid
over the unit cell (space group is known). I need to integrate
P(r)*f(r), f(r) being an arbitrary function over a region of
direct space, which typically comprises several unit cells. In
order to reduce the memory footprint of the P array, i would
like to restrict it to the space group’s asymmetric unit.
All help is greatly appreciated.
kindest regards,
_______________________________________________
cctbxbb mailing list
[email protected]
http://phenix-online.org/mailman/listinfo/cctbxbb