Closed russell-taylor closed 2 years ago
See if METALIC_ATOM has some sort of different radius treatment:
See where the 1.4 comes from in CCTBX for Fe and what the label for that entry is to help determine this: It comes from the energy_lib_atom type, whose entries are ion_radius = 0.68, vdw_radius = 1.4, vdwh_radius = None, vdw_radius_neutron = None.
The radius values do not appear to be flipped in this table -- manageMetals() looks for covRad() to determine N-metal bonding, so is not treating them differently. However, their behavior is odd...
See if Reduce/Probe ignores them entirely...
Done:
The swapping resulted in large clashes. More info from the Richardsons: The bad news is that just swapping radii back to match the column headings is not an answer. Attached is a pair of slides for one case of old vs new radii; old radii often give no dots at all, and sometimes a few weak contacts, while new radii always give bad clashes. However, looking at this has taught us a good deal about what we might actually do. The column switch is not an oversight/typo -- it has some justification in the physics of ionic interactions, but has not been used in a reasonable way. With Michael's help, we have seen that the closest ion ligand atoms are at a distance that is very close to the sum of the ion's ionic radius and the ligand atom's vdW radius. For example, Mg++ ionic radius is 0.65Å and Na+ is 0.95Å, while O vdW (or ionic) is 1.4Å, giving optimal distances of 2.05Å and 2.35Å respectively; we see close distances of about 2.05-2.1A and 2.35-2.4Å. So that somewhat accounts for why the columns were switched. But that distance is the ideal interaction that should get lots of good dots, with a score tapering off in both directions. To do that we need to work out a somewhat different algorithm and normalization for ionic contacts, including estimates of the energy of a good ionic interaction as something between H-bond and covalent. One guess is that we got misled by the fact that ionic and covalent radii are roughly similar, although ion binding is certainly much weaker than a covalent bond. So we can probably work this out, but the table "bug" is definitely not a quick fix.
(nope) If the above works as expected:
This will require a new approach to get correct, including pulling the metallic ions out into their own table. Will consider redoing this once we have a plan for how to proceed.
As of July 2021, based on discussions with Michael Prisant the Richardsons have decided that the ionic radius should be used for all calculations, and the "covalent radius" hack of adding an offset should never be used. The new Probe tables have been modified to have the same value in all radius columns.
@todo: The Probe code to compute VdW radius has been modified to always use the Probe values for metallic atoms (ions). Once we have a method from Nigel to look up the ionic radii within CCTBX, we can swap that in for the metallic atoms; if CCTBX switches to returning the ionic radius as the VdW radius then we don't need to do anything special for metals and we can just use the VdW call for all atoms.
The smaller value should be covalent. Only METALIC_ATOM ones have larger covalent radii in the tables. The covalent value in Probe/Reduce is close to the VDW value from CCTBX. It looks like they have gotten flipped.