Structure-Based Drug Discovery¶

10/26/2026¶

print view

In [1]:
%%html
<script src="https://bits.csb.pitt.edu/preamble.js"></script>
<style>:root {--jp-cell-prompt-width: 32px}</style>

Structure-Based Drug Discovery¶

No description has been provided for this image

Given a protein structure, how do we find a molecule that binds?

  1. Where might it bind?
    Identify potential binding pockets.

  2. Which molecules should we consider?
    Select compounds with suitable shapes and interaction features.

  3. How do we rank the candidates?
    Score binding poses and prioritize compounds for testing.

Pockets¶

A pocket is a cavity in the protein where a small molecule might bind. Static pockets are apparent in a reference apo structure. Cryptic pockets are not apparent in that structure, but can open transiently during normal protein dynamics and may be stabilized by a bound ligand.

A pocket is considered druggable if it has characteristics similar to known binding sites of small molecules.

No description has been provided for this image

Meller A et al. Predicting locations of cryptic pockets from single protein structures using the PocketMiner graph neural network. Nature Communications (2023).

Pocket Identification¶

There are a number of tools that use geometric and chemical descriptors to identify pockets given a static structure.

  • No description has been provided for this image fpocket - works on MD trajectories as well, includes druggability score
  • CavityPlus - has web interface with additional features
  • pyKVFinder - Python module
  • DoGSiteScorer - Another web service

Volkamer A, von Behren MM, Bietz S, Rarey M. Prediction, analysis, and comparison of active sites. Applied Chemoinformatics: Achievements and Future Opportunities. 2018 Jun 5:283-311.

No description has been provided for this image

fpocket Algorithm¶

  1. Perform a Voronoi tessellation of heavy atoms
  2. Identify alpha spheres centered at Voronoi vertices that connect four atoms without containing any.
  3. Filter and cluster alpha spheres to identify unique cavities
  • Small radius in tightly packed regions
  • Large radius at flat/convex surface
  1. Characterize properties of pocket and filter
No description has been provided for this image Le Guilloux V, Schmidtke P, Tuffery P. Fpocket: an open source platform for ligand pocket detection. BMC bioinformatics. 2009 Dec;10(1):1-1.
Zhou W, Yan H. Alpha shape and Delaunay triangulation in studies of protein-related interactions. Briefings in bioinformatics. 2014 Jan 1;15(1):54-64.
No description has been provided for this image

CAVITY(Plus) Algorithm¶

  1. Mark 0.5Å grid as occupied or vacant
  2. Roll a large (10Å radius) sphere around the protein "erasing" vacant points
  3. Cluster and characterize remaining regions.
No description has been provided for this image

Xu Y et al. CavityPlus: a web server for protein cavity detection with pharmacophore modelling, allosteric site identification and covalent ligand binding ability prediction. Nucleic Acids Research. 2018;46(W1):W374–W379.

SBDD Funnel¶

No description has been provided for this image

Pharmacophore¶

IUPAC: The ensemble of steric and electronic features that is necessary to ensure the optimal supra-molecular interactions with a specific biological target structure and to trigger (or to block) its biological response.

No description has been provided for this image
  • aromatic ring
  • hydrophobic area
  • positive ionizable
  • negative ionizable
  • hydrogen bond donor
  • hydrogen bond acceptor

Pharmacophore Elucidation¶

Ligand Only¶

Try to find a consistent overlay of 3D conformers of known binders.

  • PharmaGist Iterative greedy alignment
  • PENG Neural gas model
  • GAPE Genetic algorithm
  • MOGA Genetic algorithm with additional low energy objective

Receptor Only¶

  • Simulation based: Pharmmaker, SILCS, PyRod No description has been provided for this image
  • Docking: FTMap
  • Grids: GRAIL
  • ML: PharmRL, PharmacoForge

Ligand-Receptor¶

Ligand Only: PharmaGist¶

No description has been provided for this image
  1. Decompose ligands into features
  2. Pairwise align to selected rigit "pivot" molecule
  3. Combined pairwise alignments to multiple alignment, identify most important features, and select new pivot. Iterate.
  4. Cluster results to identify most common pharmacophore.

Schneidman-Duhovny D et al. PharmaGist: a webserver for ligand-based pharmacophore detection. Nucleic Acids Research. 2008;36(Web Server issue):W223–W228.

PharmaGist Results¶

No description has been provided for this image

Evaluating Screening Results¶

Actually active Actually inactive
Selected True positive (TP) False positive (FP)
Not selected False negative (FN) True negative (TN)
  • Precision: What fraction of selected compounds are active? $$\mathrm{Precision} = \frac{TP}{TP + FP}$$

  • Recall (True Positive Rate): What fraction of all active compounds did we select? $$\mathrm{Recall} = \frac{TP}{TP + FN}$$

  • False Positive Rate (FPR): What fraction of all inactives did we select? $$\frac{FP}{FP+TN}$$

  • F1: Harmonic mean of precision and recall; high only when both are high. $$F_1 = \frac{2\,\mathrm{Precision}\,\mathrm{Recall}} {\mathrm{Precision}+\mathrm{Recall}} = \frac{2TP}{2TP+FP+FN}$$

Receptor Only: PharmMaker (Mixed solvent MD)¶

No description has been provided for this image

Lee JY, Krieger JM, Li H, Bahar I. Pharmmaker: Pharmacophore modeling and hit identification based on druggability simulations. Protein Science. 2020 Jan;29(1):76-86.

Probe Simulations¶

Explore potential interactions by simulating small molecular probes.

PyRod, WaterMap: Water is the probe.

No description has been provided for this image

Receptor Only: FTMap¶

Exhaustive exploration of probe-protein interactions using FFT followed by clustering.

No description has been provided for this image

Recall: 2D Fourier Transform¶

$$\Large X_{u,v} = \sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x,y) e^{- j 2\pi \left( \frac{ux}{M}+\frac{vy}{N} \right)}$$

Decomposing our function into periodic functions in both dimensions.

In [2]:
from PIL import Image
img = Image.open('imgs/ollycouch.tiff')
img
Out[2]:
No description has been provided for this image
In [3]:
import scipy, numpy as np, matplotlib.pyplot as plt
import scipy.fft
dogFFT = scipy.fft.fft2(np.array(img))
vals = np.log(np.absolute(dogFFT))
R = vals.shape[0]//2; C = vals.shape[1]//2;
vals = np.roll(vals, shift=R, axis=0); vals = np.roll(vals, shift=C, axis=1)
plt.matshow(vals); plt.xticks([0,C,2*C],labels=[-C,0,C]); plt.yticks([0,R,2*R],labels=[-R,0,R]); plt.colorbar();
No description has been provided for this image

Convolutions¶

The integral of the product of two functions as one is shifted.

$$ (f * g)(t) := \int_{-\infty}^\infty f(\tau) g(t - \tau) \, d\tau$$

Convolution of spiky function with box2

Comparison convolution correlation

Convolution Theorem¶

Given two identically sized images $M$ and $S$ (uniformly sampled functions in N-D space):

$$\Large \mathcal{F}(M * S) = \mathcal{F}(M) \cdot \mathcal{F}(S)$$

That is, the Fourier transform ($\mathcal{F}$) of the convolution is equal to the element-wise product of the transforms of the two inputs. Alternatively:

$$\Large M*S = \mathcal{F}^{-1}(\mathcal{F}(M) \cdot \mathcal{F}(S))$$

Proof

In [4]:
f = np.zeros((800,800))
f[:10,:10] = 1/100
f_fft = scipy.fft.fft2(f)
vals = np.absolute(f_fft)
R = vals.shape[0]//2; C = vals.shape[1]//2;
vals = np.roll(vals, shift=R, axis=0); vals = np.roll(vals, shift=C, axis=1)
plt.matshow(vals); plt.xticks([0,C,2*C],labels=[-C,0,C]); plt.yticks([0,R,2*R],labels=[-R,0,R]); plt.colorbar();
No description has been provided for this image
In [5]:
plt.matshow(np.real(scipy.fft.ifft2(f_fft*dogFFT)),cmap='gray',vmin=0,vmax=255);
No description has been provided for this image

Why does this matter?¶

The Fast Fourier Transform algorithm lets us compute the Fourier Transform in $O(N \log(N))$ instead of $O(N^2)$.

$$\Large X_k = \sum_{n=0}^{N-1} x_n \cdot e^{-\frac {j 2\pi}{N}kn}$$

