Omevra · Variant Evidence Agent

Evidence reports for variants of uncertain significance — every claim cited to its source record, or the system declines to call it.

AUROC 0.970 Calibration error (ECE) 0.025 27,748-variant temporal ClinVar test 10,357 summarised · 17,391 declined

Omevra — measured AI systems for genomics and the web.

Omevra · Variant Evidence Agent

Variant evidence, gathered and cited — or the agent declines.

Paste a batch of variants or look up a single one. Every claim in the report is cited to its source record, with a calibrated probability that is labelled plainly when the evidence is finely balanced.

1

Bring variants

Paste variants, upload a list, or name a gene — one variant or a batch evidence pack.

2

Evidence is gathered

Records behind each call are retrieved from sources frozen at the declared cutoff.

3

Get a cited pack

A cited evidence pack with downloads — and an honest decline where the evidence runs out.

Batch evidence pack

Run a list once and get one cited pack, with PDF, CSV and spreadsheet downloads in the results.

Up to 500 variants per batch · queued jobs up to 25,000

Start a batch →

Single variant report

One variant, one cited report — or an explicit decline when the evidence is too thin.

AUROC 0.970 · Calibration error (ECE) 0.025

Look up a variant →

Gene explorer

Open one gene: its variants in the scored universe, how many are summarised and how many declined.

27,748-variant temporal ClinVar test

Explore a gene →

Single variant report

Looking up one variant? This is the place. For a list of variants, use the Batch evidence pack — the main flow, on the Batch tab.

Enter a gene and a variant, or pick from the scored universe as you type. Reports are generated live by the evidence agent from records frozen at the declared cutoff. Variants outside the scored universe have no model report — for those, live retrieved evidence is offered instead, with no score attached.

Public demo — please do not upload patient data. Use example or de-identified variants only.

Loading the scored universe…

How to read the probability

These are evidence-summary probabilities, not clinical classifications.

Below 0.40 — evidence leans benign 0.40–0.60 — Borderline: the evidence is finely balanced; treat the probability as uncertain Above 0.60 — evidence leans pathogenic

Start here — the main flow

Batch evidence pack

Paste your variants, run once, and get one cited evidence pack — with PDF, CSV and spreadsheet downloads right in the results. Every variant is cited, or the agent declines it, in the open.

Paste several variants — one per line or comma-separated, each as a gene and a variant (for example CFTR c.1373G>T) — or enter a single gene name on its own to expand it to that gene's variants in the scored universe. Or upload a file with your variants instead.

Limits, in plain words: at most 500 variants per batch; duplicates are removed. Uploaded files may be up to 2 MB, in .txt (one variant per line), .csv or .tsv form — a spreadsheet file needs a first row naming a gene column (gene or symbol) and a variant column (variant, hgvs, c. or change). Each variant goes through the same flow as a single report: variants in the scored universe get the agent's cited report (or its decline), and variants outside it get live retrieved evidence instead, labelled as live evidence, with no model score. Live retrieval runs one variant at a time, for at most 50 variants per batch; variants beyond that are listed as “live lookup not run in this batch” — never dropped silently. Larger batches are processed in the background and this page shows their progress.

Larger sets go to the queued path automatically: if a pasted or uploaded set resolves to more than 500 variants, this page submits it as a queued job instead — up to 25,000 variants per job, uploads up to 10 MB on that path — and shows its progress with counts as it runs (at most 4 jobs process at once, with up to 8 more waiting). Queued jobs run no live lookups: variants outside the scored universe are reported “not found in the scored universe”, and declined variants are exported as declined. Finished queued batches download through the same PDF / CSV / XLSX links; the last 20 completed batches are retained.

Public demo — please do not upload patient data. Use example or de-identified variants only.

Not for clinical use.

How to read the probability

These are evidence-summary probabilities, not clinical classifications. Rows in the middle band are marked Borderline in the results above.

Below 0.40 — evidence leans benign 0.40–0.60 — Borderline: the evidence is finely balanced; treat the probability as uncertain Above 0.60 — evidence leans pathogenic

Variant normaliser

Paste a variant in any spelling the Report tab accepts — the full transcript name (NM_000492.4(CFTR):c.1373G>T), the colon form (CFTR:c.1373G>T), gene and variant, variant alone, or an allele id — and see the cleaned form the agent uses, its status in the scored universe, and, when it is in the universe, its calibrated probability. The same parser and the same lookup answer here as in the Report tab, so the two can never disagree.

Gene explorer

Open one gene: how many of its variants sit in the scored universe, how many the agent summarises and how many it declines, its published per-gene calibration where one exists, and the variants themselves — select any of them to open its report.

This is a research system, not a certified medical product. Clinical deployment would require formal validation and regulatory clearance.

Intended use

Evidence summarisation for variant interpretation research — a reviewer aid. The system takes a variant of uncertain significance, retrieves the records that bear on it from sources frozen at a declared cutoff, and returns either a cited evidence summary with a calibrated probability, or an explicit refusal. Its own verdict line states the boundary: “evidence summary (not a clinical classification)”. A calibrated probability is not a clinical classification; ACMG classification remains a human, guideline-driven judgement.

Validation design

A temporal split, built from dated ClinVar releases — never a random split. Random splits leak: a variant reclassified using predictor scores reappears, with those scores as features, in both train and test, so a model is graded on evidence it has already seen.

  • 1,103,657 training variants, labelled at the cutoff and frozen (pathogenic 240,752 / benign 862,905)
  • 27,748 test variants — uncertain at the cutoff, reclassified afterwards (pathogenic 8,856 / benign 18,892). No test label existed at training time
  • Near-duplicate guard: test rows sharing gene and name with training rows are removed
  • Stated caveat: post-cutoff reclassifications are themselves partly predictor-influenced. The temporal split removes the direct leak; it does not make labels pure

