Run a protein-ligand docking workflow for research questions about target binding, selectivity, and structural plausibility. Use this skill when the user ask...
Coding
pancreatic-lipase-pro-docking
Try itDocks small molecules against human pancreatic lipase (PDB 1LPB, lipase+colipase+Ca2+) across 5 validated sites with AutoDock Vina — pH 7.4 protonation, tautomer/stereoisomer enumeration, multi-seed consensus, native re-dock RMSD gate, and calibration drift detection. Runs locally or on free Kaggle CPU kernels. Use when the user asks to dock, screen, or rank compounds against pancreatic lipase, PNLIP, hPL, or for anti-obesity/lipase-inhibitor virtual screening.
What it does
Docks small molecules against human pancreatic lipase (PDB 1LPB, lipase+colipase+Ca2+) across 5 validated sites with AutoDock Vina — pH 7.4 protonation, tautomer/stereoisomer enumeration, multi-seed consensus, native re-dock RMSD gate, and calibration drift detection. Runs locally or on free Kaggle CPU kernels. Use when the user asks to dock, screen, or rank compounds against pancreatic lipase, PNLIP, hPL, or for anti-obesity/lipase-inhibitor virtual screening.
The skill document
pancreatic-lipase-pro-docking 🧪🧬 v100.3.4 — DEBUGGING & TESTING LAYER (CLEANUP)
One-command virtual screening against human pancreatic lipase (hPL / PNLIP, PDB 1LPB): molecule names or ligand CSV → multi-site docking across 5 functional positions → high-exhaustiveness re-dock → executive report. Fail-closed: never silent fake scores. v100.3.0 adds the debugging/observability layer distilled from best practices.
v100.3.4 — release note
Same cleanup payload as v100.3.2/100.3.3. Registry versioning note: 100.3.2 registered server-side but never became installable (stuck tag/index), 100.3.3 was the live release of the cleanup payload, and 100.3.4 aligns the frontmatter version with the registry version. Content is identical in all three.
v100.3.2 — CLEANUP (2026-08-03, from full pyflakes audit)
Removed dead code flagged by pyflakes across 7 modules (no functional change — verified by compile + 24-test suite + real docking smoke test):
- docking_speed_pipeline.py: unused
mathimport; unusedhbaread (GI-flags fn) - generate_executive_dashboard.py: unused
defaultdict; redundant localimport mathinside the donut loop (top-level import already present); deadtool_statusvar - lipase_docking_fastkit.py: unused
math,sysimports - professional_docking_runner.py: unused
shutilimport - select_top_diverse_hits.py: unused
re,pathlib.Pathimports - workflow_linter.py: unused
osimport - tests/: unused
pytest/logging/jsonimports Result:pyflakes= 0 findings across the whole stack + tests (was 14).
v100.3.1 — patch: tests resolve their stack root relative to themselves, so the
suite runs identically from the payload layout or a dev checkout (24/24 pass).
v100.3.0 — Debugging & testing (best practices applied)
--checkenvironment self-test — prints python/vina/rdkit/meeko/gemmi versions, flags missing REQUIRED tools, non-zero exit. Run it first whenever a job misbehaves.- Structured logging (
--debug,--log-file) — timestamps + levels; every external command logged; on failure the exact command + stdout/stderr tails are logged for reproduction. - Fail-closed exceptions (
debug_utils.py) — domain exceptionsDockingError/PrepError/ConfigError/ValidationError, chained (raise ... from e); inputs validated before compute; global exception hook logs any uncaught exception (nothing silent). - Reproducibility — every run writes
versions.json(tool versions + seed + exhaustive + cmdline); fixed seeds. - Output validation (
validate_results.py) — rows/status/score-range (−15..−2) sanity, 5-site coverage, vina.log presence; rows markedokwithout a score = hard FAIL; non-zero exit for CI gating. - 24-test pytest suite (
tests/, ~2 s, no docking needed): site detection (true triad found, distant cluster rejected, real 1LPB → Ser152-Asp176-His263 with validated centers), vina log parsing, unicode name resolution, validator/report CLI gates.bash run_tests.sh. - DEBUGGING.md — full guide + troubleshooting table.
v100.2.x — Multi-site (5 positions) + report pipeline (kept)
- The 5 positions, auto-detected from structure (atom-composition + tight H-bond geometry, robust to numbering offsets): catalytic triad · oxyanion hole · lid (β5/amphipathic helix) · hydrophobic substrate pocket · colipase C-terminal interface
resolve_names.py(PubChem name→SMILES, unicode-safe, ConnectivitySMILES fallback) ·multi_site_docking.py(checkpointed, parallel, memory-guarded) ·redock_high.py(ex16 re-dock + comparison) ·build_report.py+run_pipeline.sh(report pipeline with AI multi-provider hook, no credentials embedded)- Debug fixes: triad false-positive (tight geometry), meeko output-dir creation, redock SMILES lookup path
v100.1.4 — BUGFIX (kept)
vina 1.2 --log removed → stdout captured as vina.log; PEP-701 f-string → py≤3.11 safe. Verified with real docking (ibuprofen −7.29, caffeine −6.78 kcal/mol).
Quick Start
bash run_pipeline.sh molecules.txt --redock 10 --workers 2 # end-to-end
python multi_site_docking.py --check # env self-test
python multi_site_docking.py --ligands ligands.csv --workers 2 --debug --log-file run.log
python validate_results.py --results dock_results/results_all_sites.csv
bash run_tests.sh # 24 tests
python3 build_report.py --results dock_results/results_all_sites.csv
# classic single-site: bash restore_and_run.sh ligands.csv
Receptor: receptor/1LPB.pdb next to the stack (or --receptor PATH). Requires python 3.9+ with rdkit, meeko, vina, gemmi (conda-forge: micromamba create -p plenv -c conda-forge python=3.11 rdkit meeko vina gemmi openbabel pytest).
Built by @rustyorb — for authorized research and education. Only test systems/endpoints you own or have permission to audit.
Related skills
Relative binding free-energy and activity-label prediction workflows using PBCNet 2.0 on SciMiner, with Gnina docking and PDB/database retrieval to complete...
Generate and prioritize experimentally testable target hypotheses from one or more small-molecule structures. Use when a user supplies SMILES or a compound library and asks which targets the molecules may modulate, how structural neighbors and SAR support the hypotheses, which biological and competitive evidence should be checked, or which compounds and targets should advance to orthogonal validation.
Virtual screening workflows for open and proprietary chemical libraries, including transformer-based screening and docking-based screening through SciMiner.
Build defensible molecular ML for drug discovery — QSAR, virtual screening, ADMET, toxicity, binding affinity, drug-target models — with Random Forest, SVM/SVR, and Gradient Boosting, plus dataset analysis, inductive conformal prediction, multi-model consensus, diversity-aware batch selection, and cheminformatics-aware interpretation. Use for curating bioactivity data, comparing RF/SVM/XGBoost, leakage-resistant validation, library screening, calibrated uncertainty, disagreeing-model reconciliation, diverse assay-batch selection, feature-to-molecule mapping, applicability-domain assessment, or auditing a molecular ML paper.
Binding-site and pocket prediction workflows using P2Rank, AF2BIND, and fpocket through SciMiner.