MTK++ Latest version: 0.2.0

Bond Type Determination

There are two algorithms implemented to preceive atom hybridizations, bond order and formal charge

The first is the Meng algorithm published in 1991. (J. Comp. Chem. 1991, 12, 891-898)

The second and default algorithm used is in close agreement with that published by Labute in 2005. (J. Chem. Inf. Comput. Sci. 2005, 45, 215-221)

The Labute Algorithm

hybridizeStart.png
PPARg Inhibitor

Let $x_1, ..., x_n $ denote the 3D coordinates of n atoms with atomic number $ Z_1, ..., Z_n $, number of bonded atoms, $ Q_i $ and $r_{ij} = |x_i - x_j| $.

Step 1

Bonds are perceived by first producing a candidate list and then refining it using geometry. Covalent radii from Meng are used in the following: $ 0.1 < r_{ij} < R_i + R_j + 0.4 $

For each atom, i, a "dimension", d_i, is assigned based on a principal component analysis of the Gram Matrix (the current atom and its bonded atoms).

\[ D = \sum_{i=0}^{k}(q_i-\bar{q})(q_i-\bar{q})^{T} \]

\[ \bar{q} = {1 \over k}\sum_{i=0}^{k}q_i \]

$ d_i $ is set to k if k < 2 otherwise, $ d_i $ is the number of positive eigenvalues of $ D $ with square root greater than 0.2. $ d_i $ will be 0 for isolated atoms, 1 for terminal and linear atoms with at least 2 bonds, 2 for planar atoms (e.g., sp2 or square planar), and 3 otherwise (e.g. tetrahedral or sp3d)

hybridizeStep1.png
Step 1: D values

Step 2

An upper bound $ B_i $ for the number of bonds allowed by an atom is determined using $ d_i $ and $ Z_i $ as follows:

Only the shortest $ B_i $ are retained. At this point all atom hybridizations and bond orders are set to zero or undefined.

Step 3

This step assigns obvious hybridization based on $ d, Z, and Q $. Each substep is applied to atom of zero hybridization:

hybridizeStep3.png
Step 3: Hybridization Values

Step 4

Only atoms with unassigned hybridizations have $ d < 3, Z = (C,N,O,Si,P,S,Se),Q < 4 $ and at least one bonded neighbor with an unassigned hybridization. At this stage all bond orders, $ b_ij $ in which atom $ i $ or $ j $ has non-zero hybridization are set to 1.

Step 5

A dihedral test is used to identify bonds of order 1. The smallest out-of-plane dihedral is computed using: $ \min_{j,k} {|P_{ijkl}| , |\pi-P_{ijkl}|, |-\pi-P_{ijkl}|} $ If this dihedral is greater than 15 degrees then $ b_{ij} $ is set to 1.

See also:
torsion()
hybridizeStep5.png
Step 5: Lines in red represent bonds of order 1

Step 6

The following table of lower bound single bond lengths:

\[ \begin{array}{lc||lc} bond & dist & bond & dist \\ C-C & 1.54 & C-N & 1.47 \\ C-O & 1.43 & C-Si & 1.86 \\ C-P & 1.85 & C-S & 1.75 \\ C-Se & 1.97 & N-N & 1.45 \\ N-O & 1.43 & N-Si & 1.75 \\ N-P & 1.68 & N-S & 1.76 \\ N-Se & 1.85 & O-O & 1.47 \\ O-Si & 1.63 & O-P & 1.57 \\ O-S & 1.57 & O-Se & 1.97 \\ Si-Si & 2.36 & Si-P & 2.26 \\ Si-S & 2.15 & Si-Se & 2.42 \\ P-P & 2.26 & P-S & 2.07 \\ P-Se & 2.27 & S-S & 2.05 \\ S-Se & 2.19 & Se-Se & 2.34 \\ \end{array} \]

and $ |x_i - x_j| > L_{ij} - 0.05 $, where $ L_{ij} $ is the reference bond length, is used to identify single bonds.

hybridizeStep6.png
Step 6: Lines in red represent bonds of order 1

Step 7

After steps 5 and 6 the hybridizations of all uncharacterized atoms not involved in a bond of unknown order are set to sp3.

hybridizeStep7.png
Step 7: Atom Hybridizations

Step 8

A molecular graph is formed including only atoms (vertices) that have undefined hybridization and bonds (edges) that have unknown order. This graph is then divided into components or subgraphs. Each subgraph is analyzed independently and bond orders are assigned.

hybridizeStep8a.png
Step 8 A: Subgraphs of the Molecular Graph

Assign edge weighs using $ w_{ij} = u_i + u_j + 2\delta(r_{ij} < L_{ij} - 0.11) + \delta(r_{ij} < L_{ij} - 0.25) $ and the following atom parameters, $ u $ (3rd and 4th row elements are mapped to the corresponding 2nd row with 0.1 been subtracted, -20.0 for all other atoms):

\[ \begin{array}{lccc} atom & Q=1 & Q=2 & Q=3 \\ C-O & 1.3 & 4.0 & 4.0 \\ C-N & -6.9 & 4.0 & 4.0 \\ C & 0.0 & 4.0 & 4.0 \\ N-C-O & -2.4 & -0.8 & -7.0 \\ N-C-N & -1.4 & 1.3 & -3.0 \\ N & 1.2 & 1.2 & 0.0 \\ O-C-O & 4.2 & -8.1 & -20.0 \\ O-C-O & 4.2 & -8.1 & -20.0 \\ O & 0.2 & -6.5 & -20.0 \\ \end{array} \]

hybridizeStep8b.png
Step 8 B: Edge Weights

A Maximum Weighted Matching Algorithm is employed to find the best arrangement of double/triple bonds in each subgraph.

hybridizeStep8c.png
Step 8 C: Maximum Weighted Matching Result

Step 9

Ionization states and formal charges are perceived from the connectivity and bond order.

The formal charge of atom i, f_i, is calculated as follows: f_i = c_i - o_i + b_i where: c_i = atom group in periodic table o_i = nominal octet (2 for hydrogen, 6 for boron, 8 for carbon and all other sp3 atoms in groups 5,6,7,8) b_i = sum of the atom bond orders

If the system doesn't contain hydrogen atoms, then the following steps are applied to set the ionization state:

Step 10

Generated on Fri Dec 23 2011 09:28:54 for MTK++ by Doxygen 1.7.5.1