Multi-method binding pocket detection and druggability assessment. Grid-based, fpocket, and P2Rank detection with druggability scoring, visualization, and cross-structure comparison.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Multi-method binding pocket detection and druggability assessment. Grid-based, fpocket, and P2Rank detection with druggability scoring, visualization, and cross-structure comparison.
This skill provides multi-method binding pocket detection on protein structures, druggability scoring, pocket visualization, and cross-structure pocket comparison. It is the first dedicated step in any structure-based drug design workflow โ identifying where on a protein a small molecule can bind before docking or de novo design begins.
Before running pocket detection, verify the PDB structure species matches the user's target.
If the user requests "human" but the PDB HEADER shows another organism (e.g., murine), flag
this to the user before proceeding. Parse the PDB HEADER/SOURCE records to check organism.
Core Workflows
Workflow 1: Detect Pockets (Grid Method)
Detect binding pockets on a prepared protein structure using the built-in grid-based cavity scan.
Pocket is well-suited for small molecule inhibitors
Difficult
0.4 - 0.7
May require fragment-based or specialized approaches
Undruggable
< 0.4
Unlikely to bind drug-like molecules; consider PPI inhibitors or peptides
Important: Druggability classification is based on literature-derived heuristic thresholds (Halgren 2009, Volkamer 2012), not a validated predictive model. Treat as guidance for prioritization, not a definitive assessment.
Volume Interpretation
< 150 A^3: Too small for drug-like molecules. May bind fragments or ions.
150-300 A^3: Fragment-sized pocket. Suitable for fragment-based drug design.
300-800 A^3: Ideal drug-like pocket. Most approved drugs bind in this range.
800-1500 A^3: Large pocket. May require extended molecules or PROTACs.
> 1500 A^3: Very large or flat. Likely a protein-protein interaction surface.
Method Comparison
Method
Strengths
Limitations
Grid
No external deps, good for standard cavities
Slow on large proteins, may find non-functional cavities
fpocket
Fast, well-validated, handles flexible pockets
Requires external binary
P2Rank
ML-based, highest accuracy on benchmarks
Requires Java + external binary
When methods agree on a pocket location (centers within 5 A), confidence is high. Disagreements suggest the pocket is borderline or method-dependent.
Troubleshooting
Single giant pocket (volume >5000 A^3) or only 1 pocket returned: The grid method's clustering merged nearby cavities into one. Fixes, in order:
Try --method auto (uses P2Rank or fpocket if available โ both handle this better)
Increase --min-volume 300 to filter noise and re-run
Add --chain A to analyze only the biologically relevant chain
Do NOT rewrite the detection logic in custom code. Adjust parameters instead.
No pockets detected: The protein may lack a clear cavity. Try reducing --min-volume 100, or provide manual coordinates for docking.
All druggability scores are identical: This can happen when all detected pockets have similar size/depth/composition. Run druggability.py โ it uses continuous Gaussian scoring that produces differentiated scores even for similar pockets. If scores are still very close (>0.9 for all), the protein genuinely has multiple high-quality binding sites.
fpocket not found: Install fpocket or use --method grid as fallback.
P2Rank not found: Set P2RANK_HOME environment variable or use --method grid.
Very large protein (>5000 residues): Grid method may be slow. Use fpocket or P2Rank instead, or increase --grid-spacing to 1.5.
Pocket at crystal contact: Check if the pocket is between symmetry mates. Filter by chain with --chain.
IMPORTANT for agents: When a skill script produces unexpected output (e.g., a single giant pocket, no pockets, or identical scores), adjust the script's parameters or try a different --method. Do NOT abandon the skill scripts and rewrite the logic in custom code. The skill scripts handle edge cases, validate I/O contracts, and log to the manifest โ custom rewrites skip all of this.
References
Le Guilloux, V. et al. "Fpocket: an open source platform for ligand pocket detection." BMC Bioinformatics 10, 168 (2009).
Krivak, R. & Hoksza, D. "P2Rank: machine learning based tool for rapid and accurate prediction of ligand binding sites." J. Cheminform. 10, 39 (2018).
Halgren, T.A. "Identifying and characterizing binding sites and assessing druggability." J. Chem. Inf. Model. 49, 377-389 (2009).
Volkamer, A. et al. "DoGSiteScorer: a web server for automatic binding site prediction, analysis and druggability assessment." Bioinformatics 28, 2074-2075 (2012).