Skip to content

Commit

Permalink
Updated links and formatted pictuers
Browse files Browse the repository at this point in the history
  • Loading branch information
anitaapplegarth committed Jan 20, 2025
1 parent 518b0d1 commit 2fca523
Show file tree
Hide file tree
Showing 2 changed files with 213 additions and 13 deletions.
25 changes: 12 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
ADD BADGES
# rEpiabm
rEpiabm enables users familiar with R to use Epiabm (ADD LINK). Epiabm is a simulation tool that models the progress of an epidemic across a specified region of interest within a specific timeframe. It has been developed in python for small-scale implementations and C++ for fast, large-scale simulations. PyEpiabm design is modular, with many options to configure specific requirements.

## Summary of Epiabm functionality

### Basic Architecture
To model an epidemic, contact events are represented by the population spatial structure. The transmission of the disease and its progression within host is represented by a compartment model. These two architectures are highly configurable; this allows us to study a wide range of simulation scenarios.
To model an epidemic, contact events are represented by the population spatial structure (see Figure 1.). The transmission of the disease and its progression within host is represented by a compartment model (see Figure 2.). These two architectures are highly configurable; this allows us to study a wide range of simulation scenarios.

<div style="display: flex; gap: 20px;">
<div style="flex: 1;">
<h3 align="center">Figure 1: Population Spatial Structure</h3>
<img src="./images/population_spatial_structure.png" alt="Population spatial structure" width="50%">
<p>The environment is modelled using <a href="https://github.com/SABS-R3-Epidemiology/EpiGeoPop">EpiGeoPop</a>, which takes a region of interest, creates layers of sub-regions of different types and populates these with individuals.</p>
<img src="./images/population_spatial_structure.png" alt="Population spatial structure" width="100%">
<p>Figure 1. Population Spatial Structure: The environment is modelled using <a href="https://github.com/SABS-R3-Epidemiology/EpiGeoPop">EpiGeoPop</a>, which takes a region of interest, creates layers of sub-regions of different types and populates these with individuals.</p>
</div>
<div style="flex: 1;">
<h3 align="center">Figure 2: Infection Progression</h3>
<img src="./images/infection_progression.jpg" alt="Infection progression" width="50%">
<p>The infection progression is represented using a <a href="https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology">compartment model</a> which tracks the daily progress of the disease within an individual.</p>
<img src="./images/infection_progression.jpg" alt="Infection progression" width="100%">
<p>Figure 2. Infection Progression: The infection progression is represented using a <a href="https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology">compartment model</a> which tracks the daily progress of the disease within an individual.</p>
</div>
</div>

## Running a simulation
The overview below describes the user-input needed to run a basic simulation, using default values for parameters for other options. There is a comprehensive jupyter notebook showing a detailed, more complex example here (ADD LINK).
The overview below describes how the simulation works and the user-input required to run a basic simulation. A more detailed, complex example is illustrated in this jupyter notebook (ADD LINK). Also, [the Wiki](https://github.com/SABS-R3-Epidemiology/epiabm/wiki/Overview-of-the-Ferguson-Model) details optional parameters available to the user as well as those whose values are mentioned, but changing them is not recommended.

### Step 1: Use EpiGeoPop to generate the population spatial structure
As shown in Figure 1, the region of interest is broken into a spatial structure:
Expand All @@ -29,9 +28,9 @@ As shown in Figure 1, the region of interest is broken into a spatial structure:
* *Households* - quantity per microcell is based on a probabilistic distribution. All individuals are assigned to one household and do not move households during the simulation.
* *Places* - quantity per microcell is based on a probabilistic distribution. These are spaces where individuals might meet other individuals from different households, a workplace or a public park for example.

This structure is created using [EpiGeoPop](https://github.com/SABS-R3-Epidemiology/EpiGeoPop). The user states a region of interest, Oxford or UK for example, and the tool creates a csv file as an output. This file contains one line per microcell for each cell, with the number of households, places and individuals to be used in the simulation. The quantity of individuals are extracted for the region using Census data.
This structure is created using [EpiGeoPop](https://github.com/SABS-R3-Epidemiology/EpiGeoPop). The user states a region of interest, Oxford or UK for example, and the tool extracts information from [Natural Earth](https://www.naturalearthdata.com/) and [JRC](https://data.jrc.ec.europa.eu/csv), providing a csv file as output. This file contains one line per microcell for each cell, with the number of households, places and individuals to be used in the simulation (the quantity of individuals are extracted from Census data).

In summary, at the end of this step, we have a spatial structure with details on the number of cells and microcells. Within each microcell, we know the number of households, places, and the number of individuals. This is exported as a csv file.
In summary, the spatial structure for a region is generated using EpiGeoPop. This tool exports into a csv file the number of households, places, and individuals for each microcell.

### Step 2: Configure the simulation
The following parameters are essential and need to be stated by the user to run a simulation:
Expand All @@ -42,7 +41,7 @@ The following parameters are essential and need to be stated by the user to run
* Time for the simulation to run (in days)
* Select any output options required

There are many further optional parameters which are described in detail here (ADD link to wiki)
There are many further optional parameters which are described in [the Wiki](https://github.com/SABS-R3-Epidemiology/epiabm/wiki/Overview-of-the-Ferguson-Model)

**Common adjustments:**
* At the start, infected individuals are distributed across all cells by default, you may want to put them in one cell.
Expand All @@ -58,7 +57,7 @@ Once configured, the simulation takes the generated population and performs the
* InitialisePlaceSweep - Assign individuals to places
* InitialInfectedSweep - Assign which individuals are initially infected

There are optional modules such as recording demographics, which are described in detail here (ADD link to wiki).
There are optional modules such as recording demographics, which are described in [the Wiki](https://github.com/SABS-R3-Epidemiology/epiabm/wiki/Overview-of-the-Ferguson-Model)

**Simulation sweeps:**
Individual’s location and infection status is updated each day:
Expand All @@ -75,5 +74,5 @@ A simulation produces one output file by default:

Infection status (S, E, I<sub>mild</sub>, etc) for each day by cell

Further optional files are available, details described here (ADD link to wiki) or see jupyter notebook with a detailed illustration here (ADD LINK). These data files can be used to produce plots for further analysis.
Further optional files are available, details described in [the Wiki](https://github.com/SABS-R3-Epidemiology/epiabm/wiki/Overview-of-the-Ferguson-Model) or see jupyter notebook with a detailed illustration here . These data files can be used to produce plots for further analysis.

201 changes: 201 additions & 0 deletions walk_through/epigeopop.ipynb

Large diffs are not rendered by default.

0 comments on commit 2fca523

Please sign in to comment.