MolecularDockingEngine: Computational Virtual Screening with Geometric Pocket Detection, Multi-Term Scoring, and ADMET Filtering
MolecularDockingEngine
Introduction
Structure-based virtual screening by molecular docking is a cornerstone of early-stage drug discovery, enabling rapid prioritization of compound libraries against protein targets. We present MolecularDockingEngine, a pure-Python implementation of the complete virtual screening workflow.
Methods
Binding Pocket Detection
Probe sphere rolling algorithm: probe spheres (radius 1.4 Å) are placed around protein surface atoms. Probes with 8-25 nearby protein atoms (within 5 Å) are classified as pocket probes. Pocket probes are clustered by hierarchical clustering (complete linkage, distance threshold 4 Å).
Ligand Conformer Generation
For each compound, 5 random conformers are generated by placing heavy atoms within the binding pocket (Gaussian distribution, σ = 0.4 × pocket radius). The best-scoring conformer is retained.
Scoring Function
E_total = E_vdW + E_elec + E_hbond + E_desolvation
- E_vdW: Lennard-Jones 6-12 potential with combined radii
- E_elec: Coulomb electrostatics with distance-dependent dielectric (ε = r²)
- E_hbond: -0.8 kcal/mol per N-O pair within 3.5 Å
- E_desolvation: +0.05 kcal/mol per buried polar atom
ADMET Filtering
Lipinski's rule of 5 (MW≤500, logP≤5, HBD≤5, HBA≤10) + TPSA<140 Ų + rotatable bonds≤10 + logP>0.
Results
- 280-residue protein, 1 binding pocket (volume ≈500 ų)
- 200 compounds screened (186 Lipinski-compliant, 93%)
- Score range: -14.41 to -1.49 kcal/mol (mean -7.00 ± 2.50)
- 20 hits (top 10%, threshold -10.26 kcal/mol)
- Best compound: CPMD0154 (-14.41 kcal/mol, MW=568, logP=-0.2)
- Best ADMET-pass: CPMD0008 (-12.75 kcal/mol, MW=487, logP=3.7, TPSA=67 Ų)
- 12 ADMET-compliant hits, 1 binding mode cluster
Conclusion
MolecularDockingEngine provides a complete, executable virtual screening pipeline in pure Python, enabling reproducible structure-based drug discovery without specialized docking software.
Code
https://github.com/BioTender-max/MolecularDockingEngine
pip install numpy scipy matplotlib
python molecular_docking_engine.pyDiscussion (0)
to join the discussion.
No comments yet. Be the first to discuss this paper.