Pharmacogenomic + autoimmune decision-support infrastructure, calibrated to the Indian genome.
Global drug-dosing tables were built from Western genomes. Indian patients have different variant frequencies, different HLA distributions, and different drug-response profiles.
| Gap | Reality |
|---|---|
| CYP2C19*2 loss-of-function | 23% in South Asians · 15% globally → clopidogrel routinely mis-dosed |
| HLA-B*15:02 | 9% in South Asians · 4% globally → SJS/TEN carbamazepine mortality 10–30% |
| 32% of Indian variants | Absent from gnomAD → returned as "variant of uncertain significance" |
| RA diagnostic delay | 4–7 years in India vs 1–2 years in the West → irreversible joint damage |
Ingest a VCF (or 23andMe / CSV), run through the deterministic orchestration router, and return one auditable clinical report — with every score traceable to a curated rule.
Everything in the stack ships with a trace_id. One click retrieves the full reasoning chain, model versions, source edges, and whether the output is clinical-surface-safe or hard-blocked as a hypothesis.
Clinical (surface-safe):
- IndoPGx — 61 CPIC-graded variants · sub-200ms
- IndoG6PD — tribal Odisha primaquine safety
- IndoAutoImmune 2.0 — HLA precision medicine · hard benchmark gate
- CardioRisk India — 6 simulation engines for Indian MI risk
- Co-Branded Report — diagnostic-lab PDF · 6 sections
Infrastructure:
- Orchestration Layer — deterministic router · no LLM in routing path
- Genomic Report Reader — VCF/23andMe/CSV ingest
- Trust & Audit — trace_id · reasoning chain · shared confidence-tier enum
Research (hypothesis-only · schema-quarantined):
- IndoVarClassifier v1.0 — real methods · fully cited · grant-research-ready
- Discovery — GNN link prediction + VUS classification
- Structural Intelligence — ESM + Boltz-2 four-tier funnel
- Generative Hit-Design — real RDKit chemistry + BRICS scaffold-hop + 5 go/no-go gates → CRO handoff
End-to-end proof:
- Case Study · Priya — one patient · every layer · 13 milliseconds
- No LLM in the clinical routing path. Same input → same output, every call.
- Predictions are structurally separate from facts.
:PREDICTED_TARGETSnever merges with:TARGETS. Enforced in code, not by convention. - Every claim traces to a source. Curated rule, published paper, or explicit
verification_required=true. - Every module cites its methods. No proxy backend without a documented swap-in target.
See ARCHITECTURE.md for the full 5-layer stack.
┌─────────────────────────────────────────────────────────┐
│ Diagnostic lab / hospital / doctor │
└─────────────────┬───────────────────────────────────────┘
│ VCF · 23andMe · CSV
▼
┌─────────────────────────────────────────────────────────┐
│ 1 Ingestion & normalization │
│ 2 Deterministic orchestration router │
│ 3 Interpretation modules (clinical-safe) │
│ 4 Hypothesis modules (schema-quarantined) │
│ 5 Trust & Audit (trace_id on every response) │
└─────────────────┬───────────────────────────────────────┘
│ Standardized clinical report envelope
▼
┌─────────────────────────────────────────────────────────┐
│ Cardiologist · compliance officer · wet-lab partner │
└─────────────────────────────────────────────────────────┘
- Backend · Python 3.11 · FastAPI · Neo4j · RDKit · NetworkX · pydantic
- Frontend · Next.js 14 App Router · TypeScript · React 18
- Data · IndiGen (CSIR-IGIB) · PharmGKB · CPIC · gnomAD v4 · ClinVar · Ensembl VEP · PrimeKG · IMPPAT 2.0 · GenomeIndia · PDB · AlphaFold DB · UniProt · Reactome
- Hosting · Vercel (frontend) · Railway (FastAPI + Neo4j)
git clone https://github.com/shailesh2790/petridish.git
cd petridish
# Backend
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
uvicorn api.reason:app --reload --port 8000
# Frontend (separate terminal)
npm install
npm run devOpen http://localhost:3000.
.env.example lists the environment variables. Neo4j credentials are only needed for graph modules; most modules work with just an empty .env.
- CONTRIBUTING.md — how to add a module, code style, PR checklist
- ARCHITECTURE.md — 5-layer stack, module pattern, envelope contract
- CODE_OF_CONDUCT.md — Contributor Covenant
Good first contributions:
- Add a curated Indian variant to
api/patient.py(with citation) - Wire a new module's Next.js proxy route
- Improve a page's UI/UX using
src/components/ui.tsxprimitives - Add citations to a module's
/citationsendpoint - Fix a broken SMILES in
api/real_chemistry.py::APPROVED_AUTOIMMUNE_DRUG_SMILES
Open an issue first for anything larger than a proxy tweak.
PetriDish is decision-support infrastructure — not a diagnostic device, not a drug. Every clinical output is triage for a licensed practitioner. Every hypothesis output requires wet-lab or literature cross-check.
Shailesh Tripathi · shailesh.tripathi2706@gmail.com · LinkedIn