v2.0.0 — Full-Featured Release
PredomicsApp v2.0.0
Major release with 26 features across 3 phases, comprehensive test suite, and full documentation.
Highlights
- Co-presence analysis — Pairwise feature co-occurrence with hypergeometric significance testing, Viridis heatmaps, network visualization (4 layout algorithms), and functional annotations from biobanks.gmt.bio
- Feature importance visualization — Waterfall charts, coefficient direction bars, per-sample contribution heatmaps
- Batch parameter sweeps — Launch up to 50 jobs with cartesian product of parameter grids
- Real-time job logs — WebSocket live streaming with HTTP polling fallback
- Multi-user security — API keys, webhooks, audit logging, password reset, rate limiting
Phase 1: Core Features (13 items)
- Export & Reports — CSV exports, HTML reports, Python/R notebook generation
- Job Comparison — Side-by-side metrics tables with config diff highlighting
- Real-time Progress — Console panel with ANSI-rendered logs, progress bar, generation tracking
- Notebook Integration — Pre-filled Python (.ipynb) and R (.Rmd) notebooks from completed jobs
- Onboarding Tour — 6-step interactive walkthrough for first-time users
- Browser Notifications — Desktop alerts when jobs complete or fail
- Batch Runs — Parameter sweep grid builder with up to 50 jobs per batch
- Dataset Tagging & Search — Tag-based organization with search and filter
- Animated Workflow Diagram — CSS-animated pipeline on landing page
- Use Case Examples — 4 real-world research examples with publication references
- Test Coverage — 215 backend + 59 frontend tests (~86% backend coverage)
- API Documentation — Swagger UI at
/docs, ReDoc at/redoc - Deployment Guide — Docker Compose, NGINX, SSL, Kubernetes, backup/restore
Phase 2: Enhancements (5 items)
- Database Backup & Import — Portable tar.gz archives with replace/merge restore modes
- WebSocket Live Logs — Real-time log streaming with JWT auth
- Dataset Preview — In-browser file preview with stats
- Performance — TTL cache, GZip compression, lazy-loaded Plotly.js
- Error Handling — Structured error responses, toast notifications, retry utility
Phase 3: Security & Integrations (8 items)
- Feature Importance Visualization — Waterfall, coefficient bars, per-sample heatmap
- Project Templates — Admin-managed parameter presets
- Audit Log — 14 tracked actions across 6 routers, admin-queryable
- Password Reset — Self-service with optional SMTP email
- API Key Management — Programmatic access with bcrypt-hashed keys
- Webhook Notifications — HMAC-SHA256 signed HTTP callbacks on job events
- Dataset Versioning — Auto-snapshots on file changes with restore
- Rate Limiting — Per-user/IP limits via slowapi (no Redis required)
Co-presence Analysis (new in this release)
- Feature prevalence across model population (FBM-filtered)
- Pairwise co-occurrence with Fisher's exact (hypergeometric) test
- Configurable significance threshold (p ≤ 0.01 to 0.20)
- Viridis-colored co-occurrence heatmap
- Network visualization with 4 layout algorithms (force-directed, circle, grid, radial)
- Functional annotations: butyrate production, inflammation, transit speed, oral origin
- MSP taxonomic annotations from biobanks.gmt.bio with concurrent fetching (20 threads)
Documentation
- Comprehensive README with 11 screenshots covering all app pages
- Playwright-based screenshot automation script
- Full API endpoint reference
- Architecture diagram and technology stack
Testing
- 215 backend tests (pytest) — ~86% coverage
- 59 frontend tests (Vitest + Vue Test Utils)
- CI/CD with GitHub Actions
Database Migrations
v2–v15: dataset library, composite datasets, admin flag, job name/user/config hash/disk size, dataset tags, batch_id, audit logs, password reset tokens, API keys, webhooks, dataset versions
Full Changelog: v1.3.0...v2.0.0