Documentation

How to use Norn: interpreting variants, adding your own evidence, running batches, exporting, and connecting the MCP server. Norn is a research and demonstration tool, not a diagnostic device.

Overview

Norn drafts ACMG/AMP evidence for a human curator to confirm. It gathers evidence from Ensembl VEP, gnomAD, and ClinVar, adjudicates each criterion with Claude (or a labeled deterministic fallback when no API key is set), applies the ClinGen points framework in code, and runs a second Claude pass that critiques the draft.

The final classification is always computed in code from the adjudicated verdicts, never taken from the model.

Interpret a variant

On the Interpret page, enter a variant in any of these forms:

  • HGVS, for example BRCA1:c.5266dupC
  • rsID, for example rs80357906
  • Locus, for example 17-43057062-A-AG

A progress bar and six stage beads (recode, VEP, gnomAD, ClinVar, adjudicate, review) fill as the pipeline runs. If a public API is briefly unavailable, the bundled example fixtures keep the demo working. Unresolvable input returns a clear error rather than a misleading result.

The report then shows the scorecard, points meter, and protein lollipop, and, where the gene maps to a protein structure, a 3D view of the variant residue on its AlphaFold model (for orientation, not evidence).

How the classification is built

Norn adjudicates ten automated criteria: PVS1, PS1, PM1, PM2, PM5, PP3 (pathogenic) and BA1, BS1, BP4, BP7 (benign). Each maps to ClinGen Bayesian points; the total maps to a five-tier classification, with BA1 as a stand-alone benign override. PVS1 is firmed with gnomAD gene constraint, and PM1 is approximated from a local cluster of pathogenic ClinVar variants. Frequency thresholds are gene-specific where a rule is available.

Curator-supplied evidence

Some criteria need evidence Norn cannot fetch (functional assays, segregation, de novo status, allelic phase). The report has a Curator-supplied evidence panel with toggles for PS2, PS3, PS4, PM3, PM6, PP1, BS3, and BS4. Applying one adds its points and the classification recomputes live, keeping the human in the loop.

Ask the copilot

Each report includes a chat panel. Ask questions about that interpretation and Claude answers using only the report as its knowledge base, so it explains the call without inventing evidence. This needsANTHROPIC_API_KEY set on the deployment.

Literature

The Literature panel searches PubMed for the gene and protein change and lists recent papers. Norn does not read these itself; they help you supply criteria like PS3 and PP1.

Batch mode

The Batch page interprets many variants at once. Paste a list (one per line), upload a plain list, CSV, or VCF, or load one of the sample batches of well-established ClinVar and gnomAD variants (hereditary cancer, cystic fibrosis, common polymorphisms, and the founder trio). Results fill a sortable worklist that you can export to CSV. Click any variant to open its full report.

Exports

  • Report PDF: a branded, one-to-two-page report with the Norn mark, a header and footer on every page, the classification chip, and the points meter and protein lollipop drawn as vector graphics. Formatted to a clinical standard and legible in either theme.
  • Report JSON: the full structured report.
  • ClinVar submission (CSV): a draft germline submission row. A starting point, not a validated submission; it requires human sign-off.

Deck and templates

The loom-of-fate identity carries onto slides and paper, so a lab can hand Norn around. Below is the brand deck as a PDF slideshow. It, the interpretation PDF export, and the source assets all reuse the tokens in the design/ brand kit.

The interactive deck (design/slides/deck.html) navigates with the arrow keys and prints to a landscape PDF. The one-page interpretation printout is the branded PDF you export from any report.

MCP server

Norn ships a Model Context Protocol server so other tools can pull its data. Tools:

  • interpret_variant: run the pipeline and return the report.
  • list_eval_variants: the benchmark set.
  • list_acmg_criteria: the criteria and thresholds.
  • to_clinvar_submission: a draft ClinVar submission row.

Run it with:

npm install
npm run mcp

Connect from an MCP client (for example Claude Desktop):

{
  "mcpServers": {
    "norn": {
      "command": "npx",
      "args": ["tsx", "mcp/server.ts"],
      "cwd": "/absolute/path/to/Norn",
      "env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
    }
  }
}

Settings and appearance

A light or dark theme toggles from the top bar or in Settings; the dark theme reverses the chrome and the mark. Settings also switch the classification palette (clinical convention by default, plus a colorblind-safe scheme and a high-contrast scheme) and toggle the per-criterion model reasoning. Preferences persist in your browser.

Deployment

Norn deploys on Vercel with no database. Set these environment variables, then redeploy:

  • ANTHROPIC_API_KEY (required for the Claude passes and the Ask panel).
  • ANTHROPIC_MODEL (optional, defaults to claude-opus-4-8).
  • NCBI_API_KEY (optional, raises ClinVar and PubMed rate limits).

Vercel does not apply new environment variables to an existing deployment until you redeploy.

Scope and limitations

Norn implements a subset of ACMG/AMP criteria automatically and leaves the evidence-dependent criteria to the curator. Thresholds and PM1 clustering are demonstration approximations. Computational evidence uses SIFT and PolyPhen concordance, not calibrated meta-predictors. Norn is not a diagnostic device and must not be used for clinical decisions.