Gene Scope is a project that uses the Evo2 model to check how likely DNA mutations are to cause disease. It has a Python backend for running predictions and a web app frontend for exploring genes and variants.
evo2_backend– FastAPI backend that connects to Evo2 and returns predictionsevo2_gene_predictor_frontend– Next.js frontend for the user interfacerequirements.txt– Python dependencies for the backend
You can search for a gene (for example BRCA1), look at its reference sequence, and try out different single nucleotide variants. The backend uses Evo2 to predict whether a variant is more likely to be pathogenic or benign. If known ClinVar classifications are available, you can compare them with Evo2 predictions.
Evo2 is a large open model trained on DNA sequences. It can predict the functional impact of genetic variation and also generate realistic sequences.
- Evo2 GitHub: https://github.com/ArcInstitute/evo2
- Evo2 Paper: https://www.biorxiv.org/content/10.1101/2025.02.18.638918v1.full
- Predicts pathogenic or benign outcomes for single nucleotide variants
- Shows prediction confidence
- Lets you compare Evo2 results with ClinVar data
- Genome assembly selector (for example hg38)
- Search for genes or browse chromosomes
- Web app built with Next.js, React, TypeScript, Tailwind, and Shadcn UI
- Backend built with FastAPI and Python
cd evo2_backend
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\Activate.ps1 # Windows PowerShell
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000cd evo2_gene_predictor_frontend
npm install
npm run devPOST http://localhost:8000/predict
Headers Content-Type: application/json
Body
{
"assembly": "hg38",
"gene": "BRCA1",
"chrom": "17",
"position": 43045765,
"ref": "A",
"alt": "G"
}cURL
curl -X POST http://localhost:8000/predict \
-H "Content-Type: application/json" \
-d '{"assembly":"hg38","gene":"BRCA1","chrom":"17","position":43045765,"ref":"A","alt":"G"}'Python
url = "http://localhost:8000/predict"
payload = {
"assembly": "hg38",
"gene": "BRCA1",
"chrom": "17",
"position": 43045765,
"ref": "A",
"alt": "G"
}
resp = requests.post(url, json=payload, timeout=30)
print(resp.status_code)
print(resp.json())
Example Response
{
"prediction": "pathogenic",
"confidence": 0.82,
"details": {
"notes": "model specific metadata may appear here"
}
}This project is for learning and research only. Do not use it for medical decisions. Do not upload private or identifiable genomic data. Predictions are experimental and may be incorrect.