https://github.com/google-research/agent-based-epidemic-sim

https://github.com/google-research/agent-based-epidemic-sim

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords from Contributors

deep-neural-networks distributed research jax quantlib quantitative-finance numerical-optimization numerical-methods numerical-integration high-performance
Last synced: 4 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: google-research
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: develop
  • Size: 13.2 MB
Statistics
  • Stars: 57
  • Watchers: 5
  • Forks: 18
  • Open Issues: 27
  • Releases: 0
Created over 5 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing License Code of conduct

README.md

Agent Based Epidemic Simulator

Build Status

This repository hosts an open source agent-based simulator for modeling epidemics at large scale (nation-scale) using parallel and distributed computation.

At a high level, the simulator enables users to model the movement of simulated agents between different locations, and computes the spread of disease based on the interactions between agents who are colocated. The simulator also has interfaces to model the impact of social distancing policies, contact tracing mechanisms, and testing regimens on disease spread.

All aspects of the simulation are parameterized. The user of the simulation is able to define distributions which dictate simulation behavior such as:

  • The size of the population
  • The size and number of locations to visit
  • The length of visits to the locations
  • The between-host transmissibility of the disease
  • The state transition diagram and dwell times of the disease

These parameters can be configured to apply to particular scenarios and can be calibrated against real world data for use in experiments. Please note that this simulator is meant to explore the relative impact and sensitivity of various conditions and interventions and its results must not be interpreted as definitive about exact real world outcomes.

Specific applications of the simulator can be found in the applications subdirectory:

Home Work

This is a simple application where communities are created from pre-specified distributions. The individual agents in these communities spend some portion of every day at their places of work interacting with colleagues, and the rest of their day at home interacting with household members. You can build and run the example as follows.

Native build (Linux)

```shell bazel build -c opt agentbasedepidemicsim/applications/homework:main

bazel-bin/agentbasedepidemicsim/applications/homework/main \ --simulationconfigpbtxtpath=agentbasedepidemicsim/applications/homework/config.pbtxt \ --outputfile_path=$HOME/output.csv ```

Docker

```shell docker build -t $USER/abesim .

docker run -t --rm -w /root/agentbasedepidemicsim \ -v $PWD:/root/agentbasedepidemicsim:cached \ -v /tmp/output:/tmp/output:delegated \ -v /tmp/bazeloutput:/tmp/bazeloutput:delegated \ $USER/abesim \ bazel run -c opt agentbasedepidemicsim/applications/homework/main -- \ --simulationconfigpbtxtpath=/root/agentbasedepidemicsim/agentbasedepidemicsim/applications/homework/config.pbtxt \ --outputfilepath=/tmp/output/output.csv ```

Contact Tracing

The contact tracing application is designed to investigate the effects of different contact tracing strategies, including digital complements to contact tracing, on the spread of disease. Work on this application is ongoing and it is not yet ready to run.

Configuration Generator

There is a configuration generator which pulls data from the COVID-19 Open Data repository to seed the simulations with empirical data for a given time and location. For example, to generate a config file for the home-work application using the known number of infections, recovered and deceased persons from Spain on May 1, run the following command: shell python3 agent_based_epidemic_sim/configuration_generator/config.py \ --region-code ES --date 2020-05-01 --sim home_work config.pbtxt

Tests

Native build (Linux)

shell bazel test agent_based_epidemic_sim/...

Docker

```shell docker build -t $USER/abesim .

docker run -t --rm -w /root/agentbasedepidemicsim \ -v $PWD:/root/agentbasedepidemicsim:cached \ -v /tmp/bazeloutput:/tmp/bazeloutput:delegated \ $USER/abesim bazel test agentbasedepidemic_sim/... ```

Configuration Generator

The tests must be run from within the configuration_generator folder: shell cd agent_based_epidemic_sim/configuration_generator python3 -m unittest

Risk Score Learning

Jupyter Notebooks for learning risk score models on data sampled from a discrete grid on [Infectiousness x Distance x Duration] are available under agent_based_epidemic_sim/learning. Notebook to reproduce the experiments in Murphy et al, Risk score learning for COVID-19 contact tracing apps, 2021 is available at agent_based_epidemic_sim/learning/MLHC_paper_experiments.ipynb.

