Skip to content

tenayatherapeutics/pathviewweb

Repository files navigation

pathviewweb

Modern re-implementation of the (now unavailable) Pathview Web server.

Goal: Provide a web UI + REST API to run Pathview (Bioconductor R package) jobs reproducibly, securely, and at scale.

Architecture (high level)

  • apps/api -- FastAPI service (job submission, status, download links)
  • apps/worker -- Python RQ worker that runs Pathview via Rscript
  • apps/web -- UI (Next.js) that talks to the API
  • Docker-first: this project is designed to run as containers (Compose for local/prod).

Quickstart (dev)

Prereqs: Docker + Docker Compose.

docker compose up --build

Then:

Submit a job (upload first, then create job):

curl -X POST http://localhost:8000/v1/uploads \
  -F "file=@examples/gene_data.tsv" \
  -F "format=tsv"

curl -X POST http://localhost:8000/v1/jobs \
  -H "Content-Type: application/json" \
  -d '{
    "species": "mmu",
    "pathway_id": "04110",
    "gene_data": { "upload_id": "<upload_id>", "format": "tsv" },
    "options": { "gene_idtype": "symbol" }
  }'

Check health:

curl http://localhost:8000/healthz

Configuration

Environment variables used by containers:

  • REDIS_URL (api/worker)
  • STORAGE_DIR (api/worker)
  • JOB_TTL_SECONDS (api/cleanup)
  • CLEANUP_INTERVAL_SECONDS (cleanup)
  • NEXT_PUBLIC_API_BASE (web)

Defaults are set in docker-compose.yml. To override for production, copy and edit:

cp .env.example .env

Docs

  • docs/ARCHITECTURE.md - system design and runtime flow
  • docs/API.md - REST API details
  • docs/SECURITY.md - threat model and controls
  • docs/PLAN.md - roadmap and milestones

Production-ish (Docker Compose)

Use the production compose file:

cp .env.example .env
docker compose -f docker-compose.prod.yml up -d --build

Notes

  • Uploads must be TSV or CSV. The API validates delimiters before accepting files.
  • Gene data files must have gene IDs in the first column and numeric values in the remaining columns.
  • Results are packaged as a ZIP that includes outputs, logs, and inputs.

License

MIT (see LICENSE).

About

KEGG Pathview for Web: upload gene/compound data, configure Pathview, run jobs, and download visualized pathway outputs via a web UI + API.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors