41 Introduction
In this module, we demonstrate how to build and execute research-level extensions to EpiModel in order to address new network-based modeling research questions with the software platform. While the network parameterization and simulation remains flexible, to add new epidemic processes requires coding up new “modules” that contain distinct processes within the larger epidemic model.
We first provide an overview of the application programming interface (API) for writing new modules within EpiModel, and then demonstrate a simple extension by adding a latent (E) state to make an SEIR model out of an SIR model.
These extensions are wired together through control.net, in particular its *.FUN module slots and the type = NULL setting; for the why and when of these and every other control.net argument in one place, see The control.net Guide at the end of this module.
This module opens NME-II, which builds directly on the network and ERGM foundations of NME-I, so the two parts are designed to be taken back to back; students who have not taken NME-I should review that material first. NME-II together with the EpiModel Gallery forms the intermediate tier of a three-tier learning pathway, sitting above NME-I and below the EpiModel package vignettes at epimodel.org, which are the reference for the full accessor, parameter, and network-object API used across the modules that follow.
41.1 Slides
41.2 Module Learning Objectives
- Describe the difference conceptually and algorithmically between a “built-in” and an “extension” model in EpiModel.
- Outline the specific API components of extension models in EpiModel.
- Execute a simple extension SEIR model.
- Read, run, and modify a maintained, parameterized SEIR/SEIRS extension from the EpiModel Gallery, and make one genuine extension of your own.
- Practice running an extension model in
browsermode for debugging purposes; - Parsing and explaining a novel EpiModel extension model in the EpiModel Gallery.