Binding Affinity
Python API · stjames · API example
How it works
Estimate how strongly ligands interact with a protein, using an existing bound structure or a sequence-based prediction. The workflow returns a score for each ligand. Use these scores to compare candidates within the same method and target.
Methods
- Semiempirical single-point energy: computes the complex energy minus the separate protein and ligand energies, with an implicit solvent model. Optional optimization relaxes the ligand while holding the protein fixed. The result is an interaction energy in kcal/mol, not a complete binding free energy.
- Gnina CNN affinity: a convolutional neural network scores the supplied protein–ligand geometry without redocking or minimizing it.
- AEV-PLIG: a graph neural network scores the supplied pose using the ligand's chemistry and surrounding protein atoms. Rowan averages predictions from ten models.
- Nesso-1: predicts affinity from protein sequences and ligand chemistry using a coarse-grained co-folding model. If you provide a protein structure, only its sequence is used; its coordinates and the supplied ligand pose do not constrain the prediction.
Settings
- Affinity method: choose one of the four methods above. The web form and Python API default to "Semiempirical single-point energy."
- Bound ligand: when the protein already contains the ligand, set "Ligand residue name" and "Bound ligand SMILES." The SMILES supplies bond orders and formal charge for the extracted residue. Leave external ligand structures empty in this mode.
- External poses: supply ligand structures already positioned in the protein's coordinate frame. Use "View overlay" to check their placement. These are scored as supplied by Gnina and AEV-PLIG; they are not automatically docked.
- Sequence inputs: with Nesso-1, you can instead supply protein sequences and ligand SMILES without a protein structure. Cyclic and explicitly modified sequences are not supported.
- Semiempirical settings: expand "Affinity method" to choose optimization stages and final energy settings. Defaults are PM6-D3H4X/COSMO optimization followed by PM6-D3H4X/COSMO2 energies in water. "Truncation radius (Å)" defaults to 6 and limits the protein region around the supplied poses; increasing it includes more of the protein and increases cost.
Notes
Lower scores indicate stronger predicted binding. Gnina, AEV-PLIG, and Nesso-1 report log10(M), with Rowan converting the models' native output scales; for example, −9 corresponds to 1 nM. Nesso-1 learns from mixed affinity and potency measurements, so its score should not be interpreted as a precise experimental Kd.
Pose-based predictions depend on ligand placement and protonation. Use a prepared protein and check the ligand's chemistry. The semiempirical calculation includes protein polymer atoms, excluding waters, ions, and other cofactors. It also omits conformational sampling and binding entropy. Compare scores within a consistent setup; different methods' numbers are not interchangeable.
Further reading