Spaces:
Sleeping
Sleeping
Commit History
-
feat(results): in-app share dialog + self-normalized dotplot scoring
Share flow: replace native share sheet / clipboard-only sharing with a dedicated ShareDialog (copy link, native Web Share when available, and popup links for X, Facebook, LinkedIn, WhatsApp, Telegram, Reddit, Email). Wizard and job detail pages now create the link, open the dialog, and show a spinner while the link is being created. Dotplot: stringency now means percent of a window's perfect self-match for substitution scoring (residue-composition independent), so identical A-rich proteins render a full main diagonal and conserved regions appear regardless of amino-acid content. Both inputs must be protein for matrix scoring; protein-vs-DNA comparisons fall back to identity and report a mixed type. BLAST panels link dot plots against full-length subject sequences from the MSA instead of the aligned segment. Verified: backend test_seq_tools 48 passed; frontend tsc + next build clean.525a5b5
-
feat(seq-tools): wire motif scanner into BLAST, structure, alignment and dot-plot workflows
fc75164 -
feat(seq-tools): motif categories & structure overlay, dot-plot scoring & features, cross-tool links
033540e
-
Refine design system: semantic color tokens, tiered motion, denser result cards, VinaLog toolbar
5e98b5a
-
refactor(icons): migrate lucide-react to @phosphor-icons/react, remove dep
349f22c
-
feat(alignment): pairwise global/local alignment via BLAST hit 'Align pair' (3a)
- POST /api/alignment/pairwise: Biopython PairwiseAligner (Needleman-Wunsch global default / Smith-Waterman local), BLOSUM62/PAM250, configurable gap penalties; subject fetched by accession (NCBI efetch -> UniProt fallback, ttl_cache 86400); clear 400 on dead/obsolete accession - Degenerate no-overlap local alignment returns empty result, not an error - BlastPanel 'Align pair' button: full query seq threaded from all 4 render sites, dimmed overhang beyond the aligned region, coverage note, fetch-failure UI - biopython>=1.80 pinned; 18 offline testsf0992bc
-
feat: add query coverage, organism, and query accession to BLAST results
cee7881
-
feat: add DNA sequence output across BLAST, UniProt, sequencing, primers, and SequenceRetrieval
00b6857
-
feat: add PNG/TSV/JSON/CSV/FASTA export to all 8 tool components
- Shared export utility (export-utils.ts): downloadTsv, downloadJson, copyText, exportSvgPng - DomainArchitecture: Export PNG (SVG canvas), Export TSV (domain table) - PhyloTreeViewer: Export PNG - ConservationTrack: Export PNG - StructureComparison: Export PNG (TM-score bars), Export TSV (metrics) - UniProt page: Export JSON, Export CSV (header fields) - PrimerDesigner: Export TSV (all primer pairs) - PathwayEnrichment: Copy links, Export TSV (pathway table) - BlastPanel: Export CSV (hit table), Export FASTA (sequences)342fa92
-
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
-
Polish: restyle blast/dashboard/jobs/history/results pages to dark theme, fix Loader2 icons, update result components
2a12412 -
full dark migration: CSS overrides for all legacy classes, framer-motion animations across every page/component, rebrand to Bio Nexus
2f67ecf -
named exports, any->unknown, theme toggle (light/dark), dark mode fixes, error extractor, deleted pipline/ typo dir
973dd4c
-
fix: E-value underflow, AlphaFold step, steps_completed append, UniProt always runs
3154548
-
Deploy prep: Render config + Dockerfile, refactored backend auth flow, dashboard, landing page, error states, guest flow
76fb273
-
Initial commit: Bio Nexus pipeline engine — BLAST + UniProt + AlphaFold + AI interpretation (Phase 1)
5a0e691