User Guide
Your first docking job
Dock 137 EGFR-active molecules from ChEMBL against PDB 1M17 in the UI, then reproduce it with the SDK.
The scenario#
We'll re-dock a known active set against EGFR (PDB 1M17) to validate that high-affinity binders score lowest in our pipeline.
UI walkthrough#
- Open Docking → New job
- Receptor: pick EGFR Kinase Domain (1M17)
- Pocket: leave Pocket 1 (auto-detected, druggable score 0.95)
- Ligands: select an existing dataset (
EGFR Inhibitor Discovery Set v1) - Parameters: keep defaults (
exhaustiveness=8,num_modes=9) - Click Start job
Expected runtime: ~18 minutes for 137 molecules with 8 concurrent workers.
API equivalent#
screen_egfr.py
from pymolhub import MolHub
mh = MolHub()
job = mh.docking.submit(
receptor="1M17",
ligand_dataset="ds_01", # EGFR Inhibitor Discovery Set v1
pocket="auto",
exhaustiveness=8,
num_modes=9,
)
job.wait()
# Sort by affinity, take top 10
top10 = sorted(job.results(), key=lambda r: r.affinity_kcal_mol)[:10]
for r in top10:
print(f"{r.ligand_chembl_id:12s} {r.affinity_kcal_mol:6.1f} kcal/mol")Tuning parameters#
exhaustiveness— higher = slower but more reproducible. Try 16 for publication-quality runs.num_modes— keep ≥9 to capture alternative poses.energy_range— set 3.0 kcal/mol to filter low-quality modes.- Box center / size — override via
pocket={...}for non-default sites.