This means we can convolve two 3D grids with complexity $O(N^3\log(N))$ instead of $O(N^6).$

FFT Rigid Body Docking¶

We have two proteins, a receptor (R) and a ligand (L). We want to evaluate every possible translation and rotation of L with respect to R to identify the lowest energy pose.

If we can represent our energy function as a convolution, we can exhaustively compute all (discretized) translations in $O(N^3\log(N))$, which is a tractable calculation.

Simplified Coulomb Convolution:¶

$$\begin{eqnarray} R_p(l,m,n) &=& \sum_i^{N_r} \frac{q_i}{\phi_R(i,l,m,n)} \\ L_p(l,m,n) &=& \begin{cases} q_j &\text{if (l,m,n) overlaps atom with partial charge } q_j \\ 0 & \text{otherwise} \end{cases} \end{eqnarray} $$

Still need to iterate over all rotations.¶

Generalized Fourier methods can also accelerate searches over rotational coordinates

No description has been provided for this image

Padhorny D, Kazennov A, Zerbe BS, Porter KA, Xia B, Mottarella SE, Kholodov Y, Ritchie DW, Vajda S, Kozakov D. Protein–protein docking by fast generalized Fourier transforms on 5D rotational manifolds. Proceedings of the National Academy of Sciences. 2016 Jul 26;113(30):E4286-93.

Receptor Only: PharmacoForge¶

No description has been provided for this image

Flynn EL, Shah R, Dunn I, Aggarwal R, Koes DR. PharmacoForge: pharmacophore generation with diffusion models. Frontiers in Bioinformatics. 2025 Sep 8;5:1628800.

Ligand-Receptor¶

No description has been provided for this image

Pharmacophore Search¶

Advantages¶

  • Uses expert human insight to define query
  • Fast (millions of molecules in seconds)
  • Results are already "docked" - aligned to query

Disadvantages¶

  • Relies on expert human insight to define query
    • Especially difficult when no bound ligand
  • Exploration of alternative binding modes requires multiple queries
  • Results depend on the conformers and chemical structures in the screened library
  • Need a scoring function to productively rank results

Pharmit: Interactive Exploration of Chemical Space¶

No description has been provided for this image

Sunseri J, Koes DR. Pharmit: interactive exploration of chemical space. Nucleic acids research. 2016 Apr 19;44(W1):W442-8.

Molecular Docking¶

Predict the most likely conformation and pose of a ligand in a protein binding site.

  • Sample conformational space
  • Score poses
    • Ideally score equals affinity or can be used to productively rank compounds
    • Score $\ne$ Free Energy
In [2]:
%%html
<iframe width="560" height="315" src="https://3dmol.org/tests/webpages/docking.html" title="docking" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<script>
$(".jp-InputArea .o:contains(html)").closest('.jp-InputArea').hide();
</script>

Common Approximations in Docking¶

High-throughput docking trades physical detail for speed.

  • Receptor flexibility: usually rigid or limited to selected side chains
    • Receptor ensembles can represent alternative conformations
  • Ligand flexibility: usually samples torsions while fixing bond lengths, bond angles, and ring conformations
  • Solvent: usually treated implicitly or through empirical scoring terms
    • Selected binding-site waters may be included
  • Chemical state: protonation, tautomers, and metal/cofactor treatment depend on input preparation

More detailed treatments are possible, but increase computational cost.

Docking searches for the best scoring pose.
The best score does not guarantee the correct pose or strongest binding.

Protein-Ligand Scoring¶

Force-field based¶

  • inter- and intra- molecular forces
  • van der Waals, electrostatic, torsional

Empirical¶

  • parameterized function is fit to binding energy data

Knowledge based¶

  • scoring function based on known structures, not physical principles

Machine Learning¶

  • fancy knowledge-based

Force-field: DOCK¶

No description has been provided for this image

Allen WJ, Balius TE, Mukherjee S, Brozell SR, Moustakas DT, Lang PT, Case DA, Kuntz ID, Rizzo RC. DOCK 6: Impact of new features and current docking performance. Journal of computational chemistry. 2015 Jun 5;36(15):1132-56.

Empirical: AutoDock Vina Scoring¶

No description has been provided for this image

There is no electrostatic term. Partial charges are not used. Electrostatic interactions are (partially) accounted for with hydrogen bond term.

