Data sources
Everything is public, peer-reviewed and consented for open redistribution. No patient data, no
data access agreement, nothing that needs an application. Full citations with DOIs are in
docs/data.md in the repository — quote from there, not from here.
| Source | Used for | Licence |
|---|---|---|
| ClinVar | training labels, the ClinVar column | NCBI public domain |
| Genome in a Bottle HG002 | the background genome | open, no restriction |
| gnomAD v4 | allele frequency | free use |
| Human Phenotype Ontology | what the phenotype half matches against | free with attribution |
| Phenopacket Store (Monarch) | the published demonstration case, and the benchmark | BSD-3-Clause |
| Ensembl VEP 113 | annotation | Apache 2.0 |
| CADD, AlphaMissense | optional model features | see docs/data.md — CADD needs a commercial licence |
Loading it
make data # GIAB + ClinVar, chr22 only, ~100 MB
make hpo # HPO annotations, propagated and IC-weighted
make demo-case # a simulated proband: GIAB background + one ClinVar pathogenic variant
make published-case # a real published patient, from a GA4GH phenopacket
make training-set # ~370k labelled variants from ClinVar, 2-star and above
The demonstration cases
The simulated proband spikes one real ClinVar pathogenic variant into a real public genome. It has a right answer, so the ranking can be checked rather than admired.
The published case invents nothing. It reads a GA4GH phenopacket curated from a peer-reviewed
case report and takes the patient's reported HPO terms and the authors' causal variant verbatim.
The default is the TGFBR2 proband from Loeys et al., Nat Genet 2005 — the paper that first
defined Loeys–Dietz syndrome — with 30 reported terms and NM_003242.6:c.1069G>T.
The rest of that patient's genome is not public, and triage means nothing if the causal variant is the only variant in the file, so background variants come from GIAB HG002 around the locus, drawn from coding exons where possible. That last detail matters more than it sounds: of roughly 4,000 HG002 variants in a 3 Mb window only 9 are coding, so a random sample is entirely intronic, the consequence filter discards all of it, and the causal variant is left as the only candidate — a funnel that proves nothing.
Allele frequencies without the 25 GB cache
VEP's --af_gnomade is rejected outright with --database, and plain --af returns nothing even
for common variants. But gnomAD's public bucket is tabix-indexed, so a range request works:
bcftools view -r chr3:30672000-30673000 \
https://storage.googleapis.com/gcp-public-data--gnomad/release/4.1/vcf/exomes/...chr3.vcf.bgz
# 392 records, 5 KB -> feed to VEP with --custom alongside --database
Verified end to end. Not yet wired into the pipeline — see Roadmap.
rarelens
Understanding it
Working on it
Running it
When it goes wrong