fix: use /usr/bin/timeout OS-level command instead of Python subprocess timeout 8329f93 Samad14 commited on Jul 14
fix: use subprocess.DEVNULL for Vina output — eliminates ALL I/O blocking 3aeb8d2 Samad14 commited on Jul 14
fix: use dedicated ThreadPoolExecutor(max_workers=1) + subprocess.run(file handles, timeout=N) 1242de8 Samad14 commited on Jul 14
fix: use asyncio.create_subprocess_exec with file descriptors + wait_for — no threads, no pipe buffer deadlock 6c14e2d Samad14 commited on Jul 14
fix: use file handles instead of PIPE to avoid Vina pipe-buffer deadlock on Render 88df0f4 Samad14 commited on Jul 14
fix: use subprocess.run(timeout=...) instead of asyncio subprocess for reliable Vina timeout ab38821 Samad14 commited on Jul 14
fix: reliable Vina timeout via asyncio subprocess + cleanup vimontest ab9ad46 Samad14 commited on Jul 14
fix: use Linux timeout command instead of subprocess timeout to reliably kill Vina 083cf21 Samad14 commited on Jul 14
fix: add subprocess timeout=600, reduce exhaustiveness to 2, modes to 3 76cecfd Samad14 commited on Jul 14
fix: remove set -e from build.sh so curl failure doesn't abort build af25028 Samad14 commited on Jul 14
fix: detect missing Vina binary at module level and download fallback; fail early if binary not found 058552e Samad14 commited on Jul 14
fix: use asyncio.to_thread + file-based subprocess for Vina; add vina binary debug test d214a0c Samad14 commited on Jul 14
fix: use asyncio.create_subprocess_exec for Vina to prevent pipe deadlock; fix isoformat for PostgREST b1d8ad7 Samad14 commited on Jul 14
feat: add progress callbacks to DockingTool.run() for real-time status tracking 8d44857 Samad14 commited on Jul 12
fix: encode grace_cutoff with strftime to avoid + in URL query param 9aaccbe Samad14 commited on Jul 12
fix: migrate docking/sequencing job store from file-backed dict to Supabase a8dee3b Samad14 commited on Jul 12
fix: right-justify charge to col 76 with {charge:>8.3f}, ad_type:>2 at 78-79 38de281 Samad14 commited on Jul 12
fix: pad PDBQT to 80 cols so charge field is parseable at positions 66 or 69 f66e99a Samad14 commited on Jul 12
fix: correct PDBQT column alignment (atom name, coord pos, charge field) cdaf04c Samad14 commited on Jul 11
fix: generate PDBQT directly from SDF (Vina binary rejects PDB/SDF input) 3a5f903 Samad14 commited on Jul 11
fix: use NCI CACTUS /mol format instead of /sdf (Vina parses MOL better) c11931d Samad14 commited on Jul 11
fix: replace obabel CLI with NCI CACTUS API for SMILES→3D (eliminates all subprocess crashes) b3124a2 Samad14 commited on Jul 11
fix: use asyncio.to_thread(subprocess.run) instead of asyncio.create_subprocess_exec (Python 3.14 compat) 05c77a7 Samad14 commited on Jul 11
fix: use obabel CLI subprocess for SMILES→3D (lightweight, no OOM) + Vina reads PDB receptor natively (no obabel PDBQT prep) 64e0551 Samad14 commited on Jul 11
fix: use PDB instead of SDF for ligand (Vina SDF parser rejects RDKit tag) 36897bb Samad14 commited on Jul 11
fix: eliminate obabel entirely — use RDKit for SMILES→3D + Vina PDB/SDF input (avoids OOM from obabel C++ subprocess) 618a4e0 Samad14 commited on Jul 11
fix: add import subprocess and use subprocess.PIPE instead of asyncio.subprocess.PIPE (Python 3.14 compat) 6d68d15 Samad14 commited on Jul 11
fix: revert to BackgroundTasks + async DockingTool.run (no threads, no pybel); pre-download vina in build.sh 538a17a Samad14 commited on Jul 11