Variant Analysis using Evo2
AI-powered Single Nucleotide Variant (SNV) Pathogenicity Predictor
A full-stack web application that analyzes single-nucleotide variations in DNA and predicts their pathogenicity using the state-of-the-art Evo2 large biological language model. This tool helps researchers and users understand how specific mutations might affect gene function — with an intuitive frontend and a GPU-accelerated backend.
🧠 Overview
DNA changes (mutations) can have profound effects on health — from benign differences to disease-causing variants. My project:
scores and predicts pathogenicity of SNVs with AI
provides a responsive, user-friendly interface to interact with gene data
compares predictions against known clinical annotations (e.g., ClinVar)
runs heavy inference on GPUs for fast, accurate results
Under the hood:
Backend uses FastAPI + Python on serverless GPUs
Frontend is a modern Next.js + React UI
Evo2 model provides biological sequence intelligence
🚀 Features
✔ Parse and analyze single-nucleotide variants ✔ Predict whether mutations are likely pathogenic or benign ✔ Show confidence alongside predictions ✔ Choose genome assemblies and search genes (e.g., BRCA1) ✔ Compare AI prediction to clinical labels ✔ GPU-accelerated inference on demand ✔ Clean and modern interface using TailwindCSS
🧩 Architecture Frontend (Next.js) ⇅ API (FastAPI) ⇅ Inference Engine (Evo2 LLM on GPU) ⇅ Genomic/ClinVar data sources
Frontend: User inputs variant & views results
Backend: Accepts requests, manages Evo2 scoring
Inference: GPU backend (e.g., Modal serverless H100) scores variants
🛠 Setup & Installation
-
Clone the repository git clone https://github.com//variant-analysis-evo2.git cd variant-analysis-evo2
-
Backend cd evo2-backend python3 -m venv venv source venv/bin/activate
pip install -r requirements.txt
Setup your serverless environment (e.g., Modal):
modal setup modal run main.py
Once verified:
modal deploy main.py
- Frontend cd evo2-frontend npm install npm run dev
Visit http://localhost:3000 to view the app.
📈 How It Works
User enters a mutation (e.g., gene name + nucleotide change)
Frontend sends request to FastAPI endpoint
Backend preprocesses input and requests Evo2 scoring
Evo2 model returns pathogenicity prediction
UI displays result & comparison with known data
📌 Example Usage POST /api/v1/predict Content-Type: application/json
{ "gene": "BRCA1", "variant": "c.68_69delAG" }
Response:
{ "prediction": "pathogenic", "confidence": 0.92 }
🧪 Testing
Ensure backend tests run successfully:
python -m unittest
🧾 License
This project is licensed under MIT — free to use and modify.
🙌 Acknowledgements
Built with inspiration from Evo2 model work — advanced genomic language models for DNA analysis.
Frontend UI inspired by modern full-stack stacks (Next.js, TailwindCSS)
📬 Contact
Have questions or ideas on improvements? Reach out via GitHub Issues or email me.