Initial Release help-frontend

Dr. Frontend

Gene-Centric AMD Analysis

Redesign of theOphtha Agent Streamlit appusing CS CoE Frontend components, Genentech design tokens, and Gene Sans typography.

What This App Does

The Ophtha Agent is a gene-centric analysis tool for Age-related Macular Degeneration (AMD) research. It integrates internal Roche/Genentech multi-omic datasets with public databases to produce comprehensive gene reports. The original Streamlit app runs a LangGraph agentic workflow that coordinates domain-expert LLM agents across 8+ data modalities.

Internal Data

eQTL, pQTL, GWAS/MAGMA, Bulk RNA-seq, MiloDE single-cell, Proteomics, Pathway enrichment (ORA, MAGMA, WikiPathways), and ATAC-seq chromatin accessibility from NGS and SUNY studies.

Public Data

Open Targets (context, expression, drugs, literature, safety, tractability, pathways, mouse phenotypes), HPA single-cell, Cortellis, ClinicalTrials.gov, Genebass (UK Biobank burden/SKAT/SKAT-O), GWASDB, and RoMine literature.

Visualizations

Volcano plots, expression heatmaps, pathway networks, and links to the Gene Dossier visualization page. Reports exportable as PDF or Markdown.

Migration from Streamlit

This showcase demonstrates how the Streamlit UI maps to CS CoE components:

Streamlit ElementCS CoE ComponentNotes
st.tabs()@cs-coe/tabsThree tabs: Internal, Public, Visualizations
st.text_input()@cs-coe/inputGene search with autocomplete dropdown
st.selectbox()@cs-coe/selectStudy filter (NGS, SUNY, both)
st.markdown(table)@cs-coe/tableExpandable data tables with fold/expand
st.sidebarCustom sidebar navTable of contents with scroll-to navigation
st.download_button()@cs-coe/buttonPDF and Markdown export
st.spinner()@cs-coe/skeletonLoading state with skeleton cards
st.progress()@cs-coe/progressEvidence strength bars
Custom CSS badges@cs-coe/badgeEvidence strength indicators

Design Decisions

Typography

Replaced Cormorant Garamond and Dancing Script with Gene Sans. The original app used decorative serif fonts for the title — the redesign uses the standard Genentech type scale (text-2xl font-bold for page title, text-lg font-semibold for sections).

Color Tokens

Replaced hardcoded #3498db / #2980b9 gradients withbg-primary and text-primary semantic tokens. Evidence strength badges use variant="default" (strong),"secondary" (moderate), "outline" (weak/none), and "destructive" (error).

Layout

Streamlit's single-column layout with sidebar is preserved as aflex gap-6 layout with a sticky sidebar nav on desktop and mobile-responsive export buttons. The sidebar hides below lg.

Tables

The original app uses CSS checkbox hack for expandable pipe-markdown tables. The redesign uses @cs-coe/table with a React state toggle, showing 4 rows by default with a "Show N more rows" button.

Live Demo

Ophtha Agent

Gene-Centric AMD Analysis — Internal & Public Data Integration

Enter a gene symbol to begin

Search for any gene to view internal and public AMD evidence

Data sources: eQTL, pQTL, GWAS/MAGMA, Bulk RNA-seq, MiloDE, Proteomics, Pathways (ORA, MAGMA, WikiPathways), ATAC-seq (NGS and SUNY studies)

Public: Open Targets, HPA, Cortellis, ClinicalTrials.gov, Genebass (UK Biobank)

Source

Original Repository

code.roche.com/omni-bioinfo/projects/ocular/amd/agentic_workflow_amdgene_centric_streamlit/ directory

Key Files

  • run_workflow_streamlit_app.py — Main Streamlit app (1022 lines)
  • static/styles.css — Custom CSS (429 lines)
  • utils/markdown_helpers.py — Table processing and anchor generation
  • gene_centric_beta/workflow/main_workflow.py — LangGraph agentic workflow
  • public_data_workflow/integration.py — Public data evidence collection

Architecture

┌─────────────────────────────────────────────────┐
│  Streamlit UI (run_workflow_streamlit_app.py)    │
│  ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│  │ Internal │ │  Public  │ │ Visualizations   │ │
│  │   Data   │ │   Data   │ │                  │ │
│  └────┬─────┘ └────┬─────┘ └──────────────────┘ │
│       │             │                            │
│  ┌────▼─────────────▼────────────────────────┐   │
│  │  LangGraph Agentic Workflow               │   │
│  │  ┌─────────┐ ┌─────────┐ ┌─────────────┐ │   │
│  │  │ eQTL    │ │ pQTL    │ │ GWAS/MAGMA  │ │   │
│  │  │ Expert  │ │ Expert  │ │ Expert      │ │   │
│  │  └─────────┘ └─────────┘ └─────────────┘ │   │
│  │  ┌─────────┐ ┌─────────┐ ┌─────────────┐ │   │
│  │  │ RNA-seq │ │ MiloDE  │ │ Proteomics  │ │   │
│  │  │ Expert  │ │ Expert  │ │ Expert      │ │   │
│  │  └─────────┘ └─────────┘ └─────────────┘ │   │
│  │  ┌─────────┐ ┌─────────┐ ┌─────────────┐ │   │
│  │  │Pathways │ │ ATAC-seq│ │   Report    │ │   │
│  │  │ Expert  │ │ Expert  │ │  Generator  │ │   │
│  │  └─────────┘ └─────────┘ └─────────────┘ │   │
│  └───────────────────────────────────────────┘   │
│       │             │                            │
│  ┌────▼─────┐  ┌────▼──────────────────────┐    │
│  │ Internal │  │ Public Data Workflow       │    │
│  │ Data     │  │ Open Targets, HPA,        │    │
│  │ (Parquet │  │ Cortellis, ClinicalTrials, │    │
│  │  files)  │  │ Genebass, GWASDB, RoMine  │    │
│  └──────────┘  └───────────────────────────┘    │
└─────────────────────────────────────────────────┘