Skip to content

gotfredsen/pyross

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyRoss: Infectious disease models in Python Binder

About | Contact | Publications | News | Installation | Examples | License

Imagel

About

PyRoss is a numerical library for mathematical modelling of infectious disease in Python. The library supports structured compartment models formulated as systems of differential equations. Currently, these are the SIR, SEIR, SEAIR, and SEAIRQ models.

The library was developed to model the outbreak of the novel coronavirus COVID-19 and to assess the age-structured impact of social distancing measures in India.

The library is named after Sir Ronald Ross, doctor, mathematician and poet. In 1898 he made "the great discovery" in his laboratory in Calcutta "that malaria is conveyed by the bite of a mosquito". He won the Nobel Prize in 1902 and laid the foundations of the mathematical modelling of infectious diseases.

Contact

The authors are part of The Rapid Assistance in Modelling the Pandemic (RAMP) taskforce. We can be contacted at: rs2004@cam.ac.uk (Rajesh Singh) and ra413@cam.ac.uk (R. Adhikari).

Please open an issue in preference to emailing us with queries, as these can then be shared with others with similar queries. Thank you!

Publications

Number of infectives using case data till 25-03-2020 for SIR and SEIR models. The former provides a lower bound. SIR and SEIR

News

News articles about our COVID-19 paper: Zee News | The Whit Worth Gazette | The Weekend Leader | The Weather Channel | The Tribune | The Times of India | The Telegraph | The Northlines | The New Indian Express | Swarajya | Snoop Tales | Scroll.in | People's Reporter | News Bundle | Newsgram | Mathrubhumi | liveMint | India New England News | India Today | Indian Express: Bangla | Indian Blooms | Dainik Bhaskar | CCN | Business Standard | Asiaville

Installation

Clone (or download) the repository and use a terminal to install using

>> git clone https://github.com/rajeshrinet/pyross.git
>> cd pyross
>> python setup.py install

PyRoss requires the following software

Data sources

The age and social contact data that is needed to construct structured compartment models can be found at the following sources:

Age structure: Population Pyramid website.

Contact structure: Projecting social contact matrices in 152 countries using contact surveys and demographic data, Kiesha Prem, Alex R. Cook, Mark Jit, PLOS Computational Biology, (2017) DOI, Supporting Information Text and Supporting Information Data.

The list of COVID-19 cases is obtained from the Worldometer website.

Examples

#Ex1: M=1, SIR
import numpy as np
import pyross
M = 1                  # the SIR model has no age structure
Ni = 1000*np.ones(M)   # so there is only one age group 
N = np.sum(Ni)         # and the total population is the size of this age group

beta  = 0.2            # infection rate 
gamma = 0.1            # recovery rate 
alpha = 0              # fraction of asymptomatic infectives 
fsa   = 1              # the self-isolation parameter 


Ia0 = np.array([0])     # the SIR model has only one kind of infective 
Is0 = np.array([1])     # we take these to be symptomatic 
R0  = np.array([0])     # and assume there are no recovered individuals initially 
S0  = N-(Ia0+Is0+R0)    # so that the initial susceptibles are obtained from S + Ia + Is + R = N

# there is no contact structure
def contactMatrix(t):   
    return np.identity(M) 

# duration of simulation and data file
Tf = 160;  Nt=160; filename = 'this.mat'

# instantiate model
parameters = {'alpha':alpha, 'beta':beta, 'gamma':gamma,'fsa':fsa}
model = pyross.models.SIR(parameters, M, Ni)

# simulate model
model.simulate(S0, Ia0, Is0, contactMatrix, Tf, Nt, filename)

License

We believe that openness and sharing improves the practice of science and increases the reach of its benefits. This code is released under the MIT license. Our choice is guided by the excellent article on Licensing for the scientist-programmer.

About

Mathematical modelling of infectious disease in Python https://github.com/rajeshrinet/pyross

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%