ReliaSolve / cctbx_project

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

Find out where the tables for ionic radii are found in CCTBX #69

Closed russell-taylor closed 3 years ago

russell-taylor commented 3 years ago

Give the table to the Richardsons

russell-taylor commented 3 years ago

There is a cctbx/eltbx/icsd_radii.cpp file that has a table of ionic radii for different charges on different elements. There is also a covalent_radii.ccp and a van_der_waals_radii.py that hold tables based on element names. These seem to only be used by sphinx.

There is an ionic_radius_table in cctbx/geometry_restraints/nonbonded.h whose comment reports that it holds the VdW radii for ions. That table is filled in by mmtbx/monomer_library/pdb_interpretation.py from getattr(energy_lib_atom, "ion_radius"), where energy_lib_atom comes from ener_lib.lib_atom.items(), which is in ener_lib_as_nonbonded_params() with ener_lib coming from construct_geometry_restraints_manager(), with ener_lib coming from geometry_restraints_manager(), which gets it from self.ener_lib. In tst_psb_interpretation.py and other test programs, we have ener_lib = monomer_library.server.ener_lib() so it looks like these are from the monomer library.

russell-taylor commented 3 years ago

My guess is that we should be using the second one, which comes from the monomer library and that they are read from modules/chem_data/mon_lib/ener_lib.cif.

I've asked Nigel to confirm this.

russell-taylor commented 3 years ago

Nigel reports: Yes, you are correct. It is the tables in modules/chem_data/mon_lib/ener_lib.cif and modules/chem_data/geostd/geostd_ener_lib.cif. The lookup, I believe, is via the type (first column) which may be in the GRM for OXT. This is the way I'm thinking we can use to get the vdw from the GRM but have not been able to get the code together yet.