Commit History

  1. debug: check if timeout command exists

    a246aa1
  2. fix: use Linux timeout command instead of subprocess timeout to reliably kill Vina

    083cf21
  3. debug: add /api/docking/vimontest endpoint

    7789c73
  4. fix: add subprocess timeout=600, reduce exhaustiveness to 2, modes to 3

    76cecfd
  5. fix: reorder _download_vina before module-level vina resolution

    8c7f69a
  6. fix: detect missing Vina binary at module level and download fallback; fail early if binary not found

    058552e
  7. fix: use asyncio.to_thread + file-based subprocess for Vina; add vina binary debug test

    d214a0c
  8. fix: use asyncio.create_subprocess_exec for Vina to prevent pipe deadlock; fix isoformat for PostgREST

    b1d8ad7

  1. feat: add progress callbacks to DockingTool.run() for real-time status tracking⁠

    8d44857
  2. fix: encode grace_cutoff with strftime to avoid + in URL query param⁠

    9aaccbe
  3. fix: migrate docking/sequencing job store from file-backed dict to Supabase⁠

    a8dee3b
  4. fix: add TORSDOF 0 after ENDROOT (rigid ligand)

    396bcf1
  5. fix: right-justify charge to col 76 with {charge:>8.3f}, ad_type:>2 at 78-79

    38de281
  6. fix: pad PDBQT to 80 cols so charge field is parseable at positions 66 or 69

    f66e99a

  1. fix: correct PDBQT column alignment (atom name, coord pos, charge field)

    cdaf04c
  2. fix: correct PDBQT column positions for atom serial number

    d29844d
  3. fix: generate PDBQT directly from SDF (Vina binary rejects PDB/SDF input)

    3a5f903
  4. fix: convert SDF to PDB in Python (avoids Vina SDF parser issues)

    640d93b
  5. fix: use NCI CACTUS /mol format instead of /sdf (Vina parses MOL better)

    c11931d
  6. fix: strip SDF data sections (Vina parser rejects >header lines)

    ecab431
  7. fix: replace obabel CLI with NCI CACTUS API for SMILES→3D (eliminates all subprocess crashes)

    b3124a2
  8. fix: use asyncio.to_thread(subprocess.run) instead of asyncio.create_subprocess_exec (Python 3.14 compat)

    05c77a7
  9. fix: use obabel CLI subprocess for SMILES→3D (lightweight, no OOM) + Vina reads PDB receptor natively (no obabel PDBQT prep)

    64e0551
  10. fix: use PDB instead of SDF for ligand (Vina SDF parser rejects RDKit tag)

    36897bb
  11. fix: eliminate obabel entirely — use RDKit for SMILES→3D + Vina PDB/SDF input (avoids OOM from obabel C++ subprocess)

    618a4e0
  12. fix: add import subprocess and use subprocess.PIPE instead of asyncio.subprocess.PIPE (Python 3.14 compat)

    6d68d15
  13. fix: revert to BackgroundTasks + async DockingTool.run (no threads, no pybel); pre-download vina in build.sh

    538a17a
  14. fix: fully sync _worker_sync — replaces asyncio.run with subprocess.run + httpx.Client to avoid Python 3.14 thread crash

    890c537
  15. chore: add /api/docking/debug diagnostic endpoint

    88d40c6
  16. fix: remove pybel bindings (causes segfault on Render), use obabel CLI subprocess only

    0ed4824
  17. fix: run docking worker in thread pool to keep event loop responsive + add vina download timeout

    8be46a8
  18. fix: move global to first line of function (Python 3.14 SyntaxError)

    cb34bca
  19. fix: strip ROOT/BRANCH from receptor PDBQT (rigid-receptor compat)

    fef08a5
  20. fix: use low-level OB API with AddOption('r') for rigid receptor PDBQT

    5b41dec
  21. fix: move global OBABEL_CMD declaration to function top (Python 3.14 SyntaxError)

    f1b1916
  22. fix: reduce OOM by using in-process obabel bindings + lower vina exhaustiveness

    320581f

  1. fix: simplify build.sh to only pip install (no risky binary downloads) + fix vina download path⁠

    c9577de
  2. fix: obabel self-healing — openbabel-wheel in requirements, runtime pip fallback, Vina download⁠

    31d3bd8
  3. fix: check obabel availability early with clear error message, use OBABEL_CMD variable

    e86be3a
  4. feat: add interaction fingerprinting and 3Dmol.js viewer to molecular docking page⁠

    a6857c7
  5. fix: remove orphaned context = { line causing SyntaxError in deploy

    cab1006
  6. feat: add query coverage, organism, and query accession to BLAST results

    cee7881
  7. fix: robust Foldseek parsing, add logging, handle missing results key and variant target formats⁠

    d35f0c4

  1. fix: handle NCBI UNKNOWN status and add pathway_enrichment to frontend status order

    6547179
  2. feat: add DNA sequence output across BLAST, UniProt, sequencing, primers, and SequenceRetrieval

    00b6857
  3. feat: implement 8 tool bridges (F1-F8) + audit child components

    5561093
  4. feat: 4-layer audit/observability system⁠

    6a2c89b

  1. fix: replace dead lambda reference FTP URL with NCBI E-utilities

    d10fc77
  2. fix: resolve 10 bugs in sequencing/docking pipelines⁠

    01cadbb
  3. Fix pipeline stuck issue: synthetic FASTQ fallback and demo mode

    e816a43