Skip to content

pdncovid/cov-emulator

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

PanDemic SIMulator - PDSIM

Realistic mobility and disease simulation!
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

There are many simulators to emulate a disease's spread within a population; however, there is a deficiency in the realistic movement in those simulations which neglects vital factors such as collisions when moving inside a building and contacts when moving in public transport systems. This PDSIM provides comprehensive set of tools to efficiently model complex environments and simulate a pandemic with realistic movement system.

Main contributions of PDSIM are:

  • Hybrid Movement Model with more realistic motion simulation - Movement modeling at a particular location and when someone is moving in-between two locations imitates human-like motion and decision-making that generates natural movement paths.
  • The daily routine generator facilitated by the proposed motion model enables occupation-specific motion and routine generation.
  • A novel location occupancy mechanic to determine how long someone stays at a given location simulates human motion more effectively and injects individualized randomness into the overall population motion.
  • Transport system that integrates with the motion model to simulate the impact of public transport on disease propagation.
  • Ability to simulate Super-Spreader events (Large gathering) and assess its impact.
  • Implementation of testing and vaccination protocols coupled with the effective use of people's daily routine to enable a realistic testing and vaccination simulation.
  • Simulation of social distancing and hygiene (mask-wearing/hand sanitizing) of people with an attention to each individual.
  • Multiple types of containment policy simulation, where each policy categorically implements required actions only for the affected set of people. These containment measures work together with the motion model to address the variations in the containment in a collaborative manner. For example, quarantining a particular sector affects the people moving through that sector.
  • Detailed variant, environment, and person (age factors, immunity, hygiene, etc.) based disease transmission model.

(back to top)

Built With

PDSIM was built using,

(back to top)

Getting Started

Instructions on setting up your project locally. To get a local copy up and running follow these steps.

Prerequisites

Install following software. We recommend that you create a virtual environment for this, but it is not essential.

  • Python 3.8.10 (65-bit)

  • npm

    npm install npm@latest -g

Installation

Install PDSIM and associated dependencies.

  1. Clone the repo and goto it's directory
    git clone https://github.com/pdncovid/cov-emulator.git
  2. Install NPM packages
    npm install
  3. Install python packages
    pip install -e .

(back to top)

Usage

Go to the backend/server folder and run the flask server using

flask run

Start the node server which is located at app folder

npm start

Use the UI to run specific simulations.

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the CC0 1.0 Universal License. See LICENSE for more information.

(back to top)

Contact

Harshana - @harshanaSW - [email protected]

(back to top)

Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

  • AI4COVID group for the guidance and support.
  • Covasim for the initial motivation when coding.

(back to top)