Distance threshold based on covalent radii for fragment detection
Closed this issue · 1 comments
marcelmbn commented
Current state
- Fragments are detected based on the interatomic distance in comparison to the sum of tabulated covalent radii:
elif vdw_radii == "pyykko":
# Covalent radii (taken from Pyykko and Atsumi, Chem. Eur. J. 15, 2009, 188-197)
# Values for metals decreased by 10%
covalent_rad_2009 = [
0.32,
0.46, # H, He
1.20,
0.94,
0.77,
Afterwards, there is a constant factor of 1.333 with which both radii are multiplied before entering the fragment detection routine.
Problem
In some cases (predominantly P-Cl), the effective allowed distance is too large and does not correspond to chemical intuition anymore:
>>> (1.10+0.99)*4/3
2.7866666666666666
In ChimeraX, a valid structure then looks as follows:
... and GFN2-xTB provides a WBO of 0.214, suggesting the non-existence of a covalent bond.
How to solve
Approaches from simple to difficult:
- Make the parameter 1.333 adjustable via the
mindlessgen.toml
, and reduce it per default to, e.g., 1.2 - Take
wbo
as measure for fragmentation- Get all xTB
wbo
entries - For the fragment(s) to keep: Check all bond orders which (according to the distance measure before) are supposed to correspond to a covalent bond
- Get all xTB
marcelmbn commented
FYI, @gasevic and @jonathan-schoeps.