For file formats that provide 3D coordinates, but not explicit bond
information (or only partial bond information), OEChem uses the
OEDetermineConnectivity function. This function deduces the pattern
of covalent bonding in a molecule from the proximity of atoms. Two
atoms are considered bonded if they are located within the sum of their covalent
radii plus an additional ``slop'' factor of 0.45 Angstroms. The
covalent radii used are those prescribed by the Cambridge
Crystallographic Database. The values used for the common organic
subset of elements is given by the table below.
|
These values may also be retrieved from OEChem using the
OEGetCovalentRadius function.
OEDetermineConnectivity will not create a bond between two atoms that
are less than 0.4 Angstroms apart. Such unreasonably short bond
lengths indicate the structure is either severely distorted, or
doesn't have coordinate information at all. All bonds created by
OEDetermineConnectivity have bond orders set to one. To perceive bond
order information, see OEChem's OEPerceiveBondOrders function
described below.
The OEDetermineConnectivity function checks whether a bond already
exists between two atoms before creating a new bond. This allows this
function to be used with file formats that may specify partial
connectivity, such as only multiple (double, triple or quadruple)
bonds.