grimme-lab/MindlessGen

Distance threshold based on covalent radii for fragment detection

Closed this issue · 1 comments

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:

image

... 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:

  1. Make the parameter 1.333 adjustable via the mindlessgen.toml, and reduce it per default to, e.g., 1.2
  2. Take wbo as measure for fragmentation
    1. Get all xTB wbo entries
    2. 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