iS Invariant Systems
computational biology · applied AI

AI research co-pilot · statistical genetics

From a disease to a defensible drug target — with the analysis, the plot, and the receipts.

A scientist-facing co-pilot that runs real target-discovery workflows end to end: it ranks the genetically-supported targets for a disease, runs colocalization and Mendelian randomization at a locus, renders the regional plot, and returns a cited, human-reviewable GO / NO-GO — every step contract-tested and reproducible.

Regional LocusCompare plot for SORT1 and VLDL cholesterol showing a clean H4=1.00 colocalization between SORT1 liver expression and the VLDL-cholesterol GWAS signal, with regional Manhattan panels, a GENCODE gene track, and an effect-size scatter.
Real output. SORT1 ranked as a lipid/CAD target; drilling in reveals the mechanism — a clean H4 = 1.00 colocalization between SORT1 liver expression (eQTL Catalogue) and VLDL cholesterol (GWAS Catalog), Wald-ratio = −0.009, p = 7e−12. Generated by the co-pilot with a full provenance footer (LD panel, source studies, run id).

What it does

Point it at a disease. Get a ranked, evidenced decision.

  1. Rank the target universe.
    Enumerates the genetically-anchored candidate targets for a disease and scores them across genetics, colocalization, MR, tractability, constraint, and safety — the heavy genome-wide scoring runs once as a precompute so exploration is instant.
  2. Drill into a target.
    Resolves the gene, its lead variant, and the exposure / outcome studies, then emits per-skill configs and runs colocalization + Wald-ratio Mendelian randomization at the locus.
  3. Render the evidence.
    Produces the regional LocusCompare figure — both Manhattans, the gene track, the colocalization diagonal, and the effect-size scatter — with the LD panel and source studies stamped on.
  4. Return a reviewable decision.
    A cited GO / NO-GO synthesis, plus a reproducibility bundle (commands, checksums, run metadata) so any result maps back to exactly how it was made.
A short walkthrough — ranking a disease’s genetically-supported targets, drilling into a top gene, and rendering the regional colocalization plot with a GO / NO-GO synthesis.

How it's evaluated

The value isn't the model. It's the machinery that grades it.

Every domain skill is a versioned, testable contract, and its outputs are checked against deterministic verifiers. To measure what that buys, I built a verifiable-reward benchmark — real statistical-genetics subtasks graded by the same functions the co-pilot ships — and ran it across a ladder of models and prompting strategies.

22
verifiable tasks / 4 families
8
Claude models benchmarked
~2,600
automated tests
34
versioned skill contracts
Unaided accuracy is noisy and capped; stating the contract's rules lifts a capable model to 100%, while a small model can't apply even explicit rules — capability gates it. Few-shot examples and a LoRA fine-tune were both tested and gave no lift; reported plainly.
ConditionCapable modelSmall (3B) model
Unaided (own knowledge)64%23%
+ the contract's rules100%23%
Deterministic scaffold100%100%
Honest by construction. The graders are code, the runs are real, and the interventions that didn't work are reported as plainly as the ones that did.

How it's built

Contracts, not prompts — on a vendor-neutral engine.

The co-pilot is a skills-based agent (LangGraph) over 34 versioned SKILL.md contracts — a spec, not a prompt, so domain decisions stay reproducible as models and prompts change. It wires 15+ biological databases and bioinformatics tools (Open Targets, GTEx, eQTL Catalogue, GWAS Catalog, UK Biobank, plink2 / REGENIE, GCTA-COJO, coloc, LDSC, MR) as callable, schema-checked skills, and runs on a vendor-neutral LLM layer (Claude, Anthropic API, OpenAI-compatible).

The heavy analysis is precomputed on an EC2 spot fleet — 6.4M+ colocalization / MR result rows, SHA-256-verified to S3 — so the interactive experience stays real-time, and every run emits a reproducibility bundle.