Thanks a lot for the information, Pavel. Rob On 05/12/2024 19:24, Pavel Afonine wrote:
Hi Rob,
I came across this article https://doi.org/10.1107/S160057672201144X. Although I have yet to read it in details I wonder if the CCTBX can Fcalc maps at finite resolution, i.e. not using Gaussian atomic density profiles. It looks like the function in cctbx.maptbx.atom_curves.bcr_approx(...) is suited to do so. If so, how would I use this for generating a real space map as in https://cci.lbl.gov/docs/cctbx/script_1/#create-a-map-from-a-pdb-file but now using atomic density profiles at finite resolution?
one way of doing this is to compute Fcalc using
def structure_factors
method of xray.structure. This is a finite resolution Fourier map you asking for, which is stored in miller.array object. If you need a real-space equivalent of that, do .fft_map() on that object that will give it to you.
The methodology described in the paper you quoted above is coded in cctbx/matpbx/bcr and indeed, this allows to compute finite resolution map directly without first computing Fourier map and then converting it into the real-space map, see
cctbx/matpbx/tst_bcr.py
for examples.
I'm actively working on this to enable real-space refinement of parameters like B factors, occupancies and coordinates using more accurate LS targets rather than simplistic atom-centered functions.
So far production code only computes the expansion coefficients and 1D atom map profiles. Soon I will commit actual general case finite resolution map generation code.
But for now you can just do the same via Fourier space.
Pavel
-- Robert Oeffner 15 Bayford Place Cambridge, CB4 2UF Tel: +44 (0)7712 887 162