[cctbxbb] Documentation on caching mechanisms implemented in structure factor calculation

Billy Poon BKPoon at lbl.gov
Tue Sep 29 22:21:00 PDT 2020


Hi Jan,

To add to Pavel's response, the direct summation code is located in
structure_factors_direct.h (
https://github.com/cctbx/cctbx_project/blob/master/cctbx/xray/structure_factors_direct.h).
The most recent change is for handling anharmonic ADP. The Python interface
is in cctbx.xray.structure_factors.from_scatterers_direct and an example of
usage can be found in the test, cctbx/regression/tst_xray.py, in the
"exercise_from_scatterers_direct" function.

As for simulating powder diffraction images, I'm not sure about that
specific technique, but there is some ongoing work in the simtbx directory
for serial protein crystallography and some older work in cudatbx for
solution scattering. For the solution scattering work, an image is
simulated and the 1-d SAXS curve can be calculated.

--
Billy K. Poon
Research Scientist, Molecular Biophysics and Integrated Bioimaging
Lawrence Berkeley National Laboratory
1 Cyclotron Road, M/S 33R0345
Berkeley, CA 94720
Tel: (510) 486-5709
Fax: (510) 486-5909
Web: https://phenix-online.org


On Mon, Sep 28, 2020 at 10:23 AM Pavel Afonine <pafonine at lbl.gov> wrote:

> Hi Jan,
>
> > It's been a while since I actively worked with cctbx, but now I wonder
> > if there is some in depth documentation on how the structure factor
> > calculation in the cctbx xray module is done.
>
> no, no any documentation on details how structure factors are
> calculated. Generally, the calculation protocol follows classic 20-50
> years old publications on the subject..
>
> > I'm especially interested
> > in caching strategies employed to speed up the calculation during
> > refinement runs (especially in the case of small molecules using direct
> > summation).
> >
> > So is there a kind of caching that keeps (partial) structure factor
> > contributions of each individual scatterer cached so that only the
> > partials of shifted scatterers have to be recalculated? If so is there a
> > python interface for accessing those?
>
> No, nothing like that is done, AFAIK. We used to do (or may be even
> still do!) something along these lines with the bulk-solvent mask: we
> would only update (recalculate) the mask if atoms moved by more than a
> certain threshold (0.3A, from memory).
>
> > Also is there an option to simulate/map the f_calc amplitudes onto a
> > 1dimensional 2theta or d* axis to compare those to powder diffraction
> > patterns?
>
> Not that I'm aware of..
>
> Pavel
>
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20200929/c25b8030/attachment.htm>


More information about the cctbxbb mailing list