Unsupervised genomic analysis of African populations using PCA and clustering
# 🧬 Reading History from DNA Without Labels
## Overview
This project explores whether population history can be recovered using only DNA data without labels.
## Dataset
- 995 individuals
- 7 populations (YRI, GWD, ESN, LWK, MSL, ACB, ASW)
- ~5000 SNPs after preprocessing
## ⚙️ Pipeline
1. Data loading & cleaning
2. SNP encoding (0/1/2 dosage)
3. MAF filtering
4. PCA (dimensionality reduction)
5. Clustering (K-means)
6. Admixture detection
7. IBS similarity analysis
8. Sex-based analysis
## Key Results
- PCA reveals population structure without labels
- Clear diaspora vs continental separation
- Admixture patterns detected in ACB & ASW populations
- No bottleneck detected, diversity explained by mixing
## Tech Stack
- Python
- Pandas, NumPy
- Scikit-learn
- Matplotlib, Seaborn
## Files
- `src/DNA.py` → main pipeline
- `report/` → full report
- `presentation/` → slides
## How to run
```bash
pip install -r requirements.txt
python src/DNA.py