Skip to content

v2.0.0 — Full-Featured Release

Choose a tag to compare

@eprifti eprifti released this 16 Feb 01:31
· 105 commits to main since this 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