Lesson 15 of 15

Single-Molecule Force Spectroscopy

Single-Molecule Force Spectroscopy

Probing Biology One Molecule at a Time

Single-molecule force spectroscopy (SMFS) uses atomic force microscopy (AFM) or optical tweezers to apply and measure piconewton forces on individual molecules — proteins, DNA, receptor-ligand bonds. This reveals mechanical properties invisible to bulk experiments.

Bell-Evans Model for Bond Rupture

When a bond is pulled apart at a constant loading rate r (force increase per unit time, pN/s), the most probable rupture force F* is:

F=kBTxβln(rxβkoffkBT)F^* = \frac{k_B T}{x_\beta} \ln\left(\frac{r \, x_\beta}{k_{\text{off}} \, k_B T}\right)

  • x_β = distance to the transition state along the reaction coordinate (~0.1–1 nm)
  • k_off = spontaneous off-rate at zero force (s⁻¹)
  • Higher loading rates → higher rupture forces (the bond has less time to thermally escape)
  • F* increases logarithmically with loading rate

Optical Trap Fluctuations

A trapped bead behaves as a harmonic oscillator. By the equipartition theorem, thermal energy partitions equally into each degree of freedom:

12ktrapx2=12kBT\frac{1}{2} k_{\text{trap}} \langle x^2 \rangle = \frac{1}{2} k_B T

The root-mean-square positional fluctuation is:

σ=kBTktrap\sigma = \sqrt{\frac{k_B T}{k_{\text{trap}}}}

Stiff traps (large k_trap) have small fluctuations — essential for detecting sub-nanometer displacements.

Stokes Drag Force

When a bead moves through viscous fluid at velocity v, the drag force is:

Fdrag=6πηrvF_{\text{drag}} = 6\pi \eta r v

where η = fluid viscosity (≈ 1 mPa·s for water) and r = bead radius. This drag limits the speed of optical tweezers experiments.

Your Task

Implement three functions:

  1. rupture_force_pN(r_pN_s, x_beta_nm, k_off_s=1.0, T_K=298) — Bell-Evans most probable rupture force in pN
  2. trap_fluctuation_nm(k_trap_pN_nm, T_K=298) — RMS bead displacement in an optical trap in nm
  3. stokes_drag_pN(r_nm, v_nm_s, eta_Pa_s=1e-3) — Stokes drag force in pN
Python runtime loading...
Loading...
Click "Run" to execute your code.