Acknowledgements

The computational model used by the simulator is inspired in part by the EpiSimdemics simulator. We also took a great deal of inspiration from the OpenABM simulator.

EpiSimdemics and its extensions were built by a team of researchers, the core team members are now at UVA, UMD, UIUC, and LLNL. All the members that contributed to EpiSimdemics and its extensions include: Ashwin Aji, Christopher L. Barrett, Abhinav Bhatele, Keith R. Bisset, Ali Butt, Eric Bohm, Abhishek Gupta, Stephen G. Eubank, Xizhou Feng, Wu Feng, Nikhil Jain, Laxmikant V. Kale, Tariq Kamal, Chris Kuhlman, Yarden Livnat, Madhav Marathe, Dimitrios S. Nikolopoulos, Martin Schulz, Lukasz Wesolowski, Jae-Seung Yeom. Madhav Marathe is the corresponding scientist for EpiSimdemics and can be reached at marathe@virginia.edu.

Owner

  • Name: Google Research
  • Login: google-research
  • Kind: organization
  • Location: Earth

GitHub Events

Total
  • Watch event: 7
  • Delete event: 43
  • Issue comment event: 57
  • Push event: 42
  • Pull request event: 101
  • Fork event: 1
  • Create event: 56
Last Year
  • Watch event: 7
  • Delete event: 43
  • Issue comment event: 57
  • Push event: 42
  • Pull request event: 101
  • Fork event: 1
  • Create event: 56

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 175
  • Total Committers: 24
  • Avg Commits per committer: 7.292
  • Development Distribution Score (DDS): 0.634
Past Year
  • Commits: 4
  • Committers: 4
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.75
Top Committers
Name Email Commits
Yusef Shafi y****f@g****m 64
Matt Rosencrantz m****r@g****m 31
James Groeneveld g****y@g****m 27
Pandemic-Sim Team n****y@g****m 11
Anand Kesari a****s@g****m 7
Patrick Reynolds p****s@g****m 6
Abhishek Kumar a****k@g****m 5
Pandemic-Sim Team p****m@g****m 4
Stylianos Serghiou s****u@g****m 3
Michael Dikovsky m****y@g****m 2
Pratik raj r****1@g****m 2
Aradhya a****a@g****m 1
Eric Salo s****o@g****m 1
Kevin Murphy k****y@g****m 1
Luyang Liu l****u@g****m 1
Mike Kruskal m****l@g****m 1
Nita Goyal n****a@g****m 1
Oleh Prypin o****n@g****m 1
Oscar Wahltinez o****z@g****m 1
Peter Hawkins p****s@g****m 1
Xinle Liu l****l@g****m 1
Jake VanderPlas v****s@g****m 1
Richard Levasseur r****r@g****m 1
Yilei Yang y****g@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 2
  • Total pull requests: 233
  • Average time to close issues: 20 days
  • Average time to close pull requests: 28 days
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.7
  • Merged pull requests: 70
  • Bot issues: 0
  • Bot pull requests: 231
Past Year
  • Issues: 0
  • Pull requests: 122
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 month
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.66
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 122
Top Authors
Issue Authors
  • Rajpratik71 (1)
  • ingmarschuster (1)
Pull Request Authors
  • copybara-service[bot] (230)
  • Rajpratik71 (1)
  • kashif (1)
Top Labels
Issue Labels
Pull Request Labels
cla: yes (43) cla: no (7)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 0
github actions: google-research/agent-based-epidemic-sim

Run all tests.

  • License: apache-2.0
  • Versions: 0
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 0.0%
Forks count: 2.8%
Stargazers count: 5.4%
Average: 12.8%
Dependent repos count: 42.9%
Last synced: 5 months ago

Dependencies

agent_based_epidemic_sim/learning/requirements.txt pypi
  • absl-py >=0.7.0
  • jax >=0.2.18
  • jaxlib >=0.1.69
  • numpy >=1.18.4
  • pandas >=1.0.0
  • scikit-learn >=0.23.1
  • scipy >=1.0.0
  • six >=1.16.0
.github/workflows/main.yml actions
  • ./ * composite
  • actions/checkout v2 composite
action.yml actions
  • Dockerfile * docker
Dockerfile docker
  • ubuntu 20.04 build