GNINA
v1.3.3Dock small molecules into proteins using CNN scoring and physics-based pose optimization.
GNINA (pronounced "NEE-na") docks a small molecule into a protein structure and scores each pose twice: with an empirical energy function inherited from AutoDock Vina and Smina, and with three-dimensional convolutional neural networks. ProteinIQ runs GNINA 1.3.3 for molecular docking and returns ranked SDF poses, CNN Score, CNN Affinity, the empirical score, a 3D view, a CSV summary, and the GNINA log.
Each job docks one ligand into one rigid receptor. By default a positioned reference ligand marks the binding site, and GNINA builds a focused search box around it. Whole-protein autoboxing is available as an explicit alternative. Covalent binding, flexible side chains, and large induced-fit rearrangements are not modeled, so protonation, tautomer state, retained waters, cofactors, and metals can influence the result as much as the docking settings.
GNINA has no official web server. Its developers distribute it as a Linux binary, a Docker image, and source code, and building it requires CUDA 12.0 or newer. Running GNINA online here removes that setup: the official 1.3.3 release binary runs on a T4 GPU, the receptor can be fetched by RCSB PDB ID, and a SMILES string or PubChem compound is embedded into a 3D starting structure before docking.
Inputs are checked before submission, and the results open in a 3D viewer with a sortable score table. Every pose downloads as SDF and can be sent to another tool such as ProLIF or PoseBusters. The same run is available through the API, and several ligands can be docked as separate jobs through batches or workflows.
The hosted tool covers global docking with reference-ligand or whole-protein autoboxing. These native options are not offered: flexible residues (--flexres, --flexdist_ligand), covalent docking (--covalent_rec_atom and related flags), manual box coordinates (--center_x, --size_x), and the --score_only, --minimize, and --local_only modes. Custom scoring files, custom CNN model files, and the metrorescore and metrorefine CNN modes are also left out.
Prepared PDBQT files and multi-ligand files are not accepted. Setting ranges are narrower than the command line allows, ligands are limited to 150 heavy atoms, and each job may run for up to two hours.
GNINA jobs start at 20 credits. ProteinIQ calculates the exact price from the submitted ligand, search box, and settings before submission. Most focused docking runs of drug-sized ligands at default settings cost 20 credits.
| Ligand (heavy atoms, rotatable bonds) | Exhaustiveness 8 | Exhaustiveness 16 | Exhaustiveness 32 | Exhaustiveness 64 |
|---|---|---|---|---|
| Benzene (6, 0) | 20 credits | 20 credits | 20 credits | 20 credits |
| Acetazolamide (13, 2) | 20 credits | 20 credits | 20 credits | 20 credits |
| JQ1 (31, 5) | 20 credits | 20 credits | 20 credits | 23 credits |
| Imatinib (37, 7) | 20 credits | 20 credits | 20 credits | 25 credits |
| Venetoclax (61, 13) | 20 credits | 20 credits | 23 credits | 32 credits |
| Orlistat (35, 23) | 20 credits | 23 credits | 34 credits | 55 credits |
These quotes assume a SMILES ligand, the 3MXF BRD4 receptor, a search box built from the co-crystal JQ1 coordinates with the default 4 Špadding (about 4,000 ų), Rescore, the default CNN ensemble, 9 poses, and no CNN rotations. Heavy-atom and rotatable-bond counts are the calculator's estimates. Ligands with more than 20 rotatable bonds raise the quote steeply, as the orlistat row shows.
CNN scoring mode | CNN rotations 0 | CNN rotations 24 |
|---|---|---|
None | 20 credits | 20 credits |
Rescore | 20 credits | 28 credits |
Refinement | 52 credits | 1,137 credits |
Full CNN | 1,865 credits | 1,865 credits |
These quotes use JQ1 in the same focused 3MXF box at Exhaustiveness 8. Full CNN is priced at the two-hour runtime limit. CNN rotations have no effect when CNN scoring is off.
With Focus search with reference ligand turned off, the box covers the receptor. For the 3MXF bromodomain (about 106,000 ų with padding), Exhaustiveness 64 costs 20 credits for benzene, 21 for acetazolamide, 27 for JQ1, 30 for imatinib, and 39 for venetoclax. At Exhaustiveness 8 each of these costs 20 credits, and larger receptors raise the quote.
Number of poses and Search box padding add little; neither moved the focused JQ1 quote above 20 credits.
| Input | Accepted forms | Requirements |
|---|---|---|
Protein | .pdb or .ent file, or an RCSB PDB ID | One receptor per job, up to 50 MB. Protein atoms must be present. |
Ligand | SMILES text, .sdf, .mol, or .mol2 file, or a PubChem lookup | One molecule per job, up to 150 heavy atoms and 300 total atoms. File uploads are limited to 10 MB. |
Reference ligand | Positioned .sdf, .mol, .mol2, or .pdb structure | Required while Focus search with reference ligand is on. Up to 10 MB. Coordinates must locate the pocket in the receptor frame. |
Job name | Text | Optional label for the run. |
A SMILES ligand is embedded into a three-dimensional starting structure before docking. Query atoms are rejected, and suspected valence problems are reported before submission. Multi-record ligand files are rejected because each job has one ligand and one ranked pose series.
The reference ligand defines a box only. It does not need to be the compound being docked, but it must occupy the relevant site in the same coordinate system as the receptor, so a cognate ligand from a co-crystal structure is usually the clearest choice. When the reference file holds several molecules, GNINA draws one box around all of them.
Protein preparation should keep chemically important metals, cofactors, and waters while removing unrelated crystallization components. PDBFixer repairs missing atoms and common structure-file problems, and Ligand fixer diagnoses or repairs ligand files that fail chemical parsing.
| Parameter | Type | Default | Description |
|---|---|---|---|
Focus search with reference ligand | boolean | true | Builds the box around the positioned reference ligand. When off, GNINA autoboxes the entire receptor. |
Search box padding (Å) | number | 4 | Space added on every side of the autobox, 2 to 12 Å in steps of 1. |
Exhaustiveness | integer | 8 | Number of Monte Carlo search chains, 1 to 64. Runtime grows roughly with exhaustiveness. |
Number of poses | integer | 9 | Maximum ranked poses returned, 1 to 20. Diversity filtering can return fewer. |
Min RMSD filter (Å) | number | 1 | Removes final poses closer than this RMSD to a better-ranked pose, 0.5 to 3 Å in steps of 0.5. |
Random seed | integer | optional | Fixes the stochastic search. Leave empty for automatic seeding. |
Focused docking at Exhaustiveness 8 is a sensible first pass. GNINA's own whole-protein example uses Exhaustiveness 64, and a whole-protein result is still exploratory because sampling every plausible pocket is much harder than searching a known site. Number of poses is a maximum and does not deepen the search; Exhaustiveness controls sampling effort, while Min RMSD filter controls how similar two retained answers may be.
| Parameter | Type | Default | Description |
|---|---|---|---|
Scoring function | enum | Vina (default) | Empirical function: Vina, Vinardo, AutoDock4, Dkoes, or Dkoes Fast. |
CNN model | enum | Default ensemble | Default ensemble, Fast (single knowledge-distilled model), Dense, Dense v1.3, Dense v1.3 KD (fast), CrossDock 2018, CrossDock 2018 KD (fast), General 2018, or Redock 2018. |
CNN scoring mode | enum | Rescore | Rescore, Refinement, None (empirical scoring only), or Full CNN. |
Pose sort order | enum | CNN Score | CNN Score, CNN Affinity, or Empirical Energy. GNINA always uses Empirical Energy when CNN scoring is off. |
CNN rotations | integer | 0 | Extra rotated views averaged for CNN scoring, 0 to 24. More rotations increase compute time. |
The default GNINA 1.3 ensemble averages dense_1_3, dense_1_3_PT_KD_3, and crossdock_default2018_KD_4 and is the general choice when pose quality matters. The knowledge-distilled (KD) models reduce inference cost for larger campaigns, while the older named models are mainly useful for reproducing earlier work or testing model sensitivity.
Rescore samples and refines with the empirical function, then applies the CNN to the final poses. Refinement also uses the CNN for final pose refinement; GNINA reports it as about ten times slower than rescoring on a GPU, with no universal accuracy gain.
None uses only the selected empirical function. Full CNN uses the network throughout sampling, refinement, and ranking, which GNINA describes as about one thousand times slower than rescoring and does not recommend for routine docking.
The results open on a Viewer tab with the receptor and every pose, a Data tab with one row per pose, and a Files tab.
| File | Contents |
|---|---|
gnina_ranked_poses.sdf | GNINA's complete native ranked SDF output. |
pose_rankNN.sdf | One lossless SDF record per pose, with all GNINA score properties. |
docking_results.csv | The score table with pose filenames. |
gnina.log | Captured GNINA standard output and error. |
protein.pdb | The receptor used for the run. |
native/scientific-data.json | Parsed scores, the exact command arguments, and preparation records. |
| Column | Meaning |
|---|---|
Rank | GNINA output order under the effective Pose sort order. |
CNN Score | Pose-quality score from 0 to 1. Higher means the model is more confident the geometry resembles a correct pose. |
CNN Affinity (pK) | Predicted affinity on a pK scale. Higher means stronger predicted binding. |
Empirical Score (kcal/mol) | Minimized value from the selected empirical function. More negative is better within the same function and protocol. |
Scoring Function | The empirical function that produced the empirical score. |
CNN VS | GNINA's virtual-screening composite, CNN Score × CNN Affinity. Higher ranks more favorably. |
CNN Affinity Variance | Disagreement among ensemble models. Lower means closer agreement; GNINA gives no calibrated thresholds. |
Minimized RMSD (Å) | Ligand movement during local minimization, not RMSD to an experimental pose. |
File | The individual SDF record for the pose. |
The CNN reads atom-type density grids of the complex and answers two questions. CNN Score asks whether this geometry resembles a low-RMSD binding pose; CNN Affinity asks how strongly the ligand is predicted to bind. The answers need not agree. Rescoring also improves rank selection only among the conformations the search generated; it cannot recover a binding mode that was never sampled.
The GNINA 1.0 benchmark gives context for CNN Score, but not a universal cutoff. In that study, a top pose scoring above 0.8 was within 2 Å of the crystal pose 79% of the time in redocking and at least 56% of the time in cross-docking. Cross-docking is harder because the receptor was solved with a different ligand.
CNN Affinity is a pK value, so one unit is a tenfold change on the nominal concentration scale: 8 is nominally nanomolar and 6 is micromolar. It is a learned ranking estimate, not a measured dissociation or inhibition constant.
The empirical score is a Vina score or its Vinardo, AutoDock4, or Dkoes counterpart, and these values are not interchangeable. Compare them only across runs with the same function, receptor preparation, box, and ligand preparation, and do not read small differences as precise free-energy differences.
Start with the top few CNN Score poses and inspect their contacts in the viewer. A useful pose fits the intended pocket without severe clashes, keeps interactions expected for the target, and places chemically compatible groups in sensible environments. A high score does not validate a wrong protonation state or missing metal coordination. For compound ranking, read CNN Affinity, CNN VS, and the empirical score together rather than selecting on one column.
CNN Affinity Variance can flag predictions that deserve extra scrutiny, but a low variance does not prove correctness, and a single-model run cannot provide ensemble disagreement in the same sense. Minimized RMSD compares a pose only with its own pre-minimization geometry. Pose RMSD against a crystal ligand needs a separate comparison, for example with the RMSD calculator.
These completed runs use co-crystal ligand coordinates to define focused search boxes. Each example includes the receptor, every ranked pose, the score table, and downloadable files.
This compact redocking example uses the 4W52 T4 lysozyme L99A structure, benzene, and the co-crystal benzene coordinates. It keeps the default CNN ensemble and CNN Score ordering, requests six poses, and fixes the random seed at 20260724.
The top pose has a CNN Score of 0.918, and all six poses score above 0.91. The tight cluster shows how GNINA presents closely related high-confidence poses, but it does not establish experimental binding affinity.
This run uses the 3MXF BRD4 bromodomain structure, JQ1, and the co-crystal JQ1 coordinates. It selects the dense_1_3_PT_KD_3 knowledge-distilled model, performs four CNN rotations, returns eight poses, sorts by CNN Affinity, and fixes the seed at 20260724.
The highest predicted CNN Affinity is 6.306 pK. Because predicted affinity sets the order, the first row does not have the highest CNN Score, and both columns and the binding geometry matter when selecting a pose.
This example retains the zinc ion in the 3HS4 carbonic anhydrase II structure and uses co-crystal acetazolamide coordinates to focus the search. It selects Vinardo, disables CNN scoring, orders six poses by empirical energy, and uses seed 20260724.
The results intentionally contain only Vinardo empirical scores. The best minimized score is −6.068 kcal/mol. Metal coordination, protonation, and retained waters need review before drawing chemical conclusions.
GNINA first creates a search box from the reference ligand or, for whole-protein docking, from the receptor. It then runs parallel Monte Carlo chains. Each step changes ligand translation, rotation, or torsions, locally minimizes the candidate, and accepts or rejects the move with a Metropolis criterion.
After sampling, GNINA pools the best conformations, refines them, removes redundant poses with Min RMSD filter, and calculates the requested scores. Pose sort order decides which value places a pose first.
| Method | Search behavior | Scoring | Best fit |
|---|---|---|---|
| GNINA | Vina-family stochastic docking in a defined or receptor-wide box | Empirical energy plus 3D CNN scores | Known-site docking where CNN pose ranking is valuable |
| AutoDock Vina | Stochastic docking in a defined box | Vina empirical score | Fast classical docking, flexible residues, and established Vina protocols |
| Smina | Vina-family docking with customizable scoring | Empirical and custom scoring functions | Custom scoring terms or Smina protocol reproduction |
| DiffDock | Diffusion-based pose generation without a user-defined pocket | Learned confidence | Blind pose generation when the binding site is unknown |
| SigmaDock | Diffusion-based docking and confidence ranking | Learned confidence | An alternative blind-docking hypothesis generator |
GNINA is a strong default for focused docking, but agreement across methods can be more informative than a single top rank. When no binding site is known, a blind method can generate pocket hypotheses before focused GNINA refinement. When reproducible empirical scoring is the priority, Vina or Smina gives a simpler baseline. To check which residue contacts the top poses share, send the poses to ProLIF.
Dock ligands with AutoDock4 scoring, CUDA acceleration, and flexible receptor sidechains.
Dock ligands into protein structures and estimate binding modes, poses, and affinity scores.
Geometric flow matching for generative protein-ligand docking and affinity prediction.
Physics-based molecular docking with CPU-optimized hierarchical algorithms
Enhanced molecular docking with custom scoring functions and fast minimization
Surface-informed diffusion generative model for reliable and accurate protein-ligand complex prediction
Predict protein-ligand binding poses and confidence scores without a predefined binding site.
Predict protein-ligand binding poses while modeling ligand-induced conformational changes.
Fragment-based SE(3) equivariant diffusion docking for protein-ligand binding pose prediction
Template-based protein-ligand pose prediction with MCS-guided conformer generation.