What is Micro-MoB?
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’sS3 object system to define a set ofcomponents andinterfaces which can be filled by any specificmodel that implements the interface. These parts, along with certaininvariants 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 thewebsite to learn more.
Installation
remotes::install_github('dd-harp/MicroMoB')Alternatively you can installMicro-MoB directly from CRAN, but be aware that the CRAN version may not be the most recent version of the package:
install.packages('MicroMoB')Documentation
To start learning more about the software design, the problems it was designed to solve, and how to build new models inMicro-MoB, please readvignette("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 inMicro-MoB:
vignette("RM_mosquito"): read about an implementation of a flexibleRoss-Macdonald model of adult mosquito dynamics.vignette("MOI_human"): read about an implementation of the(M/M/∞) 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 knownBeverton-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 articlevignette("Advanced") contains information on how to extendMicro-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 thePlumber web API which is supported for some models inMicro-MoB.
Contributing
Thank you for your interest inMicro-MoB! If you have a bug to report, please open anissue on GitHub. If you would like to open a pull request or have further questions, please see our guide to contributing to the project atvignette("Contributing").
Code of Conduct
Please note that theMicro-MoB project is released with aContributor Code of Conduct. By contributing to this project, you agree to abide by its terms.