Skip to content

mrc-ide/malariasimulation

Folders and files

NameName
Last commit message
Last commit date
Mar 20, 2025
Mar 24, 2025
Oct 10, 2024
Oct 10, 2024
Jan 12, 2022
Aug 6, 2020
Jan 31, 2025
Sep 2, 2024
Feb 19, 2025
May 30, 2024
Feb 13, 2025
May 30, 2024
Jul 3, 2023
Feb 13, 2025
Jan 29, 2020
Jan 29, 2020
Jan 31, 2025
Feb 13, 2025
Sep 12, 2024
Feb 17, 2025
Aug 13, 2020

Repository files navigation

R build status codecov

malariasimulation

Imperial College London's next malaria simulation. The main goals are make an extensible, maintainable and fast simulation to evaluate and report on malaria intervention strategies.

The model is defined in this package, whereas the simulation is executed using the individual package.


Installation

Please note, malariasimulation is only compatible with R >= 4.0.0

You can install the binary package on Windows and Mac using the following command:

# Enable this universe
options(repos = c(
    mrcide = 'https://mrc-ide.r-universe.dev',
    CRAN = 'https://cloud.r-project.org'))

# Install some packages
install.packages('malariasimulation')

The package can also be installed from github using the "remotes" library. Note, this method requires RBuildTools

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

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)

Docker users can achieve the same with one line

docker build . -f docker/Dockerfile.dev -t [your image name]

Usage

To run the malaria simulation with the default parameters for 100 timesteps, you can execute the following code:

library('malariasimulation')

output <- run_simulation(100)

Please see vignettes for more detailed use.

Code organisation

model.R - is the entry point for the model. It creates the different components and passes them to the individual package for simulation.

variables.R - contains the specific variables we track for each individual.

processes.R - defines the changes in individuals over time. It collects process functions from "infection.R", "mosquito_emergence.R" and "mortality.R"

tests - are divided into unit and integration tests. Integration tests are strongly recommended for large process functions and unit tests for model calculations.

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