← All posts
February 26, 20242 min read

Optimizing Molecular Structures with DFT

Measuring ligand-to-DNA-backbone distances accurately by pre-optimizing structures with a classical force field before handing them to a quantum engine.

#quantum-chemistry#dft#dna

The goal here was to measure the distance between two ligands bound to a DNA phosphate backbone with as much accuracy as possible. Since the ligands included non-standard elements, classical all-atom MD wasn't a good fit, which pushed me toward quantum force fields instead.

  1. Draw the ligand and DNA structures in Avogadro, which also does a rough initial optimization.
  2. Pre-optimize the resulting .cml files with a classical force field (MMFF94s) before handing them to a quantum engine (GAMESS, Gaussian, etc.) — this saves the expensive quantum optimizer from doing all the work from a poor starting geometry. Using Open Babel:
obabel initial.cml -O optimized.cml --minimize --steps 15000 --sd --log --ff MMFF94s
  • initial.cml / optimized.cml — input and output structures.
  • --sd — use the steepest-descent algorithm.
  • --log — log the whole minimization.

Available force fields:

GAFF        General Amber Force Field (GAFF).
Ghemical    Ghemical force field.
MMFF94      MMFF94 force field.
MMFF94s     MMFF94s force field.
UFF         Universal Force Field.

Choosing a basis set

Hand the pre-optimized geometry to the quantum engine with a Karlsruhe/Ahlrichs basis: def2-SVP (polarized valence double-ζ) for quick runs, def2-TZVP (triple-ζ) when you need more accuracy. The family is all-electron across H–Kr; for Rb–Rn use the matching def2-ECP effective core potentials. Definitions come from the Basis Set Exchange.

Convergence criteria

For reference, ORCA's stock geometry-optimization presets:

NormalOpt   TolE 5e-6 Eh · TolMaxG 3e-4 · TolRMSG 1e-4 · TolMaxD 4e-3 bohr · TolRMSD 2e-3
TightOpt    TolE 1e-6 Eh · TolMaxG 1e-4 · TolRMSG 3e-5 · TolMaxD 1e-3 bohr · TolRMSD 6e-4

Open Babel & Avogadro

Open Babel 3 renamed the babel binary to obabel. The maintained minimization entry points are obminimize (-ff <ffid>, -n <steps>, -c <crit>) and the one-shot obabel in -O out --minimize --ff <ffid> used above. In Avogadro, the built-in minimizer lives under Extensions → Optimize Geometry (Ctrl+Alt+O), with the force field and convergence criteria configurable there. Note that MMFF94 and GAFF are not parameterized for charged or radical species.

References