GithubHelp home page GithubHelp logo

cadmium-seir-asyn's Introduction

SEIR-Asyn

The model is based on the following paper:

Tang, B., Wang, X., Li, Q., Bragazzi, N. L., Tang, S., Xiao, Y., & Wu, J. (2020).
Estimation of the Transmission Risk of the 2019-nCoV and Its Implication for
Public Health Interventions. Journal of clinical medicine, 9(2), 462. https://doi.org/10.3390/jcm9020462

This instructions assume that:

  1. Cadmium has been installed following the instructions in the manual: http://www.sce.carleton.ca/courses/sysc-5104/lib/exe/fetch.php?media=cadmiumusermanual.pdf

  2. The SEIR-Asyn model is cloned inside the folder: Cadmium-Simulation-Environment/DEVS-Models (see the installation manual)

Compile the model

  1. Install Cadmium following the instructions in the manual: http://www.sce.carleton.ca/courses/sysc-5104/lib/exe/fetch.php?media=cadmiumusermanual.pdf

  2. Clone the repository inside the folder: Cadmium-Simulation-Environment/DEVS-Models https://github.com/SimulationEverywhere-Models/Cadmium-SEIR-Asyn

  3. Compile the model using the make file

Model implimentation

Parameters used in the model

(These parameters can be modified following the instructions below)

Symbol Symbol in paper Value from paper Description
c c 14.781 Contact rate per person per day
b β 2.1011e-8 Probability of transmission per contact
q q 1.8887e-7 Probability of being quarantined per contact
e σ 0.142857 Proportion of exposed individuals becoming infective per day
l λ 0.071428 Proportion of quarantined uninfected individuals being released per day
n ϱ 0.86834 Probability of having symptoms among infected individuals
di δI 0.13266 Proportion of symptomatic infective individuals going into quarantine per day
dq δq 0.1259 Proportion of quarantined exposed individuals progressing to quarantined infective per day
yi γI 0.33029 Proportion of symptomatic infective individuals recovering per day
ya γA 0.13978 Proportion of asymptomatic infective individuals recovering per day
yh γH 0.11624 Proportion of quarantined infective individuals recovering per day
a α 1.7826e-5 Proportion of symptomatic infective and quarantined infective individuals dieing per day
t θ 0 How infective are asymptomatic infective people compaired to symptomatic infective people
S S 11081000 Initial susceptible population
E E 105.1 Initial exposed population
I I 27.679 Initial symptomatic infective population
A A 53.839 Initial asymptomatic infective population
Sq Sq 739 Initial quarantined susceptible population
Eq Eq 1.1642 Initial quarantined exposed population
H H 1 Initial quarantined infective population
R R 2 Initial recovered population
D D 0 Initial deceased population

Differential equations used in the model

Class Equation in paper Equation in implementation
S' -(b×c+c×q×(1-b))×S×(I+t×A)+l×Sq -(c×(I+A)×S×b×(1-q)) - (c×(I+t×A)×S×b×q) - (c×(I+t×A)×S×(1-b)×q) + (l×Sq)
E' b×c×(1-q)×S×(I+t×A)-e×E -(e×n×E) - (e×(1-n)×E) + (c×(I+t×A)×S×b×(1-q))
I' e×n×E-(di+a+yi)×I -(di×I) - (yi×I) - (a×I) + (e×n×E)
A' e×(1-n)×E-ya×A -(ya×A) + (e×(1-n)×E)
Sq' (1-b)×c×q×S×(I+A)-dq×Eq -(l×Sq) + (c×(I+A)×S×(1-b)×q)
Eq' b×c×q×S×(I+A)-dq×E -(dq×Eq) + (c×(I+A)×S×b×q)
H' di×I+dq×Eq-(a+yh)×H -(yh×H) - (a×H) + (di×I) + (dq×Eq)
R' yi×I+ya×A+yh×H +(yi×I) + (ya×A) + (yh×H)
D' [not directly modeled] +(a×I) + (a×H)

Run the model

OPTION 1 - Default parameters

./bin/SEIR_Asyn (linux)

./bin/SEIR_Asyn.exe (windows)

OPTION 2 - Define your own parameters

Place a text file (e.g. my_data.txt) with the input parameters in the folder input_data

Run the program normally using

./bin/SEIR_Asyn my_data.txt (linux)

./bin/SEIR_Asyn.exe my_data.txt (windows)

NOTE Follow the instructions in input.txt for how to lay out your data

Visualize the results

runner.py and plotter.py are python3 files that assume that you are in a linux like environment.

runner.py contains the functions required to run the model repeatedly and in parallel with programatic arguments, and is meant to imported

plotter.py contains the functions needed to read in the output of the model, and an example of how to use runner.py and mathplotlib to generate line graphs from the output

cadmium-seir-asyn's People

Contributors

cruizm avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.