Micro-MoB was made to simplify the task of model building for mosquito-borne pathogen transmission (MBPT) systems. It stands for “microsimulation for mosquito-borne pathogens”. It is a modular framework to build discrete time MBPT models. It uses R’s S3 object system to define a set of components and interfaces which can be filled by any specific model that implements the interface. These parts, along with certain invariants can be put together to define a full simulation model. Definitions for all these terms can be found in the documentation.
We hope it proves useful. Please visit the website to learn more.
remotes::install_github('dd-harp/MicroMoB')
Alternatively you can install Micro-MoB directly from CRAN, but be aware that the CRAN version may not be the most recent version of the package:
install.packages('MicroMoB')
To start learning more about the software design, the problems it was
designed to solve, and how to build new models in
Micro-MoB, please read
vignette("MicroMoB")
.
Next, vignette("bloodmeal")
describes how the bloodmeal
algorithm computes the distribution of bites using each component’s
interface, allowing different models to be linked in a consistent
framework.
We also have articles describing some well-known models of specific components of MBPT models that are implemented in Micro-MoB:
vignette("RM_mosquito")
: read about an implementation
of a flexible Ross-Macdonald
model of adult mosquito dynamics.vignette("MOI_human")
: read about an implementation of
the \((M/M/\infty)\) queuing model for
superinfection in humans.vignette("BH_aqua")
: read about a simple non-linear
model of aquatic (immature) stage mosquito dynamics based on the well
known Beverton-Holt
model from ecology.vignette("BQ_mosquito")
: read about a behavioral state
model of adult mosquito dynamics.vignette("RM_transmission")
: read about how we put
together models fulfilling each component to run a simple Ross-Macdonald
style model of pathogen transmission between human hosts and mosquito
vectors.The article vignette("Advanced")
contains information on
how to extend Micro-MoB by linking to it from a new
package, and how to write new models that interact with the rest of the
system. It also contains information on how to use the Plumber web API which is supported
for some models in Micro-MoB.
Thank you for your interest in Micro-MoB! If you
have a bug to report, please open an issue on GitHub.
If you would like to open a pull request or have further questions,
please see our guide to contributing to the project at
vignette("Contributing")
.
Please note that the Micro-MoB project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.