Molecular docking is one of the most powerful and widely used techniques in computational drug discovery. It predicts how a small molecule (ligand) binds to a target protein, giving researchers a window into drug-receptor interactions — all without a single laboratory experiment. AutoDock Vina, developed at the Scripps Research Institute, is the industry-standard, free, open-source docking software used by thousands of researchers worldwide.

In this step-by-step guide, you will learn everything from downloading the software to interpreting your results, complete with commands, tips, and best practices.

📋 What You'll Learn

By the end of this guide, you will be able to prepare protein and ligand structures, configure and run AutoDock Vina, analyze binding energies, and visualize docked poses in PyMOL or Discovery Studio.

🏗️
Get Protein
⚗️
Prep Receptor
💊
Prep Ligand
📦
Grid Box
🚀
Run Vina
📊
Analyze

⚛️ What is Molecular Docking?

Molecular docking computationally simulates the binding interaction between a protein (receptor) and a small molecule (ligand). The algorithm searches for the optimal binding pose and orientation of the ligand within the protein's active site, scoring each pose by its predicted binding affinity (in kcal/mol).

RECEPTOR Active Site L ligand approaching → ΔG = −9.8 kcal/mol Target Protein Drug Molecule ← Molecular Docking Process
🎯

Receptor

The target protein — usually an enzyme or cell receptor involved in disease

💊

Ligand

A small drug-like molecule being tested for binding affinity to the receptor

📐

Binding Affinity

Predicted free energy of binding (kcal/mol) — more negative = stronger binding

🔁

Pose

A specific orientation and conformation of the ligand inside the binding pocket

🛠️ Required Software & Tools

Before you begin, install the following free tools:

ToolPurposeDownload
AutoDock VinaCore docking enginevina.scripps.edu
MGLTools / AutoDockToolsPrepare receptor & ligand (PDBQT format)mgltools.scripps.edu
PyMOL3D visualization of resultspymol.org
Discovery Studio VisualizerInteraction diagram analysisFree from BIOVIA
Open BabelFile format conversionsopenbabel.org

📥 Step 1 — Get Your Protein Structure

The starting point is downloading a crystal structure of your target protein from the RCSB Protein Data Bank (PDB) at rcsb.org.

1

Search for your target protein

Go to rcsb.org and search by protein name, gene, or disease. Choose a structure with good resolution (≤2.5 Å) and a co-crystallized ligand to confirm the active site.

2

Download the .pdb file

Click "Download Files" → "PDB Format". Save the file (e.g., 1iep.pdb for BCR-ABL kinase).

3

Clean the structure in PyMOL or AutoDockTools

Remove water molecules, co-crystallized ligands, and other heteroatoms that should not be part of your receptor.

⚠️ Important

Always check whether your protein has missing residues or broken chains. Use SWISS-MODEL or Modeller to fill in missing loop regions before docking.

🧪 Step 2 — Prepare the Receptor (PDBQT)

AutoDock Vina requires the receptor in PDBQT format, which includes partial charges and atom types. Use AutoDockTools (ADT) for this:

1

Open the protein in ADT

File → Read Molecule → select your .pdb file

2

Add hydrogens

Edit → Hydrogens → Add → Polar Only. This adds polar hydrogens required for docking calculations.

3

Assign Gasteiger charges

Edit → Charges → Compute Gasteiger. These partial charges are used in the scoring function.

4

Save as PDBQT

File → Save → Write PDBQT → receptor.pdbqt

💊 Step 3 — Prepare the Ligand

Your ligand also needs to be converted to PDBQT format. You can download ligand structures from PubChem or ChEMBL in SDF or MOL2 format.

Convert SDF to PDBQT using Open Babel
obabel ligand.sdf -O ligand.pdbqt --gen3d -h

In AutoDockTools: set the torsion tree (rotatable bonds) to allow the ligand flexibility during docking. Ligand → Torsion Tree → Detect Root.

📦 Step 4 — Define the Search Space (Grid Box)

