Molecular docking
Agent skills for healthcare and life sciences: genomics, imaging, claims, drug discovery, and more. Works with Amazon Quick, Kiro, Amazon AgentCore, AWS Strands SDK, Claude Code, Codex, and any Agent Skills-compatible platform.
npx -y skills add awslabs/hcls-agent-skills --skill molecular-dockingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Molecular docking pipeline using AutoDock Vina for structure-based drug discovery. Triggers on docking, AutoDock Vina, receptor preparation, ligand preparation, PDBQT, grid box, virtual screening, binding affinity, pose prediction, structure-based virtual screening, "redocking RMSD", "Vina score", "docking pose", "prepare receptor", "ligand library screening".
SKILL.md
5.1 KB, as published. Nobody here has run it
Molecular Docking — Pipeline Skill (Thin Scaffold)
Overview
Adds decision logic for receptor/ligand preparation tool selection, grid box sizing, exhaustiveness tuning, and validation protocol. Focuses on gotchas that produce silently wrong poses.
Usage
- Activate when choosing preparation tools (obabel vs ADFR/meeko) for a docking campaign
- Activate when defining grid box dimensions or placement
- Activate when validating docking setup via redocking
Core Concepts
Decision Logic
Receptor preparation tool:
├── Quick exploration / single ligand → obabel (-d, reduce, -xr)
└── Production virtual screen → prepare_receptor (ADFR) or meeko
└── Handles altlocs, metals, non-standard residues correctly
Ligand preparation:
├── Single ligand from SMILES/SDF → obabel --gen3d -h
├── Large library (>100 ligands) → meeko (mk_prepare_ligand.py)
└── Stereocenters undefined? → Enumerate explicitly BEFORE docking
Grid box placement:
├── Co-crystal ligand available → Center on ligand centroid
└── No co-crystal → Use pocket predictor (fpocket, P2Rank, SiteMap)
Grid box sizing:
└── Ligand longest diameter + 10–15 Å padding per axis
└── Typical: 20–30 Å per side for drug-like molecules
Exhaustiveness:
├── Quick exploration → 8 (Vina default)
├── Production / ranking → 32
└── Large/flexible ligands (>8 rotatable bonds) → 64+
Validation gate (MUST pass before trusting screen results): Redock co-crystal ligand → RMSD < 2 Å against crystallographic pose. If fails, fix preparation or grid before screening.
Critical Parameters
| Parameter | Recommended | When to change |
|---|---|---|
exhaustiveness | 32 | 64+ for >8 rotatable bonds |
num_modes | 10 | Increase for ensemble analysis |
energy_range | 3 kcal/mol | Widen to capture diverse poses |
| Box padding | +10–15 Å | Larger for allosteric sites |
| Protonation pH | 7.0 (reduce default) | Use PROPKA/H++ for acidic pockets (e.g., aspartyl proteases pH 4.5) |
Score interpretation:
- Vina scores are only comparable within the SAME receptor + grid setup
- Typical drug-like hits: -7 to -12 kcal/mol
- Scores are NOT transferable across different targets or grid configurations
Common Mistakes
-
Wrong: Leaving crystallographic waters in the receptor Right: Strip HOH/WAT residues before PDBQT conversion (unless explicit-water docking) Why: Waters block the binding site and produce unphysical poses
-
Wrong: Using default pH 7 protonation for all binding sites Right: Use PROPKA or H++ for acidic/basic pockets Why: Wrong protonation alters H-bond networks and produces incorrect poses
-
Wrong: Grid box barely enclosing the binding site Right: Ligand diameter + 10–15 Å padding per axis Why: Under-padding clips the site and biases poses toward box center
-
Wrong: Default
exhaustiveness = 8for large/flexible ligands Right: Use 32+ for production; 64+ for >8 rotatable bonds Why: Low exhaustiveness misses global minima, unreliable rankings -
Wrong: Skipping redocking validation before screening Right: Redock co-crystal ligand, verify RMSD < 2 Å Why: RMSD ≥ 2 Å means preparation or grid is wrong; screen results untrustworthy
-
Wrong: Using
obabel -xrPDBQT for production virtual screens Right: Useprepare_receptor(ADFR) or meeko for production Why: obabel may miss altlocs, metals, or non-standard residues -
Wrong: Running
obabel --gen3don SMILES with undefined stereocenters Right: Provide isomeric SMILES or enumerate stereoisomers explicitly Why: Undefined stereocenters resolved arbitrarily — may dock wrong enantiomer -
Wrong: Comparing Vina affinities across different receptors or grid configs Right: Only compare within same receptor + grid; re-rank when changing either Why: Scores are context-dependent, not transferable
Response Format
- Lead with the command or code the user needs — explain after
- Structure as: confirm inputs → working code → key parameters explained → gotchas
- One complete working example per task; do not show every alternative
- Keep code comments minimal and functional (what, not why-it-exists)
- Target: 50-100 lines of code with brief surrounding explanation