Spaces:
Running
Running
Commit History
-
fix: run docking worker in thread pool to keep event loop responsive + add vina download timeout
8be46a8 -
fix: move global to first line of function (Python 3.14 SyntaxError)
cb34bca -
fix: strip ROOT/BRANCH from receptor PDBQT (rigid-receptor compat)
fef08a5 -
fix: use low-level OB API with AddOption('r') for rigid receptor PDBQT
5b41dec -
fix: move global OBABEL_CMD declaration to function top (Python 3.14 SyntaxError)
f1b1916 -
fix: reduce OOM by using in-process obabel bindings + lower vina exhaustiveness
320581f
-
fix: simplify build.sh to only pip install (no risky binary downloads) + fix vina download path
- Removed set -e from build.sh — failures no longer crash the Render build - Removed vina/phyml wget/cp — handled at runtime by docking.py self-healing - Vina download target changed to tempfile.gettempdir() which is always writable - obabel installed via requirements.txt (openbabel-wheel)c9577de -
fix: obabel self-healing — openbabel-wheel in requirements, runtime pip fallback, Vina download
- openbabel-wheel in requirements.txt (default pip install on Render) - _find_obabel() searches PATH, Python bin dir, /usr/local/bin, /usr/bin - If obabel still missing at runtime, pip install openbabel-wheel on demand - If Vina missing, download binary at runtime (self-healing) - Both subprocess calls use OBABEL_CMD (fixes hardcoded obabel on SMILES line) - build.sh installs vina/phyml to Python bin dir (survives build-to-runtime)31d3bd8 -
fix: check obabel availability early with clear error message, use OBABEL_CMD variable
e86be3a -
feat: add interaction fingerprinting and 3Dmol.js viewer to molecular docking page
- Backend: H-bond, hydrophobic, pi-stacking detection with conservative cutoffs - Backend: inline ligand PDB generation per pose, stored in result - Backend: GET /api/docking/result/{job_id}/pdb endpoint - Frontend: DockingViewer (3Dmol.js) — protein cartoon + ligand stick overlay - Frontend: InteractionPanel — collapsible tables for all interaction types - Frontend: poses table now shows H/HP/π counts per posea6857c7
-
feat: implement 8 tool bridges (F1-F8) + audit child components
5561093
-
feat: molecular docking (AutoDock Vina) + docs site + Sentry + cache stats + Phase 2 docs update
- Molecular docking tool via AutoDock Vina (free, CPU-based, local binary) - Dockerfile: openbabel apt install + vina binary from GitHub releases - Backend: DockingTool (PDB fetch, obabel PDBQT conversion, vina subprocess, pose parser) - Backend: POST /api/docking/run + GET /api/docking/status/{job_id} - Frontend: analyze/docking/page.tsx — PDB ID + SMILES input, auto-detect binding pocket, results table with affinity color-coding, PDBe structure viewer - Frontend: docking card with 'New' badge added to analyze/page.tsx - Documentation site: /learn pages (10 topics + glossary), LearnPopover inline help, TutorialWalkthrough onboarding modal - Sentry error monitoring: sentry.client.config.ts, sentry.server.config.ts, next.config.js withSentryConfig, backend sentry_sdk init in main.py - Cache stats tracking: _cache_stats counters, from_cache flag, /api/admin/cache-stats endpoint, @ttl_cache on ncbi_service.search_by_name and pathway_enrichment - All .md docs (MASTER_PL…fb8c550