Release: 3.6.6
Status: Active Development
The AGOUTIC UI is a Streamlit web application for interacting with the AGOUTIC agent, managing projects, monitoring jobs, and viewing analysis results. It communicates exclusively with Cortex — all backend architecture (Atlas, 3, 4) is abstracted behind Cortex's API.
- 🔐 Google OAuth authentication with multi-user support
- 💬 Chat interface for conversing with the AGOUTIC agent
- ✅ Approval gates for reviewing and editing job parameters before submission
- ⚙️ Live job monitoring with Nextflow-style task progress visualization
- 📊 Results analysis page for browsing, parsing, and downloading job outputs
- 📁 Project management with history, switching, and conversation recall
- 🔑 Admin panel for user approval and role management
- 📈 Interactive Plotly charts — the agent can generate histogram, scatter, line, area, bar, box, violin, strip, heatmap, pie, venn, and upset charts from any DataFrame in the conversation; rendered inline as
AGENT_PLOTblocks - 🧮 Pending dataframe actions — saved in-memory dataframe transforms can be reviewed and applied or dismissed directly from chat via
PENDING_ACTIONblocks - 📋 Built-in dataframe + grouped DE help — sidebar and deterministic help responses include dataframe inspection, transform, plotting, and reconcile-abundance differential-expression examples
- Python 3.10+ with the
agoutic_coreconda environment - Cortex running at
http://localhost:8000
conda activate agoutic_core
cd ui
streamlit run appUI.pyThe UI will be available at http://localhost:8501.
The UI follows a strict single-gateway pattern: every request goes through Cortex.
┌─────────────────────┐
│ Web Browser │
│ (Streamlit) │
└──────────┬──────────┘
│
REST API (authenticated)
│
┌──────┴──────┐
│ Cortex │ ← Only server the UI talks to
│ (Agent) │
└──────┬──────┘
│ MCP / REST proxies
┌─────┼─────┐
│ │ │
Srv 2 Srv 3 Srv 4
(ENCODE) (Exec) (Analysis)
Main App (appUI.py)
- Chat with the AGOUTIC agent
- Approval gates for job submission parameters
- Live Nextflow job progress with task-level detail
- Project switching, conversation history
- Model selection (default / fast / smart)
AGENT_PLOTblocks: inline Plotly charts triggered by the agent using[[PLOT:...]]tags; supports histogram, scatter, line, area, bar, box, violin, strip, heatmap, pie, venn, and upset chart typesPENDING_ACTIONblocks: block-specific Apply / Dismiss controls for saved dataframe transforms- Deterministic help shortcuts for grouped differential expression from reconcile abundance outputs or saved dataframes
Results (pages/results.py)
- Browse completed job files (CSV, BED, text)
- Parse and preview structured data as tables
- Download result files
- All data fetched via Cortex analysis proxy endpoints
Admin (pages/admin.py)
- Approve or reject pending user registrations
- Promote users to admin role
- Revoke user access