mrc-ide / vivax

Individual-based model for P. vivax malaria transmission
MIT License
2 stars 1 forks source link

Build StatusAppVeyor build statuscodecov

P Vivax individual based model

This is an R wrapper for Dr. Michael White's model for P. Vivax malaria transmission.

This model was first described in the article "Impact of expanding levels of malaria control interventions on Plasmodium vivax: a mathematical modelling study".

Installation

The package can be installed from github using the "remotes" library

library('remotes')
install_github('mrc-ide/vivax')

For development it is most convenient to run the code from source. You can install the dependencies in RStudio by opening the project and selecting "Build" > "Install and Restart"

Command line users can execute:

library('remotes')
install_deps('.', dependencies = TRUE)

Usage

To run the simulation with the default parameters you can execute the following code:

library('vivax')
output <- run_simulation()

Parameterisation

You can find the default paramters here.

To override either the model, farauti, koliensis, punctulatis parameters by passing named lists to the run_simulation function as below:

output <- run_simulation(model=list(EIR_equil=.1), koliensis=list(mu_P=.5, dry_seas=.2))

You can control the disaggregation of prevalence statistics using the prevalence/incidence paramteters like below:

output <- run_simulation(
  prev_min_ages = c(0, 5),
  prev_max_ages = c(5, 15),
  incidence_min_ages = c(0, 2),
  incidence_max_ages = c(2, 10)
)  

Interventions

The available interventions are documented here.

To override interventions pass your named list of parameters to run_simulation function as below:

output <- run_simulation(interventions = list(LLIN_years=c(1995, 1996), LLIN_cover=c(.6, .8)))

Plotting standard graphs

You can plot standard graphs by following the plot_graphs vignette.

Code organisation

src/model.cpp - this is the original model code. run_simulation_from_path is the entry point from R.

R/run.R - contains code for parameterisation and running of the model.

tests - are divided into unit and integration tests.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests and documentation as appropriate.

Code reviews will be carried out in-line with RESIDE-IC's review process

License

MIT