1
Roadmap
Kemal Yaylali edited this page 2026-09-12 13:44:49 +01:00

Roadmap

Known gaps, most consequential first. Nothing here is hidden in an issue tracker.

1. The model has no features in its training data

Its only two remaining inputs, CADD and AlphaMissense, are absent from all 688,362 training rowsmake training-set builds from the ClinVar VCF, which carries neither.

Today the model abstains, so nothing is broken. But installing the VEP plugins flips has_effect_scores true, the model stops abstaining and takes 0.20 of every rank while still knowing nothing. That is the same class of bug as the one the abstention rule fixed, one step further out.

Fix: log at training time which features actually had values, and refuse to score at serving unless the model was trained on the features it is handed.

2. AlphaMissense in the training set

0.64 GB, tabix-indexed, tractable. It would close gap 1 and give the model something real to contribute — missense is exactly where it currently scores 0.500. CADD's whole-genome file is 87.5 GB and is not worth it; its web API is an option for small volumes.

3. gnomAD frequencies without the cache

Proven to work (see Data sources) but not wired into the pipeline. It would make the rarity component real in the default demonstration instead of abstaining.

Shape: a pipeline step that streams the regions covering the case's variants into a small local slice, then vep --custom against it alongside --database. Note VEP's Perl HTS cannot open the remote index directly, and gnomAD's contigs need renaming to match.

4. Decontaminating the benchmark

HPO's phenotype.hpoa carries the source PMID for each annotation, so a leave-one-publication- out rebuild is possible: score each case against a gene-to-phenotype table with that case's own paper excluded. That would turn an upper bound into something much closer to a prospective number.

5. A baseline to beat

Scoring the same held-out rows with CADD and AlphaMissense would put the model's numbers next to something meaningful rather than leaving them unanchored.

6. Smaller things

  • ClinVar review status is enforced at training (2-star and above) but is not shown in the UI, because VEP's CLIN_SIG does not carry CLNREVSTAT. A --custom annotation would fix it.
  • The deployed demo has one shared credential and no per-user accounts.
  • The funnel numbers come from tens of variants. A real exome has thousands of rare coding variants; nothing here has been run at that scale.