Skip to content

bebopkenny/Gene-Scope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gene Scope

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.

Project Layout

  • evo2_backend – FastAPI backend that connects to Evo2 and returns predictions
  • evo2_gene_predictor_frontend – Next.js frontend for the user interface
  • requirements.txt – Python dependencies for the backend

What It Does

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 Model

Evo2 is a large open model trained on DNA sequences. It can predict the functional impact of genetic variation and also generate realistic sequences.

Features

  • 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

Getting Started

Backend

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 8000

Frontend

cd evo2_gene_predictor_frontend
npm install
npm run dev

Quick API example

Request

POST 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"
  }
}

Disclaimer

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors