This project is a web application that predicts viral mutations and their potential impact, focusing on diseases like COVID-19. It provides an interactive world map visualizing disease data, allows users to upload research papers, and displays predictions about viral mutations. The application aims to provide insights into viral evolution and potential risks.
- Interactive World Map: Visualizes COVID-19 (or other disease) data on an interactive map, allowing users to zoom, pan, and hover over countries to view data.
- Time Series Data: Displays time series data for selected countries, showing both cumulative totals and daily new cases.
- Mutation Prediction: Uses AI models to predict viral mutations and assess their potential impact, providing risk assessments and confidence levels.
- Research Paper Upload: Allows users to upload and analyze research papers related to viral diseases.
- Data Aggregation: Aggregates prediction data for specific viruses, calculating combined probability, overall risk, and confidence.
- Backend API: Provides API endpoints for retrieving COVID-19 data, research papers, and prediction results.
- Supabase Integration: Uses Supabase for database management and data storage.
-
Frameworks & Libraries:
- 🧩 PyTorch – For deep learning model training and inference.
- 🧠 ESM (Evolutionary Scale Modeling) – Protein language model used for predicting mutations and understanding structural impacts.
- 🔬 Biopython – For sequence parsing, analysis, and biological data handling.
- 📊 scikit-learn – For data preprocessing, feature extraction, and additional model evaluation.
- 🧮 NumPy / Pandas – For efficient data handling and preprocessing.
- 🧰 Matplotlib / Plotly – For visualizing mutation prediction outputs and trends.
-
Model Capabilities:
- Predicts antigenic drift by analyzing historical protein sequence variations.
- Computes mutation probability, structural stability changes, and antigenicity scores.
- Integrates results into a risk assessment system for visualization on the frontend.
- React
- TypeScript
- Vite
- React Router
- D3.js
- TopoJSON
- GSAP
- lucide-react
- CSS
- Node.js
- Express
- Mongoose
- MongoDB
- CORS
- dotenv
- MongoDB
- Supabase
- PyTorch
- ESM Model (Protein Language Model)
- Biopython
- scikit-learn
- NumPy / Pandas
- npm
- Node.js (>=18)
- npm (>=8)
- MongoDB
- Supabase account
- Python 3.9+ (for AI model execution)
- Environment variables configured (see
.env.examplein bothFrontendandBackenddirectories)
-
Clone the repository
git clone <repository_url> cd <repository_directory>
-
Install frontend dependencies
cd Frontend npm install -
Install backend dependencies
cd Backend npm install -
(Optional) Setup AI environment
cd AI pip install -r requirements.txt -
Configure environment variables
- Create
.envfiles in both theFrontendandBackenddirectories. - Add the necessary environment variables (Supabase URL, Supabase Anon Key, MongoDB URI, etc.).
- See
.env.examplefor the required variables.
- Create
-
Start the backend server
cd Backend npm run dev -
Start the frontend server
cd Frontend npm run devThe frontend will be accessible at http://localhost:5173
-
(Optional) Run AI module
cd AI python predict.py
- Open the web app in your browser.
- Explore the interactive world map to visualize global COVID-19 or mutation data.
- Select a country to view detailed time series trends.
- Visit the Predict section to view viral mutation predictions.
- Upload and analyze research papers in the Research section.
AI-Antigenic-Drift-Predictor/ ├── Backend/ │ ├── src/ │ │ ├── app.js │ │ ├── server.js │ │ ├── routes/ │ │ ├── controllers/ │ │ ├── models/ │ │ ├── services/ │ ├── package.json │ ├── .env.example ├── Frontend/ │ ├── src/ │ │ ├── main.tsx │ │ ├── App.tsx │ │ ├── components/ │ │ ├── lib/ │ ├── vite.config.ts │ ├── tsconfig.json │ ├── package.json │ ├── .env.example ├── AI/ │ ├── models/ │ │ ├── esm_model.py # ESM-based mutation predictor │ ├── utils/ │ │ ├── sequence_parser.py # Sequence and mutation handling │ ├── predict.py # Entry point for AI inference │ ├── requirements.txt ├── README.md
- Sequence Input: The user uploads a viral protein sequence (e.g., Spike protein).
- Feature Extraction: ESM (Evolutionary Scale Modeling) generates embeddings representing biological and structural patterns.
- Mutation Simulation: The model predicts likely mutations based on historical drift and residue conservation.
- Risk Assessment: Each mutation is scored based on antigenicity and protein stability changes.
- Visualization: The results are aggregated and displayed with risk levels and confidence scores.
(Add screenshots of the application here)
Contributions are welcome!
- Fork the repository
- Create a new branch
- Commit your changes
- Push to your fork
- Submit a pull request
This project is licensed under the MIT License.
💖 Thanks for exploring the AI Antigenic Drift Predictor!