You must define a 3D grid box around the protein's active site where Vina will search for binding poses. Use the coordinates of the co-crystallized ligand as your center.

config.txt — Vina Configuration File
receptor = receptor.pdbqt
ligand   = ligand.pdbqt

center_x = 15.190
center_y = 53.903
center_z = 16.917

size_x = 25
size_y = 25
size_z = 25

exhaustiveness = 8
num_modes      = 9
energy_range   = 3
💡 Grid Box Tips

Set box size to ~20–30 Å for focused docking on a known active site. For blind docking (unknown site), increase to 60–80 Å. Higher exhaustiveness (16 or 32) gives more reliable results but takes longer.

🚀 Step 5 — Run AutoDock Vina

With all files prepared, run Vina from the command line:

Terminal / Command Prompt
vina --config config.txt --log results.log --out docked_poses.pdbqt

Vina will output the top binding modes ranked by predicted binding affinity. A typical successful run looks like:

Sample Vina Output
mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1         -9.8      0.000      0.000
   2         -9.4      1.832      2.641
   3         -9.1      1.204      3.892
   4         -8.9      2.108      4.771

📊 Step 6 — Analyze Results

The key output is the binding affinity in kcal/mol. More negative values indicate stronger predicted binding.

Mode 1
−9.8
−9.8 kcal/mol
Mode 2
−9.4
−9.4 kcal/mol
Mode 3
−9.1
−9.1 kcal/mol
Mode 4
−8.9
−8.9 kcal/mol
Binding Affinity (kcal/mol)Interpretation
0 to −5Weak binding — unlikely drug candidate
−5 to −7Moderate binding — worth further investigation
−7 to −9Good binding — promising candidate
Below −9Strong binding — excellent candidate for optimization

Visualizing the Docked Pose in PyMOL

Load both receptor.pdbqt and docked_poses.pdbqt in PyMOL to visually inspect the binding mode. Use "show sticks" for the ligand and "show surface" for the protein to reveal how the drug fits into the binding pocket.

Molecular docking binding pose visualization

Fig 1. Visualization of a docked ligand pose inside a protein binding pocket (illustrative)

Interaction Analysis with Discovery Studio

Import the best pose into Discovery Studio Visualizer to generate a 2D ligand interaction diagram showing:

🔵

Hydrogen Bonds

Electrostatic interactions between H-bond donors and acceptors on residues

🟡

Hydrophobic Contacts

Non-polar regions of the ligand nestling against hydrophobic pockets

🟣

Pi-Stacking

Aromatic ring interactions between ligand and aromatic residues like Phe, Trp

Van der Waals

Weak but numerous short-range attractive forces contributing to binding

✅ Best Practices & Common Mistakes

Validate with redocking

Re-dock the original co-crystallized ligand and check that the RMSD is below 2 Å vs the crystal pose

⚠️

Remove all water first

Water molecules in the PDB cause errors in PDBQT conversion — always remove them first

🔁

Try multiple exhaustiveness

Run with exhaustiveness 8, 16, and 32 to check reproducibility of top binding modes

📊

Don't rely on docking alone

Follow up promising hits with MD simulation and ADMET analysis before drawing conclusions

🔮 Molecular Interaction Network

Nodes represent atoms; edges represent bonds. The network updates in real time.

Protein Binding Network

Live atom-bond simulation • hover to attract

🔥 Binding Energy Pulse

Each ring represents a wave of energy emitted when the ligand docks into the active site.

Docking Event — Energy Release

🧬 DNA Double Helix – Target Structure

The receptor's DNA encodes the protein target. The helix rotates continuously in 3D.

🌸 Ligand Conformational Flexibility

During docking, rotatable bonds flex continuously. This wave visualises torsional energy.

Torsional Energy Profile

Each wave = one rotatable bond in the ligand

💻 AutoDock Vina — Score Computation

Vina evaluates millions of poses per second. Each falling character is one scoring event.

SCORING POSES…
← Previous Article ← Back to Articles