Distance Geometry Algorithm

  1. Obtain a conformation with desired bond lengths & angles
  2. Create and initialize a distance bounds matrix (DBM)
  3. Set all minimum distances in DBM from VDW radii
  4. Set all 1-2 and 1-3 distances in DBM from the conformation
  5. Set all 1-4 distances in DBM for known torsion constraints
  6. Record planar (0) and chiral (signed) volume constraints
  7. Smooth DBM using triangle [and tetrangle] inequality
  8. Select in-range distances randomly or by partial metrization
  9. Transform DBM to metric matrix (MM)
  10. Embed MM in 4-space (if unable, go to 8)
  11. Minimize bounds violations in 4-space (else, go to 8)
  12. Minimize 4th dimension violations leaving 3-D conformation
  13. Evaluate distance and volume bounds violations
  14. Add resulting conformation and errors to output
  15. If more conformations are need, repeat from 8

Strength and Weaknesses