Skip to content

Agent -based model for sexually transmitted infections

Notifications You must be signed in to change notification settings

davidchampredon/stiagent

Repository files navigation

stiagent

Agent-based model for sexually transmitted infections.

====================================

(As of 2015-11-23)

Directories

code_model: the engine of the model, written in C++ and wrapped for R (using Rcpp). See Rwrap_stiagent.cpp for wrapping functions from C++ to R.

Rlibrary: execute build_library to compile the C++ code and create the R library that wraps it.

inputs: all necessary inputs for the model. There are many, so an Excel spreadsheet helps to specify and visualize them all.

code_analysis_obj: where simulations are run and analyzed with Rscripts.

The other directories are not actively used and should be cleaned-up once a stable version of this code runs with R wrapping.

====================================

Simulation Analysis

1) Goal

We want to compare various epidemiological outcomes under different intervention scenarios using an hypothetical syphilis vaccine. See goals.xlsx. Three populations are considered, each representing a typical population with low/high Syphilis and HIV prevlences.

2) Preparatory work

a) Parameters:

  • i) parameters that are common across all populations (e.g. STI features) must be specified in the Excel spreadsheet inputs/STIagent_front.xlsm. Run the VBA macros to save the parameters in ad hoc csv files.
  • ii) parameters that are specific to a population (e.g. partnership fomation, interventions) must be specified in the Excel spreadsheet inputs/_pop_X/_specific_PRMSET_pop_X.xlsm. Run the VBA macros to save the parameters in ad hoc csv files.
  • iii) execute setup-param to copy the parameters files at the correct locations.

b) Equilibrium:

Run simulations with the baseline scenario on the 3 populations and check

  • i) prevalence reached equilibrium from t=30y (when new interventions start) to 50y (horizon)
  • ii) population features and time series sensible

For now, these tests are done with make test_baseline_prev.out.

3) Comparisons

Run the simulations with 3 main interventions.

For now, this is done executing ./docompscen Xin the code_analysis_obj folder (where X is the population label, i.e., A, B or C).

Time benchmarks:

  • with 6 MC iterations and 5 scenarios (including baseline), takes about 2 hours on 11 cpus (earnserv)
  • with 30 MC iterations and 5 scenarios (including baseline), takes about 4 hours on 11 cpus (earnserv)

Sensitivity analysis

Sensitivity to vaccine features can be tested by just changing the value of the variable of interest. For now, it's only variables defined in in_STI_vaccine.csv that are concerned.

  • i) Generate all necessary input files for the sensitivity analysis by running Rscript generate_sense_files.R
  • ii) Run the sensitivity analysis with dosensi X& (where X=A,B or C)

Note that docompscen on one population is included in the sensitivity analysis.

Note that the output files from the sensitivity analysis will record within their names the parameter values used.

warning: make sure the file in_STI_vaccine.csv has the BASELINE values before running the sensitivity analysis. (run the excel macro first).

About

Agent -based model for sexually transmitted infections

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published