HPVsim analyses of Rwanda
# HPVsim model for Rwanda
Code for modelling HPV transmission, cervical cancer burden, and prevention strategies (screening, therapeutic vaccination, and HPV-Faster) in Rwanda, and for reproducing the figures of the accompanying manuscript.
**Results in this repository were produced with HPVsim v2.2.6.** The plot-ready baseline lives in `results/v2.2.6_baseline/`; all plot scripts default to reading from this folder.
## Installation
```bash
pip install hpvsim==2.2.6 seaborn optuna
```
Python 3.9+.
## Workflow: heavy sims on VM, plots locally
Every heavy script has two modes: `--run-sim` runs the simulation and saves lightweight CSVs under `results/`; running without the flag loads the CSVs and produces the figure. The intended flow is:
1. **VM:** run `python run_scenarios.py --run-sim`, commit and push the resulting `results/*.csv` files.
2. **Local:** pull, run `python plot_fig1_residual.py` etc. to render figures from the CSVs.
Transient top-level `results/*.obj` / `.csv` / `.sim` / `.msim` / `.zip` are gitignored. Plot-ready CSVs frozen under `results/v _baseline/` **are** committed — these are the durable artifacts.
### Heavy (VM) scripts
| Script | What it produces |
|---|---|
| `run_scenarios.py --run-sim` | `scens_timeseries.csv`, `scens_cumulative.csv` (23 scenarios × annual metrics + cumulative 2025–2100 sums) |
| `run_calibration.py --run-sim` | `rwanda_calib.obj` (heavy) + `figS2_*.csv` plot-ready summaries |
| `run_sim.py` | Single sim for debugging (no persistent outputs) |
### Plot scripts (local)
| Script | Manuscript figure |
|---|---|
| `plot_fig1_residual.py` | Fig 1 — residual cancer burden under ongoing interventions |
| `plot_fig2_st.py` | Fig 2 — screening ± VIA triage at 18/35/70% coverage |
| `plot_fig3_txv.py` | Fig 3 — therapeutic-vaccine-enhanced screening |
| `plot_fig4_mass.py` | Fig 4 — one-time mass campaigns (HPV-Faster + Mass TxV) |
| `plot_fig5_bars.py` | Fig 5 — all seven strategies side-by-side |
| `plot_figS2_calib.p …