Skip to the content.

Business question

Can a small lab or bioinformatics team run a reproducible DESeq differential-expression workflow through a web UI while giving power users and AI agents the same backend through REST, CLI payloads, and MCP?

What we can do with this

This architecture affords users of the software (employees) multiple ways of accessing the differential expression workflow. For example, if a user wanted to run a differential expression analysis using an agent, the web page upload, or the command line, all three are viable.

Try the workflow

This workflow demonstrates a practical pattern for analytics teams: one analysis pipeline, multiple access surfaces. A non-technical user can launch a synthetic DESeq run from the browser, a power user can automate the same run over REST/CLI, and an agent can orchestrate it through MCP tools. All three surfaces submit into the same backend job system, so results stay consistent while each audience gets the interface that fits how they work.

Its biggest strength is operational consistency under different usage styles. The queue-backed worker layer allows concurrent job execution, while the UI now renders run-specific artifacts only after the submitted job completes. That makes the demo useful both as a product UX prototype and as a systems proof-of-concept for reproducible, agent-accessible bioinformatics workflows.

To build this on your own desktop, start the local stack from demos/agent-accessible-workflows using the included quickstart scripts (start-demo and verify-demo), then open this portfolio page locally and submit runs with your generated API_TOKEN. The same packaged flow supports UX, CLI, and agent validation on a single workstation.

Run this demo on your workstation

For technical reviewers, this project includes a copy-paste local package that runs UX + CLI + agent surfaces on one machine.

1. Analysis configuration

This demo runs synthetic-only RNA-seq jobs. No user-uploaded files are accepted in UX, CLI/API, or agent tools.

2. Submit and monitor

Demo mode is active until a backend API URL is configured.
Job ID
not submitted
Status
idle
Message
Submit a job to render outputs for that run.

3. Results preview (job-specific)

Artifacts and plots appear only after the submitted job completes.

Results

    Synthetic data

    The live run flow supports bounded synthetic compute presets:

    Architecture

    This workflow uses a single backend pipeline with multiple access surfaces:

    Flow summary: UX / CLI / Agent -> API -> Redis queue -> Worker containers -> job artifacts -> API responses/UI rendering

    Optional REST example

    curl -X POST "$API_BASE_URL/tools/run_deseq" \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      --data-binary @fixtures/run-deseq-synthetic.json
    

    Agent tools

    The Cloudflare Worker exposes an MCP endpoint with tools for run_deseq, get_job_status, get_deseq_results_summary, and get_synthetic_dataset_info. run_deseq remains available to agents with synthetic-only inputs and profile selection.

    Reproduce locally

    cd demos/agent-accessible-workflows
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    python3 data/generate.py
    python3 src/run.py