Spaces:
Running
Running
Commit History
-
Move minimap2 download to runtime (avoids build failures on HF cpu-basic)
0be08e1
-
Phase 3: Sequencing pipeline (FASTQ -> QC -> alignment -> variant calling -> report)
- Backend: tools/sequencing.py -- SequencingPipeline with Python QC, minimap2 alignment, SAM-based variant calling, summary report - Backend: routers/sequencing.py -- /api/sequencing/run + status + references endpoints - Backend: Dockerfile -- added minimap2 v2.28 static binary - Frontend: analyze/sequencing/page.tsx -- full UI with pipeline progress, QC metrics, alignment rate, variant table - Frontend: analyze/page.tsx -- 'Sequencing Pipeline' card with 'New' badge - Frontend: lib/api.ts -- sequencing types and API functions1cb972c -
fix: load .env.deploy explicitly in config.py
2224ea2 -
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
-
feat: complete Phase 2 — API keys, share links, export, pipeline steps, guest upgrade
305458b -
fix: use valid EBI email (example.com), remove PhyML build from Docker
87fe374 -
fix: remove PhyML source build from Docker (fails on HF), add graceful missing-binary error in phylo.py
20cf1ce -
feat: dedicated phylo router (NJ/UPGMA/ML), local PhyML binary, standalone phylo page, PhyloTreeViewer redesign
07e58f6
-
feat: in-memory pipeline v2 with MSA, phylo tree, domains; PipelineResults component; standalone phylo page; report page; wizard step checkboxes
990c867 -
fix: add logging to init_redis() so Redis failures are visible in server logs
3edbe65
-
fix: Foldseek alignments are [dict] lists, parse target format
5f521f2 -
fix: debug alignment structure types
19208a9 -
fix: debug Foldseek result structure
61dd06a -
fix: Foldseek alignments are dicts, parse with .get() correctly
7756be4 -
fix: debug Foldseek alignment format (list vs dict)
758bd07 -
fix: add full traceback to Foldseek error
106504c -
fix: use aiohttp for Foldseek multipart upload
feb3584 -
fix: debug Foldseek submit response type
2058534 -
fix: use sync httpx in thread pool for Foldseek submit
8dd7e6b -
fix: restore nested alignments loop, remove debug raw
e598246 -
fix: return raw Foldseek data for debugging
36a7562 -
fix: Foldseek returns list directly, no alignments sub-key
87455a5 -
fix: move fetch inside httpx async with block
a55a85f -
fix: manual multipart for Foldseek, add secrets import
3b0a62a -
fix: use sync httpx.Client for Foldseek multipart upload
6f0c958 -
fix: add error detail to Foldseek, use bytes, longer timeout
e368884 -
fix: simplify Foldseek integration, use full PDB, encode as bytes
b4c387f -
fix: primer error handling, interactions scores, structure comparison API
- PrimerDesigner: handle array-type d.detail from Pydantic validation errors preventing '[object Object]' display - interactions: remove /1000 divisor — STRING-DB v12 returns scores in 0-1 range - structure_analysis: replace defunct PDBeFold REST API with Foldseek (async job-based, returns TM-score, seq identity, alignment length)3030b52 -
fix: handle null name in InterPro domain response
Some cathgene3d entries have 'name': null instead of a string or dict, causing AttributeError: 'NoneType' object has no attribute 'get'. Now safely coerces null/None to accession string.76de492 -
feat: domains, interactions, primers, structure analysis, wizard, phylo tree, conservation
- Add backend routers: domains (InterPro), interactions (STRING-DB), primers (Primer3), structure_analysis (Ramachandran, SS pred, comparison) - Add frontend components: AnalysisWizard, PhyloTreeViewer, DomainArchitecture, StringDBViewer, PrimerDesigner, RamachandranPlot, SecondaryStructureViewer, StructureComparison, ConservationTrack - Add pages: /wizard, /analyze/domains, /analyze/interactions, /analyze/primers, /analyze/compare - Update analyze hub: 10 operations in 3 groups + wizard CTA - Update alignment page: visual phylo tree + conservation track - Update job results: Advanced Analysis tabs panel - Register all routers in main.py; add primer3-py to requirements; fix CORS & profilebac1801
-
Fix KEGG search: use find/hsa with symbol matching + parse get/PATHWAY section
28de608 -
Add Reactome diagrams, KEGG search, pathway enrichment (pipeline + standalone)
8ce1e37 -
Security, crash fixes, demo prep, dead code removal
- Auth guard: GET/DELETE /api/jobs/{id} now verify ownership (403 on mismatch) - Streaming auth: interpretStream() injects Supabase Bearer token - DELETE 404: return 404 if job never existed - JobProgress: fixed active step to show next pending step - Step names unified: worker → definition → frontend all match - Null-guards: BlastPanel, ScoreBars, UniprotPanel handle undefined/null data - ErrorBoundary: new class component wrapping dashboard layout - Silent catches: replaced .catch(noop) with user-visible error banner - Demo data: filled alignment strings for all hits; added hemoglobin + BRCA1 - History page: linked in sidebar nav (was orphaned) - pipeline_type default fixed: blast → protein_analysis - Axios timeout: added 30s timeout to api client - Dead code: removed 8 files (engine.py, results/export/waitlist routers, celery_app, redis service, registration tool, StructureViewer component) and 4 unused api.ts functions9a28cd0 -
Fix Reactome pathway search: correct param name and response parsing
- Changed 'q' to 'query' in search/query params (Reactome API rejects 'q') - Fixed response parsing: Reactome returns grouped JSON (results[N].entries) not a flat list — added _extract_entries() helper - Updated Dockerfile port from 8000 to 7860 for HF Spaces compatibility2f3ea25
-
Add Render Blueprint, GitHub Actions auto-deploy, revert to CORS fix, local startup scripts
3beb058 -
Fix structure viewer: correct PDB API URL (+/entry/), fix RCSB UniProt search attribute + payload format
d721718 -
Fix MSA: use correct EBI result type 'fa' instead of 'aln-fasta' — confirmed via live API test
7a98820 -
Fix MSA: dynamically discover EBI result types instead of hardcoding 'aln-fasta'
4c0acd7 -
Fix MSA alignment: add Accept headers, result retry with delay, better error detail
96668fa -
Fix Phase 1 endpoints: resolve UniProt→PDB in structure viewer, use proper Reactome search, surface real backend errors in frontend
13df1a1 -
Sprint 3-7: Alignment, Structure Viewer, Pathway Analysis, Utility Tools, analyze page fully live
f0b48d6 -
Sprint 1-2: JWT auth middleware + UniProt dedicated page
f8dfa58 -
full dark migration: CSS overrides for all legacy classes, framer-motion animations across every page/component, rebrand to Bio Nexus
2f67ecf
-
design.md + rules.md compliance: dark theme, teal palette, pulsing dot, Pydantic models, api.ts routing, config fixes, db/max_hits threading, Supabase migration 004
f42f5a6 -
Fix PostgREST in() filter: quote status values in startup hook
9d6a43d -
Add RefSeq->UniProt mapping step in pipeline + demo uniprot_accession
c080f36 -
Add startup resume hook for stuck jobs + persist NCBI RID
94ca7cd -
fix: extract user UUID from JWT for rate limiter, skip anon
c14f4eb -
fix: logger.exception instead of stderr, fail job on thread crash
be02b10 -
fix: move first _set_step into try block + stderr fallback in run_pipeline_sync
2cb3e54