This project implements a web application for variant effect prediction, leveraging the Evo2 large language model to determine the pathogenicity of single nucleotide variants (SNVs). It includes:
-
Python Backend: A FastAPI service running on an H100 GPU via Modal serverless infrastructure.
-
AI Model: Evo2 for classifying SNVs as pathogenic or benign.
-
Database Integration: Fetches ClinVar classifications for comparison.
-
Frontend: Built with Next.js, React, TypeScript, Tailwind CSS, and Shadcn UI (T3 Stack).
-
Features:
- Genome assembly selection
- Chromosome browsing and gene search (e.g., BRCA1)
- Reference genome display
- Mutation input and prediction
- Comparison with ClinVar data
- Framework: FastAPI
- Deployment: Modal serverless GPU (H100)
- Endpoint:
/predict
accepts gene, position, reference and alternative alleles, returns pathogenicity score and label. - Dependencies:
evo2
,modal
,fastapi
,uvicorn
,sqlalchemy
,requests
-
Framework: Next.js with TypeScript
-
Styling: Tailwind CSS
-
Components: Shadcn UI (Buttons, Inputs, Cards)
-
Pages:
/
Assembly selection/browse/[assembly]
Chromosome listing/gene/[geneId]
Gene details and sequence
-
API Integration: Uses React Query to call FastAPI endpoints.
- Node.js >= 18
- Python 3.10+
- Modal CLI and account
cd backend
pip install -r requirements.txt
modal deploy
cd frontend
npm install
npm run dev
- Launch backend via Modal.
- Start frontend in development mode.
- Navigate to
http://localhost:3000
, select your genome assembly. - Browse or search for genes, input mutations or select existing variations.
- View Evo2 predictions alongside ClinVar classifications.
Contributions are welcome! Please open issues or submit pull requests.
MIT License