---
title: MM-GBSA
description: Calculate binding free energies with GPU-accelerated MM-GBSA using OpenMM.
tags:
  - mmgbsa
---

MM-GBSA rescores docked poses with physics-based energetics rather than a fitted docking score. It's the final step in the docking arc (pocket → pose → rescore): run it on the candidate poses you [generated with DiffDock](/docs/diffdock). See [what you can achieve](/docs/capabilities#binding-and-docking) for the full arc.

⚠︎ **This implementation returns no binding free energy and no binding-strength verdict.** It performs a single-point OpenMM evaluation of the minimized complex, so `delta_g_bind` is always `null`. Read [how MM-GBSA results compare to the bench](/docs/mmgbsa/translatability) before using any number from it.

## Try it

**Try this prompt** — [open in a guest chat](/chat/new?guest=true&prompt=Download%20JAK2%20from%20PDB%20(4GI3)%2C%20dock%20ruxolitinib%20with%20DiffDock%2C%20then%20rescore%20the%20top%205%20poses%20and%20compare%20to%20the%20co-crystal%20binding%20mode%20%E2%80%94%20which%20pose%20best%20recapitulates%20the%20known%20hinge%20contacts%20at%20Leu932%20and%20Glu930%2C%20and%20does%20the%20physics-based%20rescoring%20agree%20with%20the%20DiffDock%20confidence%20ranking%3F).

> Download JAK2 from PDB (4GI3), dock ruxolitinib with DiffDock, then rescore the top 5 poses and compare to the co-crystal binding mode — which pose best recapitulates the known hinge contacts at Leu932 and Glu930, and does the physics-based rescoring agree with the DiffDock confidence ranking?

_Docks with DiffDock, then rescores the poses with a physics-based binding-energy method to rank which pose is real._

## What MM-GBSA does

MM-GBSA (Molecular Mechanics / Generalized Born Surface Area) is a post-docking rescoring method that estimates protein-ligand binding free energies by combining **molecular mechanics force field energies** with **implicit solvation**. The canonical form computes ΔG_bind = E_complex − E_receptor − E_ligand.

## Citations

