Spaces:
Running
Running
Commit History
-
feat: optimize CASTp SASA with KDTree, add sequence input to CASTp + Structure Prep, ESMFold integration for unknown genesβ
Backend: - castp.py: Replace O(nΒ²) adjacency loop with scipy KDTree O(n log n), compute SASA on first model only - castp router: Accept pdb_id, sequence (auto-ESMFold), or pdb_text input - structure_prep.py: Add esmfold_predict() for raw sequences via HF Inference API - structure_prep router: Accept sequences for full pipeline (ESMFold β chain detection β repair β cleanup β pockets) Frontend: - CASTp page: PDB ID / amino acid sequence toggle, textarea with residue counter - Structure Prep page: PDB ID / amino acid sequence toggle, progress bar with ESMFold step - api.ts: Add runCastpSequence(), runStructurePrepSequence(), sequence_source on CastpResulte21c532
-
feat: structure preparation pipeline β broken chains β SWISS-MODEL repair β PyMOL cleanup β fpocket + CASTpβ
- Broken chain detection: Biopython REMARK 465 + CA-CA gap >4.2Γ - SWISS-MODEL auto-repair when broken chains found (SMR Repository API) - PyMOL cleanup (waters/hetero removal) with Biopython fallback - fpocket local pocket detection (compiled from source in Docker) - CASTp remote async via CASTpFold server (polls for results) - Combined pocket results panel (fpocket + CASTp side by side) - Pipeline status stepper UI with progress bar - Both Dockerfiles: fpocket compiled from Discngine/fpocket source - Frontend: analyze/structure-prep/page.tsx with full pipeline visualization - Wired into main.py + api.ts, TypeScript clean1b28e93