Skip to content

Commit

Permalink
Adding references and a comparison table
Browse files Browse the repository at this point in the history
  • Loading branch information
gvegayon committed Apr 5, 2024
1 parent c476aa6 commit ae5fe9c
Show file tree
Hide file tree
Showing 3 changed files with 182 additions and 0 deletions.
90 changes: 90 additions & 0 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,28 @@ package:
different comorbidities affect the transmission and severity of the
disease.

## Other alternatives

# Existing Alternatives

The following table from Meyer and Vega Yon (2023) shows existing
alternatives to epiworld, including **ABM** (Ma 2023), **abmR**
(Gochanour, Fernandez-Lopez, and Contina 2023), **cystiSim**
(Devleesschauwer and Braae 2016), **villager** (Thelen et al. 2022), and
**RNetLogo** (Thiele, Kurth, and Grimm 2012).[^1]

| Package | Multiple Viruses | Multiple Tools | Multiple Runs | Global Actions | Built-In Epi Models |
|:--------------------------------------------------------------|:-----------------|:---------------|:--------------|:---------------|---------------------|
| [**epiworldR**](https://cran.r-project.org/package=epiworldR) | yes | yes | yes | yes | yes |
| [**ABM**](https://cran.r-project.org/package=ABM) | \- | \- | \- | yes | yes |
| [**abmR**](https://cran.r-project.org/package=abmR) | \- | \- | yes | \- | \- |
| [**cystiSim**](https://cran.r-project.org/package=cystiSim) | \- | yes | yes | \- | \- |
| [**villager**](https://cran.r-project.org/package=villager) | \- | \- | \- | yes | \- |
| [**RNetLogo**](https://cran.r-project.org/package=RNetLogo) | \- | yes | yes | yes | \- |

A benchmark comparing epiworld’s speed with other software packages can
be found in the [benchmark section](#speed-benchmark).

# Appendix

## Code example
Expand Down Expand Up @@ -158,8 +180,76 @@ Transition Probabilities:
## Speed benchmark
The following figure shows the time measured in seconds that each of the
benchmarked software packages took to simulate a SIR model featuring
50,000 agents for 100 days.
![](benchmark.png)
## Implementation
The following figure illustrates the model composition process used in
epiworld. Generally, users can add an arbitrary number of states,
viruses, tools, and events to a single model. The flexibility of
epiworld’s API provides a simple way to extend the model’s capabilities.
![](building-models.png)
# References
<div id="refs" class="references csl-bib-body hanging-indent"
entry-spacing="0">
<div id="ref-cystiSim" class="csl-entry">
Devleesschauwer, Brecht, and Uffe Christian Braae. 2016. *cystiSim:
Agent-Based Model for Taenia_solium Transmission and Control*.
<https://CRAN.R-project.org/package=cystiSim>.
</div>
<div id="ref-abmR" class="csl-entry">
Gochanour, Benjamin, Javier Fernandez-Lopez, and Andrea Contina. 2023.
*abmR: Agent-Based Models in R*.
<https://doi.org/10.1111/2041-210X.14014>.
</div>
<div id="ref-ABM" class="csl-entry">
Ma, Junling. 2023. *ABM: Agent Based Model Simulation Framework*.
<https://CRAN.R-project.org/package=ABM>.
</div>
<div id="ref-meyerEpiworldRFastAgentBased2023" class="csl-entry">
Meyer, Derek, and George G Vega Yon. 2023.
“<span class="nocase">epiworldR</span>: Fast Agent-Based Epi Models.”
*Journal of Open Source Software* 8 (90): 5781.
<https://doi.org/10.21105/joss.05781>.
</div>
<div id="ref-villager" class="csl-entry">
Thelen, Thomas, Gerardo Aldana, Marcus Thomson, and Toni Gonzalez. 2022.
*Villager: A Framework for Designing and Running Agent Based Models*.
<https://CRAN.R-project.org/package=villager>.
</div>
<div id="ref-RNetLogo" class="csl-entry">
Thiele, Jan C., Winfried Kurth, and Volker Grimm. 2012. “RNetLogo: An R
Package for Running and Exploring Individual-Based Models Implemented in
NetLogo.” *Methods in Ecology and Evolution* 3 (3): 480–83.
<https://doi.org/10.1111/j.2041-210X.2011.00180.x>.
</div>
</div>
[^1]: Although other ABM frameworks are available, the table focuses on
those most relevant (and popular) to epidemiological simulations.
24 changes: 24 additions & 0 deletions paper/paper.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ format:
docx: default
author: 'George G. Vega Yon, Ph.D.'
date: April 5, 2024
bibliography: references.bib
---

`epiworld` is a fast and flexible agent-based modeling (ABM) framework for epidemiological simulations. Designed in C++, it can simulate large populations with complex interactions. The framework is designed to be modular, allowing users to extend and modify the model to suit their needs quickly. Besides the C++ library, an R package ([epiworldR](https://github.com/UofUEpiBio/epiworldR)), a ShinyApp ([epiworldRShiny](https://github.com/UofUEpiBio/epiworldRShiny)), and a Python library ([epiworldpy](https://github.com/UofUEpiBio/epiworldpy)) are available to interact with the model.
Expand Down Expand Up @@ -35,6 +36,24 @@ As a framework, `epiworld` can simulate various epidemiological scenarios. This

- **Population comorbidities**: The library can model the impact of population comorbidities on the spread of the disease, including how different comorbidities affect the transmission and severity of the disease.

## Other alternatives

# Existing Alternatives

The following table from @meyerEpiworldRFastAgentBased2023 shows existing alternatives to epiworld, including **ABM** [@ABM], **abmR** [@abmR], **cystiSim** [@cystiSim], **villager** [@villager], and **RNetLogo** [@RNetLogo].[^othermodels]

[^othermodels]: Although other ABM frameworks are available, the table focuses on those most relevant (and popular) to epidemiological simulations.

| Package | Multiple Viruses | Multiple Tools | Multiple Runs | Global Actions | Built-In Epi Models |
|:--------|:--------|:--------|:--------|:--------|---------|
| [**epiworldR**](https://cran.r-project.org/package=epiworldR) | yes | yes | yes | yes | yes |
| [**ABM**](https://cran.r-project.org/package=ABM) | \- | \- | \- | yes | yes |
| [**abmR**](https://cran.r-project.org/package=abmR) | \- | \- | yes | \- | \- |
| [**cystiSim**](https://cran.r-project.org/package=cystiSim) | \- | yes | yes | \- | \- |
| [**villager**](https://cran.r-project.org/package=villager) | \- | \- | \- | yes | \- |
| [**RNetLogo**](https://cran.r-project.org/package=RNetLogo) | \- | yes | yes | yes | \- |

A benchmark comparing epiworld's speed with other software packages can be found in the [benchmark section](#speed-benchmark).

# Appendix

Expand Down Expand Up @@ -120,9 +139,14 @@ Transition Probabilities:
## Speed benchmark
The following figure shows the time measured in seconds that each of the benchmarked software packages took to simulate a SIR model featuring 50,000 agents for 100 days.
![](benchmark.png)
## Implementation
The following figure illustrates the model composition process used in epiworld. Generally, users can add an arbitrary number of states, viruses, tools, and events to a single model. The flexibility of epiworld's API provides a simple way to extend the model's capabilities.
![](building-models.png)
# References
68 changes: 68 additions & 0 deletions paper/references.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
@Manual{ABM,
title = {ABM: Agent Based Model Simulation Framework},
author = {Junling Ma},
year = {2023},
note = {R package version 0.3},
url = {https://CRAN.R-project.org/package=ABM},
}

@Manual{abmR,
title = {abmR: Agent-Based Models in {R}},
author = {Benjamin Gochanour and Javier Fernandez-Lopez and Andrea Contina},
year = {2023},
note = {R package version 1.0.9},
doi = {10.1111/2041-210X.14014},
}
@article{gochanour2021abmr,
title = {abmR: An R package for agent-based model analysis of large-scale movements across taxa},
author = {Gochanour, Benjamin and Fern{\'a}ndez-L{\'o}pez, Javier and Contina, Andrea},
journal = {bioRxiv},
pages = {2021--09},
year = {2021},
publisher = {Cold Spring Harbor Laboratory},
doi = {10.1101/2021.09.15.460374}
}

@Manual{cystiSim,
title = {cystiSim: Agent-Based Model for Taenia_solium Transmission and Control},
author = {Brecht Devleesschauwer and Uffe Christian Braae},
year = {2016},
note = {R package version 0.1.0},
url = {https://CRAN.R-project.org/package=cystiSim},
}
@Manual{villager,
title = {villager: A Framework for Designing and Running Agent Based Models},
author = {Thomas Thelen and Gerardo Aldana and Marcus Thomson and Toni Gonzalez},
year = {2022},
note = {R package version 1.1.1},
url = {https://CRAN.R-project.org/package=villager},
}
@Article{RNetLogo,
title = {{RNetLogo}: An {R} Package for Running and Exploring
Individual-Based Models Implemented in {NetLogo}},
author = {Jan C. Thiele and Winfried Kurth and Volker Grimm},
journal = {Methods in Ecology and Evolution},
year = {2012},
volume = {3},
number = {3},
pages = {480--483},
doi = {10.1111/j.2041-210X.2011.00180.x},
}

@article{meyerEpiworldRFastAgentBased2023,
title = {{{epiworldR}}: {{Fast Agent-Based Epi Models}}},
shorttitle = {{{epiworldR}}},
author = {Meyer, Derek and Vega Yon, George G},
year = {2023},
month = oct,
journal = {Journal of Open Source Software},
volume = {8},
number = {90},
pages = {5781},
issn = {2475-9066},
doi = {10.21105/joss.05781},
urldate = {2023-10-04}
}

0 comments on commit ae5fe9c

Please sign in to comment.