> Massova I, Kollman PA. Combined molecular mechanical and continuum solvent approach (MM-PBSA/GBSA) to predict ligand binding. *Perspectives in Drug Discovery and Design*. 2000;18:113-135. doi: [10.1023/A:1008763014207](https://doi.org/10.1023/A:1008763014207)

> Eastman P, et al. OpenMM 7: Rapid development of high performance algorithms for molecular dynamics. *PLoS Comput Biol*. 2017;13(7):e1005659. doi: [10.1371/journal.pcbi.1005659](https://doi.org/10.1371/journal.pcbi.1005659)

## Key achievements

- **Physics-based rescoring**: energies grounded in molecular mechanics force fields rather than a fitted scoring function. MM/GBSA rescoring has been shown to improve a docking program's screening and ranking power on tyrosine kinases ([citation](/docs/mmgbsa/translatability#against-other-in-silico-methods)); it does not make the result an affinity measurement
- **Energy decomposition**: Breaks down binding energy into van der Waals, electrostatic, polar solvation, and non-polar solvation components for mechanistic insight
- **Per-residue analysis**: Identifies individual amino acid residues contributing most to binding, enabling rational mutagenesis and optimization
- **GPU acceleration**: OpenMM-based implementation delivers results in minutes rather than hours

## Core capabilities

- **Binding free energy estimation**: Calculates DeltaG_bind from the thermodynamic cycle (complex - receptor - ligand)
- **Energy decomposition**: Reports van der Waals (DeltaG_vdw), electrostatic (DeltaG_elec), polar solvation (DeltaG_polar), and non-polar solvation (DeltaG_nonpolar) terms
- **Per-residue decomposition**: Identifies binding hotspot residues by decomposing the total energy into per-residue contributions
- **Binding classification — removed.** No binding-strength category and no estimated Kd is emitted — the classifier had been fed the complex's raw potential energy and returned "very strong" for everything. See [why a ΔG → Kd conversion is not defensible](/docs/mmgbsa/translatability#the-kd-conversion-is-not-defensible)
- **Multi-pose rescoring**: Scores multiple docked poses and ranks them by binding free energy
- **Trajectory analysis**: Optionally runs short MD equilibration before energy evaluation for conformational sampling

## Technical approach

MM-GBSA follows a three-step thermodynamic cycle:

1. **Complex energy**: Calculate the total energy of the protein-ligand complex using the selected force field and implicit solvent model
2. **Receptor energy**: Calculate the energy of the protein alone (with the ligand removed) in the same force field
3. **Ligand energy**: Calculate the energy of the ligand alone in the same force field
4. **Binding energy**: DeltaG_bind = G_complex - G_receptor - G_ligand

Each energy term is decomposed into:
- **DeltaG_vdw**: Van der Waals interactions (Lennard-Jones potential)
- **DeltaG_elec**: Electrostatic interactions (Coulombic potential)
- **DeltaG_polar**: Polar solvation energy (Generalized Born model)
- **DeltaG_nonpolar**: Non-polar solvation energy (proportional to solvent-accessible surface area)

The Generalized Born (GB) implicit solvent replaces explicit water molecules with a continuum dielectric, providing solvation energies at a fraction of the computational cost of explicit solvent simulations.

## When to use MM-GBSA

## Primary use cases

### Post-docking rescoring

- **Pose ranking**: Re-rank docked poses from DiffDock or other docking tools using physics-based energetics
- **Hit prioritization**: Distinguish true binders from false positives in virtual screening campaigns
- **Consensus scoring**: Combine MM-GBSA scores with docking scores for improved hit rates

### Binding mechanism analysis

- **Hotspot identification**: Identify which residues contribute most to binding for structure-activity relationship studies
- **Energy decomposition**: Understand whether binding is driven by van der Waals contacts, electrostatics, or solvation effects
- **Mutant impact prediction**: Estimate how point mutations at binding site residues might affect binding affinity

### Lead optimization support

- **Analog ranking**: Compare binding energies across a series of analogs to guide medicinal chemistry optimization
- **R-group analysis**: Evaluate how different substituents affect binding through per-residue energy contributions
- **Selectivity analysis**: Compare binding energies against on-target vs. off-target structures

## Webapp integration and workflow

### Input methods in .bloom*

**From DiffDock results (most common):**
- Select a completed DiffDock job from the canvas or job panel
- .bloom* automatically extracts the docked complex, protein, and ligand files
- Choose which poses to rescore (top 1, top 5, or all)

**Manual upload:**
- Upload a protein-ligand complex PDB file containing both receptor and ligand
- Or upload separate protein PDB and ligand SDF files
- .bloom* validates the complex structure and identifies the ligand automatically

**From previous jobs:**
- Import complexes from any docking tool that produces PDB output

### Solvent model selection

The tool always parameterizes with the AMBER14 force field (ff14SB for the protein, GAFF2 for the ligand) — there's no force-field selector. `solvent_model` picks the implicit-solvent (Generalized Born) term:

- **`gb_obc2`** (default): Onufriev-Bashford-Case II model with good accuracy-speed balance
- **`gb_obc1`**: Onufriev-Bashford-Case I model, faster with slightly lower accuracy
- **`gb_hct`**: Hawkins-Cramer-Truhlar model for fast approximate solvation

## Integration with .bloom* ecosystem

### Upstream data sources

**Docking tools:**
- DiffDock: Primary source of docked poses for MM-GBSA rescoring
- [Automatic chaining](/docs/how-orchestration-works): ask for structure → docking → rescoring in one request

**Structure sources:**
- ESMFold: Predicted protein structures for novel targets
- PDB: Experimental crystal structures
- P2Rank: Binding site predictions to guide docking before MM-GBSA

### Downstream applications

**Decision support:**
- Compound Passport: Binding energy data feeds into comprehensive compound assessment
- Comparison tables: Side-by-side binding energy comparison across compound series
- Target Passport: Per-residue hotspot data informs target druggability assessment

**Further analysis:**
- Molecular dynamics: Use MM-GBSA complexes as starting points for full MD simulations
- Relative affinity ranking: `fep_estimate` ranks a congeneric series by heuristic ΔΔG derived from descriptor deltas. It takes SMILES rather than poses, and is not an alchemical free-energy calculation — the platform does not run one.

## Best paired with

- **DiffDock**: Generate docked poses, then rescore with MM-GBSA for physics-based ranking
- **P2Rank**: Identify binding sites, dock to predicted pockets, then rescore with MM-GBSA
- **ESMFold**: Predict target structure when no experimental structure is available
- **ADMET prediction**: Combine binding affinity with ADMET profiling for compound triage

## Scope and limitations

## Supported inputs

### Structure requirements
- **Protein**: Standard amino acid residues; non-standard residues may cause parameterization failures
- **Ligand**: Small organic molecules with common element types (C, N, O, S, P, F, Cl, Br, I)
- **Complex**: Protein and ligand must be in close proximity (docked pose)
- **Format**: PDB for complex or separate PDB + SDF files

### Validation
- **Force field coverage**: Ligands with unusual functional groups may fail parameterization
- **Protonation**: Histidine and cysteine protonation states should be appropriate for the binding site pH
- **Missing atoms**: Incomplete residues or missing heavy atoms cause errors

## Accuracy considerations

### Absolute vs. relative energies
- **This implementation emits no binding free energy.** `delta_g_bind` is `null` on every run; the job returns single-point energies of the minimized complex. See [reading the result against the bench](/docs/mmgbsa/translatability)
- **Absolute DeltaG**: where MM-GBSA does produce one, published unsigned mean errors against measured affinity ran from 4.4 to 21.3 kcal/mol across six protein systems. Never convert it to a Kd
- **Relative ranking**: the method is most reliable for ranking a congeneric series against the same target, where systematic errors partly cancel
- **Correlation**: there is no single figure. Published Pearson r against measured affinity spans roughly 0 to 0.9 by target — and was *negative* on two of six systems with the GB model this tool defaults to. Always read a correlation with its n and its target class; figures and citations are on the [translatability page](/docs/mmgbsa/translatability#agreement-with-wet-lab)

### Known limitations
- **Entropy neglect**: Standard MM-GBSA omits configurational entropy, which can affect ranking accuracy
- **Implicit solvent approximation**: GB models may poorly capture water-mediated interactions or tightly bound water molecules
- **Single conformation**: Without MD sampling, results depend heavily on the input pose quality
- **Metal coordination**: Metalloprotein binding sites may not be well described by standard force fields

## Performance characteristics

### Speed and scaling
- **Typical runtime**: 1-5 minutes per pose on GPU
- **Multi-pose jobs**: Linear scaling with number of poses
- **GPU requirement**: OpenMM acceleration requires GPU; CPU fallback is significantly slower

### Deterministic behavior
- **Reproducible**: Same input complex and parameters produce identical results
- **Force field sensitivity**: Different force field choices can significantly change absolute energies but generally preserve relative rankings

## Chat usage

### Example prompts

- "Rescore my DiffDock poses with MM-GBSA"
- "Calculate binding energy for the docked complex on the canvas"
- "Run MM-GBSA on the top 5 DiffDock poses using AMBER14 and OBC2"
- "Compare binding energies for my three docked ligands"
- "Show per-residue energy decomposition for the best DiffDock pose"

### Workflow chaining

- **Feeds into**: Compound Passport (binding energy data), comparison tables, downstream analysis
- **Accepts from**: DiffDock (docking poses), other docking tools with PDB output

## FAQ

### What inputs does MM-GBSA need?

  A docked protein-ligand complex (PDB) or separate protein PDB and ligand SDF files. Typically fed from DiffDock output.

### Can I choose the force field?

  No — the tool always uses AMBER14 (ff14SB / GAFF2). You can choose the implicit solvent model: `gb_obc2` (default), `gb_obc1`, or `gb_hct`.

### How is binding strength classified?

  It isn't. This app computes no binding free energy, so no "very strong / strong / moderate / weak" verdict and no estimated Kd is produced. The classifier was removed because it had been fed the minimized complex's raw total potential energy mislabelled as a ΔG, which made every run look like a very strong binder. Converting an MM-GBSA ΔG to a Kd would not be defensible even with a correct ΔG — [see why](/docs/mmgbsa/translatability#the-kd-conversion-is-not-defensible).

## Read next
