An python/Flask web app for exploring genetic diversity in African populations using VCF data from the 1000 Genomes Project. Features include allele frequency analysis, FST calculation, PCA visualization, and variant annotation.
# African Genomics Explorer
Interactive web application for exploring genetic diversity across five African populations from the 1000 Genomes Project.
## Overview
This project analyzes chromosome 22 variant data from five African populations:
| Population | Code | Location | Samples |
|------------|------|----------|---------|
| Yoruba | YRI | Ibadan, Nigeria | 108 |
| Luhya | LWK | Webuye, Kenya | 99 |
| Gambian | GWD | Western Division, The Gambia | 113 |
| Mende | MSL | Sierra Leone | 85 |
| Esan | ESN | Nigeria | 99 |
**Total: 504 individuals, 134,065 variants**
## Features
- **PCA Analysis**: Interactive scatter plots showing population structure (PC1 vs PC2, PC1 vs PC3)
- **FST Heatmap**: Pairwise genetic differentiation between populations
- **Allele Frequency Comparison**: Compare variant frequencies across any two populations
## Screenshots
The webapp features a modern dark theme with interactive Plotly visualizations.
## Installation
```bash
# Clone the repository
git clone
github.com
cd African_Genomics_Webtool
# Install dependencies
pip install -r webapp/requirements.txt
```
## Usage
### Running the Web Application
```bash
cd webapp
python app.py
```
Then open
localhost in your browser.
### Reproducing the Analysis
The analysis pipeline scripts are provided in numbered order:
1. `01_download_data.sh` - Download chr22 VCF from 1000 Genomes
2. `02_subset_african.sh` - Subset to African samples only
3. `03_filter_maf.sh` - Filter variants by MAF > 5%
4. `04_calculate_af.sh` - Calculate allele frequencies per population
5. `05_calculate_fst.sh` - Calculate pairwise FST values
6. `06_run_admixture.sh` - Run PCA/ADMIXTURE analysis
**Requirements for pipeline:**
- bcftools
- vcftools
- PLINK 1.9
## Project Structure
```
African_Genomics_Webtool/
├── webapp/
│ ├── app.py # Flask application
│ ├── requirements.txt # Python dependencies
│ ├── templates/
│ …