Category Archives: Diffusion

Analyzing AlphaFold 3’s Diffusion Trajectory

A useful way to understand AlphaFold 3’s sampling behavior is to look not only at the final predicted structure, but at what happens along the reverse diffusion trajectory itself. If we track quantities such as the physical energy of samples, noise scale, and update magnitude over time, a very clear pattern emerges: structures remain physically imperfect for most of sampling, and only take proper global shape in the final low-noise steps.

This behavior is a result of the diffusion procedure implemented in Algorithm 18, Sample Diffusion, which follows an EDM-style sampler with churn. Rather than simply marching monotonically from noise to structure, the sampler repeatedly perturbs the current coordinates, denoises them, and then takes a Euler-like update step. Because of the churn mechanism, AlphaFold 3 deliberately injects additional noise during part of the trajectory, which encourages exploration but also delays local geometric convergence. This mechanism is shown in step 4 -7 of the Sample Diffusion Algorithm from Alphafold3 Supplementary Information.

Continue reading

SigmaDock: untwisting molecular docking with fragment-based SE(3) diffusion

Alvaro Prat, Leo Zhang, Charlotte Deane, Yee Whye Teh, & Garrett M. Morris
International Conference On Learning Representations (ICLR 2026)

Molecular docking sits at the heart of structure-based drug discovery. If we can reliably predict how a small molecule binds in a protein pocket, we can prioritize compounds faster, reason about interactions more clearly, and build better pipelines for hit discovery and lead optimization. But in practice, docking is still a difficult problem: classical methods are often robust but imperfect, while recent deep learning approaches have sometimes looked promising on headline metrics without consistently producing chemically plausible poses.

SigmaDock was built to address exactly that gap. Instead of treating docking as a problem of directly diffusing on torsion angles or unconstrained atomic coordinates, SigmaDock represents ligands as collections of rigid fragments and learns how to reassemble them inside the binding pocket using diffusion on SE(3)\text{SE}(3). In plain English: rather than trying to “wiggle” every flexible degree of freedom in a tangled way, SigmaDock breaks the ligand into chemically meaningful rigid pieces and learns where those pieces should go, and how they should reorient, to recover a valid bound pose.

Figure 1: Illustration of SigmaDock using PDB 1V4S and ligand MRK. We create an initial conformation of a query ligand where we define our mm rigid body fragments (colour coded). The corresponding forward diffusion process operates in SE(3)m\text{SE}(3)^m via independent roto-translations.
Continue reading

Controlling the Diffusion Denoising Process: A Molecular Show

This blog post is supporting my poster at Young Modellers Forum and makes things way easier to see and understand. Underneath each GIF, is the explanation of what you should look for as things denoise throughout the diffusion trajectory. Click the GIFs for higher quality viewing!

Continue reading