Metals are modeled as hydrogen donors.

Terms were selected and parameterized for pose prediction performance (both speed and quality).

Final scoring function was then linearly reweighted to fit score to free energies (kcal/mol).

Trott O, Olson AJ. AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading. Journal of computational chemistry. 2010 Jan 30;31(2):455-61.

Knowledge Based: RF-Score¶

Ballester PJ, Mitchell JB. A machine learning approach to predicting protein–ligand binding affinity with applications to molecular docking. Bioinformatics. 2010 May 1;26(9):1169-75.

No description has been provided for this image

Machine Learning: CNN Scoring (GNINA)¶

Atoms are represented as Gaussian densities on a 24Å grid. There is a separate channel for each atom type.

No description has been provided for this image

GNINA Docking Algorithm¶

No description has been provided for this image

Defining the Binding Site¶

No description has been provided for this image

All poses are sampled within a box defined by the user.

Can be specified manually (--center_x, --size_x, etc.) but typically much easier to provide an autobox ligand.

A box is created that exactly encloses the atom coordinates of the provided ligand and then is expanded by autobox_add (default 4Å) in every dimension. If needed to provide enough room for the ligand to freely rotate the box is then further extended (autobox_extend).

Can provide any molecule for autobox_ligand (e.g. binding pocket residues, fpocket alpha spheres).

Sampling¶

No description has been provided for this image
  • Degrees of freedom

    • Translation and rotation: 6 rigid-body degrees of freedom
    • Rotatable-bond torsions; bond lengths, bond angles, and ring geometry remain fixed
  • Initialization

    • Randomize position, orientation, and torsions
    • Fixed geometry, such as ring pucker, still depends on the input conformer
  • Monte Carlo with local minimization

    1. Randomly change a translation, rotation, or torsion
    2. Refine the pose using truncated BFGS with softened scoring potentials
    3. Apply the Metropolis acceptance criterion
      • Always accept a lower score
      • Sometimes accept a higher score to help escape local minima
    4. Retain the best-scoring poses encountered

Scoring¶

No description has been provided for this image
  • Empirical (e.g. Vina)

    • Fast and interpretable
    • A collection of weighted terms
    • By default used for search and refinement
  • CNN

    • Slower (especially without GPU) but more predictive
    • By default used only for final ranking
      --cnn_scoring=rescore

CNN Scoring Performance¶

No description has been provided for this image

Virtual Screening GNINA Performance¶

No description has been provided for this imageNo description has been provided for this image

Evaluating Virtual Screening: ROC and EF1%¶

  • ROC (Receiver Operating Characteristic) curve: plot TPR against FPR as the selection threshold varies.

    • ROC AUC summarizes ranking across thresholds: 0.5 for random ranking, 1 for perfect ranking.
  • EF1% (Enrichment Factor at 1%): how much more concentrated are actives among the top-ranked 1% than in the full library?

$$EF_{1\%} = \frac{\text{active fraction among the top-ranked 1%}} {\text{active fraction in the full library}}$$

No description has been provided for this image

ROC AUC measures overall ranking; EF1% emphasizes early retrieval. Random ranking has expected EF1% = 1.

DiffDock: End-to-end Docking¶

No description has been provided for this image

Corso G, Stärk H, Jing B, Barzilay R, Jaakkola T. DiffDock: Diffusion Steps, Twists, and Turns for Molecular Docking. arXiv preprint arXiv:2210.01776. 2022 Oct 4.

DiffDock Results¶

No description has been provided for this image

DiffDock-L¶

No description has been provided for this image

Deep Confident Steps to New Pockets: Strategies for Docking Generalization. Gabriele Corso, Arthur Deng, Benjamin Fry, Nicholas Polizzi, Regina Barzilay, Tommi Jaakkola. ICLR 2024

DynamicBind¶

No description has been provided for this image No description has been provided for this image

Lu W, Zhang J, Huang W, Zhang Z, Jia X, Wang Z, Shi L, Li C, Wolynes PG, Zheng S. DynamicBind: predicting ligand-specific protein-ligand complex structure with a deep equivariant generative model. Nature Communications. 2024 Feb 5;15(1):1071.

Cofolding: AlphaFold3, RoseTTAFold, Chai¶

No description has been provided for this image

