Open sizmailov opened 3 years ago
Sorry for confusion, now I see. Actual old k_isotropic
values are effectively ignored by populate_bin_to_individual_k_mask_linear_interpolation()
since trial r-factor calculation is done in resolution bin with adjusted overall scale factor (inside of try_scale()
). So, please scratch initial question.
Let me ask another one here about same piece of code. Next two snippets are final parts of k_mask_grid_search
and bulk_solvent_scaling()
. Both functions optimize k_bulk
and update k_isotropic
in accordance.
Shouldn't they be exactly the same?
I have a question about recent change in bulk solvent scaling by @pafonine
In the
k_mask_grid_search()
we find newk_mask
and correspondingk_isotropic
in resolution shells via grid search. Next we try to improve r-factor by linear interpolation ofk_mask
viapopulate_bin_to_individual_k_mask_linear_interpolation()
. Finally we acceptk_mask
andk_isotropic
if they improve r-factor.The problem is that
populate_bin_to_individual_k_mask_linear_interpolation()
always use oldk_isotropic
to compute r-factor. Is there a rationale behind it? Shouldn't it use newk_isotropic
instead?https://github.com/cctbx/cctbx_project/blob/a15fcd9b500288fe471a47b6e32eabf89f78701e/mmtbx/bulk_solvent/scaler.py#L363-L392