Chapter 9: Molecular Docking Principles, Receptor Prep & Grid Boxes
Tested Stacks:
GATK 4.6.1
Samtools 1.21
Nextflow 24.10
Seurat v5.1
Python 3.12
Prerequisites: Basic Linux CLI & Sequencing Formats
📚 Chapter 9 of 13
0% Course Completed
Chapter 9: Molecular Docking Principles, Receptor Prep & Grid Boxes
Molecular docking computationally predicts the preferred orientation and conformation of a small molecule drug candidate when bound to a protein receptor target, estimating the binding affinity of the complex.
The Docking Preparation Protocol
- Remove Solvents & Ions: Strip non-catalytic crystallization water molecules and buffer salts.
- Assign Protonation States: Determine histidine protonation (\(\delta\) vs. \(\epsilon\)) and catalytic Asp/Glu states using
PROPKA. - Add Polar Hydrogens & Gasteiger Charges: Essential for electrostatic potential calculations.
- Define Search Grid Box: Constrain the 3D search space around the catalytic binding pocket.
1. Preparing Receptors with ADFRsuite / Meeko
# 1. Clean receptor PDB and generate PDBQT with polar hydrogens and partial charges
prepare_receptor \\
-r 7vh8_protein.pdb \\
-o receptor.pdbqt \\
-A checkhydrogens \\
-e
# 2. Prepare ligand: detect rotatable torsion bonds and generate PDBQT
mk_prepare_ligand.py -i inhibitor.sdf -o ligand.pdbqt2. Defining the Grid Box Configuration (config.txt)
# AutoDock Vina Configuration: grid center and dimensions (in Angstroms)
receptor = receptor.pdbqt
ligand = ligand.pdbqt
center_x = 10.45
center_y = -3.20
center_z = 22.10
size_x = 22.0
size_y = 22.0
size_z = 22.0
energy_range = 3.0
exhaustiveness = 16
num_modes = 9
⚠️
Common Pitfalls & Troubleshooting Checklist
- Java Heap Exhaustion (GATK / Picard): If processes terminate with
java.lang.OutOfMemoryError, set your environment variable explicitly:export _JAVA_OPTIONS="-Xmx16g -Djava.io.tmpdir=/tmp". - Index Timestamp Mismatch: If tools complain that a BAM index is missing or out of date, regenerate with
samtools index -@ 4 sample.bam. - Conda Channel Conflicts: Avoid ABI incompatibilities between bioconda and conda-forge by setting strict priority:
conda config --set channel_priority strict. - Chromosome Naming Contamination: Always verify whether reference FASTA headers use
chr1or1; divergent naming causes silent alignment drops.
Was this guide helpful to your research?
Help us maintain 100% accurate, peer-reviewed bioinformatics standards.