Performance

Full ablation on the post-freeze test set. Lower ECE and Brier are better; higher AUROC is better. The middle rows are reported, not hidden: adding the gene prior lifted AUROC while raw calibration collapsed, and Platt calibration fitted on the training window made probabilities worse at unchanged AUROC.

ModelAUROCECEBrier
AlphaMissense alone0.9210.0400.113
AlphaMissense + Platt (fit on training window)0.9210.1570.141
Ensemble (AlphaMissense + gene prior), raw0.9590.2510.176
Ensemble + isotonic (fit on train holdout)0.9580.0170.078
Ensemble + REVEL + isotonic0.9680.0230.066
Random forest + REVEL + isotonic0.9700.0240.063
Gradient boosting + REVEL + isotonic — adopted 2026-10-260.9700.0250.062

REVEL ablation — coverage on the test set: REVEL 39.7% · AlphaMissense 37.4% · either 39.8%.

ModelnAUROCECEBrier
AlphaMissense + prior10,3730.9580.0170.078
REVEL + prior11,0230.9520.0190.081
AlphaMissense + prior + REVEL10,3570.9680.0230.066

Per-gene calibration (final model, isotonic ECE)

Calibration is reported per gene because the aggregate figure hides badly miscalibrated subgroups. The worst genes are listed, not trimmed.

GenenECEGenenECE
ADGRV11300.005DMD970.053
RAI1940.011BRCA21580.058
ABCA4860.019SCN1A830.074
DNAH111180.031BRCA11380.081
LDLR740.033NF1810.130
KMT2D940.034MUTYH860.154
GCK710.035
FBN1680.037USH2A740.204

USH2A, at ECE 0.204 under the adopted model (0.290 under the previous logistic model), remains the worst-calibrated gene in this table and is carried visibly here. MUTYH moved the other way under the adopted model — 0.083 to 0.154 — and is carried visibly too.

Failure modes, as published

  • A confident call the future disagreed with. RANBP2 c.1754C>T (p.Thr585Met) received a cited summary at calibrated P(pathogenic) 0.006 — confidently benign-leaning. Its later reclassification was Pathogenic/Likely pathogenic.
  • Under-confident calls. PROC c.629C>T received P(pathogenic) 0.464 from the adopted model and was later reclassified Pathogenic/Likely pathogenic. Two calls published here under the previous model — HOGA1 c.289C>T and GLB1 c.601C>T, each 0.493 — are resolved by the adopted gradient-boosting model, at 0.808 and 0.979.
  • Predictor-influenced labels. Evaluation labels are partly predictor-influenced, so measured performance is performance against real-world reclassification practice, not against predictor-free ground truth.
  • Coverage limits. AlphaMissense covers 37.4% of the test set; it is missense-only and precomputed-only, so no novel-variant scoring exists beyond the precomputed predictions. The agent summarises 10,357 of 27,748 test variants and declines the rest.
  • A documented method trap. Building the gene prior from all frozen training rows instead of only scored rows silently drops AUROC to 0.933–0.935: the prior must describe the scored population the model actually serves.
  • No gnomAD allele frequency in the model. The available allele-number file is locus-level only and cannot yield allele frequency; the model ships without it rather than with a fabricated one.

Human oversight design

  • Cite, or decline. Never invent. Every claim in a report must carry a citation to a retrieved record; the renderer refuses to emit an uncited claim. This is enforced in code, not in a prompt.
  • Minimum-evidence rule. At least 3 distinct evidence items are required before the agent says anything at all. Below that, the verdict is fixed: “insufficient evidence — remains VUS.”
  • Reports are evidence summaries, not classifications. Every non-declined report carries that verdict line.
  • Declines are a designed output, not an error. 17,391 of 27,748 test variants are declined — typically a single conflicting record with no predictor score, where the system stays silent instead of building a story.

Reproducibility

Fully public data; runs on CPU. Inputs are pinned: ClinVar releases are dated snapshots (the temporal split depends on it), and the REVEL file was checksum-verified against its public record. AlphaMissense scores are linked from source, not redistributed.

What this is

Calibrated VUS reclassification with an evidence-citing agent. Clinical variant interpretation, done honestly.

Variants of Uncertain Significance (VUS) are the daily bottleneck of clinical genomics. Predictors disagree, most published models are trained and tested on random ClinVar splits — leaking variants that were reclassified using the same evidence — and an AUROC of 0.99 tells a laboratory nothing about whether a “90% pathogenic” call is right 90% of the time.

The gap is not another AUROC point. The gap is:

  1. Temporal validity — train on classifications frozen at a cutoff; test only on variants reclassified after it.
  2. Calibration — a probability that means what it says, reported per gene family, including where calibration fails.
  3. Evidence provenance — every claim in a report cited to a retrieved record, with an explicit allowed answer: “insufficient evidence — remains VUS.”

That third piece is the differentiator: an evidence agent with one hard rule — cite, or decline. Never invent.

Honest limits

  • Temporal reclassification labels are themselves partly predictor-influenced. That circularity is discussed, not hidden.
  • AlphaMissense scores cover missense variants only, and are precomputed only.
  • A calibrated probability is not a clinical classification. ACMG classification remains a human, guideline-driven judgement.

Not for clinical use.

Public API

The same evidence path is available as a bounded public API: single-variant lookup, search, gene explorer, batches and the lab-shaped downloads (PDF, CSV, XLSX). The full contract — every endpoint, parameters, examples, response shapes and the enforced bounds — is served by the application itself:

API documentation (JSON) — /api/docs

Try a single variant: /api/variant?gene=CFTR&variant=c.1373G>T

Not for clinical use.