Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevMutDB

A developmental-context variant pathogenicity scoring method
Weights mutation impact by spatiotemporal gene expression across human development

Demo DOI License Python AUC


What is DevScore?

Existing tools like CADD, SIFT, and PolyPhen-2 predict pathogenicity from evolutionary conservation or protein-level impact alone. They treat every developmental window as equal — but a mutation in a gene critical during gastrulation is fundamentally different from one in a gene expressed only in adults.

DevScore is the first metric to explicitly incorporate when and where a gene is expressed during human development, weighted by the criticality of that developmental stage.


The formula

DevScore = V × E_peak × C_stage × D_domain × 100
ComponentRangeSourceWhat it captures
V — variant severity 0–1 CADD PHRED + ClinVar Combined pathogenicity from conservation, protein impact, and clinical annotation
E_peak — peak expression 0–1 Expression Atlas (E-MTAB-6814) Maximum developmental TPM across 10 stages, normalised to 10,000 TPM ceiling
C_stage — stage criticality 0.25–1.0 Curated developmental biology Gastrulation & neurulation = 1.0 · organogenesis = 0.95 · fetalearly = 0.65 · fetallate = 0.50 · adult = 0.25
D_domain — domain essentiality 0.2–1.0 UniProt DNA-binding & catalytic = 1.0 · structural = 0.7 · regulatory = 0.5 · disordered = 0.4 · UTR = 0.2

A DevScore > 8.5 (Youden threshold) indicates likely developmental pathogenicity. Scores range 0–100.


Validation

Benchmarked on 110 variants across developmental-disorder and adult-onset genes.

Results

ComparisonAUCImprovement
DevScore (all variants, n=110) 0.928 ⬤ —
CADD (paired, n=110) 0.457 +0.471
SIFT (missense-only, n=66) 0.397 +0.536
PolyPhen-2 (missense-only, n=66) 0.446 +0.487

Mann-Whitney U: U = 2784.5, p = 6.38 × 10⁻¹⁵  ·  Cohen's d: 1.77 (very large effect)  ·  Median DevScore: developmental = 16.6 vs adult-onset = 4.0

Conventional conservation tools systematically over-predict pathogenicity for adult-onset genes (TP53, BRCA1, etc.) because protein constraint alone cannot resolve developmental timing. DevScore fills this gap through spatiotemporal criticality weighting (C_stage). Spearman ρ(DevScore, CADD) = 0.156 (p = 0.103) — orthogonal information.


Figure gallery

ROC curves
ROC curves
DevScore (AUC 0.928) vs CADD (0.457), SIFT (0.397), PolyPhen-2 (0.446) across 110 benchmark variants
Score distributions
Score distributions
Developmental-disorder variants (median 16.6) vs adult-onset controls (median 4.0), p = 6.38 × 10⁻¹⁵
Case studies
Case studies
SOX2 (DevScore 52.8), MECP2 (23.3), BRCA1 (3.8) — component contributions
Component breakdown
Component breakdown
V, E_peak, C_stage, D_domain across the benchmark cohort
Stage distribution
Peak developmental stage
Distribution of peak expression stages across benchmark genes — gastrulation overrepresented in developmental-disorder genes
DevScore vs CADD scatter
DevScore vs CADD
Spearman ρ = 0.156 — DevScore captures orthogonal developmental signal not present in conservation-based scores
AUC summary
AUC comparison summary
DevScore outperforms CADD (+0.471), SIFT (+0.536), and PolyPhen-2 (+0.487) across all pairwise comparisons
DevScore vs CADD comparison
DevScore vs CADD detail
Paired AUC comparison illustrating the magnitude of improvement from incorporating developmental context

Quick start

# Backend
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload          # → http://localhost:8000

# Frontend (separate terminal)
cd frontend
npm install
npm run dev                             # → http://localhost:5173

Score a variant

curl -X POST http://localhost:8000/api/score \
  -H "Content-Type: application/json" \
  -d '{"gene": "SOX2", "hgvs": "c.70C>T", "position": 24}'
{
  "gene": "SOX2",
  "variant": "c.70C>T",
  "score": 52.8,
  "V": 0.91,
  "E_peak": 0.58,
  "C_stage": 1.0,
  "D_domain": 1.0,
  "peak_stage": "gastrulation",
  "component_explanation": {
    "V":        "ClinVar: pathogenic · CADD PHRED: 34.0",
    "E_peak":   "SOX2 peaks at 5800 TPM during gastrulation",
    "C_stage":  "Gastrulation (C_stage = 1.0) is the most critical developmental window",
    "D_domain": "HMG-box DNA-binding domain (D_domain = 1.0)"
  }
}

Web app

Try the live demo at devmutdb.vercel.app.

  1. Enter a gene symbol — autocomplete searches 150+ curated genes
  2. Type an HGVS variant (e.g. c.70C>T), or click Pick variant to browse pre-loaded ClinVar entries
  3. View results — score ring, component breakdown, 10-stage expression heatmap, and comparison table vs CADD / SIFT / PolyPhen-2
  4. Export PDF — citable variant summary report

Data sources

Source Data Access
Ensembl VEP Variant consequences, SIFT, PolyPhen-2 REST API
NCBI ClinVar Clinical significance classifications REST API
Expression Atlas (E-MTAB-6814) Developmental transcriptome (Cardoso-Moreira et al. 2019, Nature) REST API
UniProt Protein domains and functional regions REST API
gnomAD v4 Population allele frequencies REST API
CADD Combined Annotation Dependent Depletion Scaling API

Genes absent from the E-MTAB-6814 developmental transcriptome receive class-informed expression estimates based on known developmental or adult-onset patterns.


Project structure

DevMutDB/
├── backend/                 # FastAPI server + DevScore engine
│   ├── app/
│   │   ├── main.py          # API routes (/score, /genes, /health)
│   │   ├── devscore/        # Core formula, stage index, domain weights
│   │   └── clients/         # Ensembl, ClinVar, gnomAD, Expression Atlas, UniProt
│   └── requirements.txt
├── frontend/                # React + Vite + Tailwind CSS
│   └── src/
│       ├── pages/           # Search, Results, Methodology, API Docs
│       └── components/      # ScoreRing, StageTimeline, ComparisonTable
├── validation/              # Benchmark dataset + scoring pipeline
│   ├── run_validation.py    # Batch scoring script
│   └── figures/             # ROC curves, distributions, case studies
└── paper/                   # Preprint manuscript (draft)

Citation

@software{ghrieb2026devmutdb,
  author = {Abdelkarim Hani Ghrieb},
  title  = {{DevScore}: A Spatiotemporal Criticality Index for Improved Pathogenicity Prediction of Developmental Variants},
  year   = {2026},
  doi    = {10.1101/2025.xx.xx},
  url    = {https://github.com/Ghrieb/DevMutDB}
}

License

Code (backend, frontend, validation pipeline): All Rights Reserved — commercial use, modification, distribution, and patent use prohibited without prior written consent.
Manuscript and figures: Creative Commons Attribution 4.0 International (CC BY 4.0)

Research prototype — not intended for clinical diagnosis without independent validation

About

DevScore: predicting variant pathogenicity through developmental gene expression timing

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages