Bounds Matrix
The bounds matrix encodes the geometric constraints between all atom pairs. It is the central data structure of distance geometry — all subsequent steps derive from it.
Matrix Layout
For
- Upper triangle (
): upper bounds - Lower triangle (
): lower bounds (stored as ) - Diagonal: zero
1-2 Bounds (Bonded Pairs)
For directly bonded atoms, the distance is the bond length computed from UFF (Universal Force Field) parameters:
where:
Bond order correction:
Electronegativity correction:
These terms come from the UFF parameterization.
The bounds are very tight:
Special Case: Conjugated Heterocycles
For conjugated bonds in 5-membered rings involving heteroatoms (like pyrrole, furan), an additional squish factor of 0.2 Å is applied to the lower bound to accommodate aromatic bond length variation:
UFF Parameters
Selected covalent radii and electronegativities:
| Element | ||
|---|---|---|
| H | 0.354 | 2.20 |
| C (SP3) | 0.757 | 2.55 |
| C (SP2) | 0.732 | 2.55 |
| C (SP) | 0.706 | 2.55 |
| N (SP3) | 0.700 | 3.04 |
| O (SP3) | 0.658 | 3.44 |
| F | 0.668 | 3.98 |
| S | 1.047 | 2.58 |
| Cl | 1.044 | 2.87 |
| Br | 1.214 | 2.74 |
1-3 Bounds (Angle Paths)
For atoms separated by two bonds (sharing a common neighbor), the distance is computed via the law of cosines:
The equilibrium angle
| Hybridization | Angle |
|---|---|
| SP | 180° |
| SP2 | 120° |
| SP3 | 109.47° |
The tolerance for 1-3 bounds is ±0.04 Å, doubled for each "large SP2 atom" in the path (atomic number > 13 that is SP2 and in a ring).
When multiple paths connect the same atom pair, union semantics apply: the lower bound is the minimum lower bound and the upper bound is the maximum upper bound across all paths.
1-4 Bounds (Torsion Paths)
For atoms separated by three bonds, the distance depends on the torsion angle between the two outer atoms. We compute the extreme distances at cis (
The cis and trans distances are computed from planar geometry:
where:
, ,
For the trans case,
Stereochemistry Constraints
| Bond Type | Lower Bound | Upper Bound |
|---|---|---|
| E/Z stereo | forced cis or trans | same |
| SP2–SP2 (not in ring) | ||
| SP2–SP2 (in same ring) | ||
| Amide / Ester | ||
| Default | min( | max( |
VDW Bounds (Non-bonded)
For atom pairs with topological distance ≥ 4, the lower bound comes from van der Waals radii:
The scaling factor
| Topological Distance | Factor |
|---|---|
| 4 | 0.70 |
| 5 | 0.85 |
| ≥6 | 1.00 |
The upper bound for non-bonded pairs defaults to
Triangle Inequality Smoothing
After populating bounds from all sources, Floyd-Warshall tightens them:
for k in 0..N:
for i in 0..N:
for j in (i+1)..N:
u[i][j] = min(u[i][j], u[i][k] + u[k][j])
l[i][j] = max(l[i][j], l[i][k] - u[k][j], l[k][j] - u[i][k])
if l[i][j] > u[i][j]:
INFEASIBLEThis is
Fallback Strategy
If triangle smoothing detects infeasibility (
- Strict bounds + set15 (1-5 bounds enabled) — most constrained
- No set15 — relax 1-5 constraints
- Soft smoothing — allow
with tolerance 0.05 Å
This ensures even strained molecules can produce initial coordinates, with the force field correcting violations later.