https://github.com/chaidiscovery/chai-lab

https://github.com/jwohlwend/boltz

Example: GDAP1¶

Ganglioside-induced differentiation-associated protein 1 (GDAP1) may play a role in a signal transduction pathway during neuronal development. Mutations in this gene have been associated with various forms of Charcot-Marie-Tooth Disease and neuropathy.

Constrained Cofolding (Boltz)¶

sequences:
    - protein:
        id: G 
        sequence: MAERQEEQRGSPPLRAEGKADAEVKLILYHWTHSFSSQKVRLVIAEKALKCEEHDVSLPLSEHNEPWFMRLNSTGEVPVLIHGENIICEATQIIDYLEQTFLDERTPRLMPDKESMYYPRVQHYRELLDSLPMDAYTHGCILHPELTVDSMIPAYATTRIRSQIGNTESELKKLAEENPDLQEAYIAKQKRLKSKLLDHDNVKYLKKILDELEKVLDQVETELQRRNEETPEEGQQPWLCGESFTLADVSLAVTLHRLKFLGFARRNWGNGKRPNLETYYERVLKRKTFNKVLGHVNNILISAVLPTAFRVAKKRAPKVLGTTLVVGLLAGVGYFAFMLFRKRLGSMILAFRPRPNYF    # only for protein, dna, rna
    - ligand:
        id: T    # multiple ids in case of multiple identical entities
        smiles: 'C(CCCCCCCC(=O)O)CCCCCCC(=O)O'        
constraints:
    - pocket:
        binder: T
        contacts: [[G, 36], [G, 134], [G, 257]]
        max_distance: 10
        force: true # apply a potential to enforce the constraint
        
templates:
    - cif: 6uih.cif   # if only a path is provided, will find the best matchings
properties:
    - affinity:
        binder: T

Boltz Output¶

confidence_*_.jsonaffinity_*.json
{
    "confidence_score": 0.865314781665802,
    "ptm": 0.8453083634376526,
    "iptm": 0.9104629158973694,
    "ligand_iptm": 0.9104629158973694,
    "protein_iptm": 0.0,
    "complex_plddt": 0.8540277481079102,
    "complex_iplddt": 0.7315892577171326,
    "complex_pde": 0.6098760962486267,
    "complex_ipde": 1.484511137008667,
    "chains_ptm": {
        "0": 0.8421840667724609,
        "1": 0.7693953514099121
    },
    "pair_chains_iptm": {
        "0": {
            "0": 0.8421840667724609,
            "1": 0.39824172854423523
        },
        "1": {
            "0": 0.9104629158973694,
            "1": 0.7693953514099121
        }
    }
}
{
    "affinity_pred_value": 0.633259654045105,
    "affinity_probability_binary": 0.7235137224197388,
    "affinity_pred_value1": 0.9157558679580688,
    "affinity_probability_binary1": 0.7583574652671814,
    "affinity_pred_value2": 0.3507634401321411,
    "affinity_probability_binary2": 0.6886700391769409
}

  • p: predicted

  • i: interface

  • tm: template matching score (1.0 perfect, like an inversed RMSD)

  • lddt: local distance difference test

  • de: distance error, lower better

  • affinity_pred: predicted affinity as pK in µM.

    • -3 = 1 nanomolar
    • 0 = 1 micromolar
    • 3 = 1 millimolar
  • affinity_probability_binary: probability this binds

  • 1/2: individual ensemble (of size 2) model predictions

Random Docking Evaluation Boltz DynamicBind GNINA
Your browser does not support the video tag.
No description has been provided for this image

Key Points¶

  • Pockets: identify candidate binding sites; pocket detection alone does not establish druggability.

  • Pharmacophores: search for ligands matching a 3D arrangement of interaction features.

  • Docking = sampling + scoring: search ligand positions, orientations, and conformations.

    • FFT accelerates evaluation of rigid-body translations.
  • Scoring: force-field, empirical, statistical, and machine-learning approaches.

    • A favorable score or high confidence does not establish binding.
  • Evaluation: pose accuracy, affinity prediction, and virtual screening are different tasks.

    • ROC AUC measures overall ranking; EF1% measures early enrichment.
  • Deep learning: improves scoring and enables learned docking and cofolding.

    • Assess generalization to new targets and chemotypes, accounting for training overlap.