ReliaSolve / cctbx_project

Computational Crystallography Toolbox
https://cctbx.github.io
Other
0 stars 0 forks source link

Why are we getting larger contacts in 1xso for HG vs. C? #175

Closed russell-taylor closed 2 years ago

russell-taylor commented 2 years ago

HG ACYS 6 A has strong collisions rather than weak ones in Probe2.

HG BCYS 6 B is the same, facing B GLY B 145.

russell-taylor commented 2 years ago

This seems likely to have to do with the Carbonyl 1.65 vs. 1.7 calculations being done in the code. It seems likely to be a problem in the inner loop of the Probe2 code when its target is a Carbonyl and its source is a non-Phantom Hydrogen. But this factor never shows up in score_dot(). However, the original Probe does swap out COdots for the atom's own dots when the source is a Carbonyl (but not in the case where the target is) -- these dots seem to be correct, it is the ones on the Hydrogen that are different. The Hydrogen radii and Carbon radii are the same in both versions.

For this to not be a hydrogen bond, it seems like the charges must be incompatible.

russell-taylor commented 2 years ago

image image

russell-taylor commented 2 years ago

(done) Try printing the dot length for the HG atoms to see if it is as expected. Yes, all of the dot lengths for HG in residue number 6 are 1.22.

russell-taylor commented 2 years ago

For HG residue 6 clashes, he maximum gap is around -0.375 with corresponding spike length 0.358. This matches what we're seeing in the kinemages.

russell-taylor commented 2 years ago

(done) Why are the source vdwRadius lookups for the HG atoms 1.05 when the dot lengths are 1.22? Looks like a discrepancy somewhere.

When the values are set, after scaling all of the radii for the atoms (normally by 1) in run, the HG atom's radius is listed as 1.22. These can be adjusted in the code that adjusts hydrogens in the phantom-hydrogen addition code.

(done) This is the problem; the dot radii are not being adjusted along with the atom radius. Moved the dot creation after all atom modifications.

russell-taylor commented 2 years ago

(done) Verify that Reduce is taking the changed radii into account. Actually, it is not adjusting polar hydrogen radii at all. We should probably move the adjustment into getExtraAtomInfo() and move the use_polar_hydrogens into a set_polar_hydrogen_radii parameter within probe... done.

(done) Make a regression test to detect it if these radii are changed in chem_data so we don't double-correct. The code is idempotent, and will not change the radius if it was already correct in CCTBX.

(done) Let Jane, Dorothee and Nigel know that polar hydrogen radii are not 1.05 when we get them from CCTBX.