Source code(+excalidraw file): https://github.com/Andreaswt/variant-...
Discord & More: https://andreastrolle.com
Modal: https://modal.com/andreas
Hi 🤙 In this project, you'll build a web app that can classify how likely specific mutations in DNA are to cause diseases (variant effect prediction). We will deploy and use the state-of-the-art Evo2 large language model, and use it to predict the pathogenicity of single nucleotide variants (SNVs). You'll deploy a Python backend on an H100 serverless GPU with Modal, exposing a FastAPI endpoint for analysis. After deploying the backend, you'll build a web app around it where users can select a genome assembly, browse its chromosomes or search for specific genes like BRCA1, and view the gene's reference genome sequence. The user can input a mutation in the gene and predict its pathogenicity with AI, but the user can also pick from a list of existing known variations, and compare the Evo2 prediction (pathogenic/benign) against existing ClinVar classifications. The web app is built with Next.js, React, TypeScript, Tailwind CSS, and Shadcn UI and is based off of the T3 Stack. You'll be able to build along with me from start to finish.
Everything (including GPU's) is free, and no biological background is needed, since I'll walk you through all the theory needed.
TL;DR / Simpler Version
DNA is like a long code made of A, T, G, and C. Small changes (mutations) in specific parts of this code, like in genes responsible for preventing cancer, can increase a person's risk of developing the disease. For instance, if an 'A' appears where a 'T' should be at a particular spot, that's a mutation. These changes can vary in how harmful they are, and we'll build a tool to analyze these different variations' harmfulness.
Features
🧬 Evo2 model for variant effect prediction
🩺 Predict pathogenicity of single nucleotide variants (pathogenic/benign)
⚖️ Comparison view for existing ClinVar classification vs. Evo2 prediction
💯 Prediction confidence estimation
🌍 Genome assembly selector (e.g., hg38)
🗺️ Select genes from chromosome browsing or searching (e.g., BRCA1)
🌐 See full reference genome sequence (UCSC API)
🧬 Explore gene and variants data (NCBI ClinVar/E-utilities)
💻 Python backend deployed with Modal
🚀 FastAPI endpoint for variant analysis requests
⚡ GPU-accelerated (H100) variant scoring via Modal
📱 Responsive Next.js web interface
🎨 Modern UI with Tailwind CSS & Shadcn UI
📖 Chapters
00:00:00 Demo
00:03:50 Theory
01:42:08 Cloning the Evo2 repo
01:45:52 BRCA1 notebook
02:05:33 Running on Modal
02:42:30 Backend
03:08:10 Thresholds and confidence
03:32:40 Deploying the backend
03:35:30 Frontend
03:50:46 Genome assembly fetch
04:10:40 Chromosomes fetch
04:40:27 Genes search fetch
05:14:07 Gene details fetch
05:30:25 Gene sequence fetch
05:43:30 Gene information card
05:56:39 Gene sequence card
07:17:14 Known variants card
07:18:15 Known variants fetch
08:14:20 Mutation analysis call
08:30:17 Variant comparison modal
09:05:30 Variant analysis card
09:57:35 End notes