Package: pyrossgeo
PyRossGeo: spatially resolved infectious disease models in PythonAbout|Model|Installation|Documentation|License|ContactAboutPyRossGeois a numerical library for spatially resolved mathematical modelling of infectious diseases. The library has a Python interface, but is coded in C usingCython. See below for more details on the model.PyRossis a companion library that offers tools for both deterministic and stochastic simulation of macroscopic compartmental models, as well as a complete
suite of inference and optimal control tools.Please open an issue, or join ourpublic slack,
if you have any queries, in preference to e-mailing us. For urgent
enquiries, please contact Lukas Kikuchi atltk26@cam.ac.uk.The authors are part of theRapid Assistance in Modelling the Pandemic (RAMP)taskforce at theUniversity of Cambridge. In alphabetical order, we are:Jakub Dolezal,Tim Ekeh,Lukas Kikuchi,Hideki Kobayashi,Paul Rohrbach,Rajesh SinghandFernando Caballero.ModelThe PyRossGeo uses a spatially resolved infectious disease model. The model is distinct from other network-SIR models in that it explicitly considers movement between geographical nodes, by modelling the commuting patterns of the population.Locally at each geographical node, we simulate compartmental epidemiological dynamics with an age-contact structure. The resident population at each node can move between nodes via thecommuter network. The epidemics of the commute itself is modelled using the"commuterverse": People moving between geographical nodes must spend the requisite amount of time (corresponding to the distance travelled) with their fellow commuters in acommuter node. See the figure below for an example of a commuter network:The local infective dynamics at a node-level is customizable, and any variant of the compartmental epidemiological models (e.g. SIR, SEIR, SEAIR, etc.) can be coded using a configuration file.The model has been tested with synthetic data on London, at an MSOA (Middle Super Output Area) level. We used ~1000 geographical nodes, with a commuter network of ~300'000 edges, constructed using the2011 UK Census data. We are currently developing a test for a UK-wide simulation at an LAD (Local Authority District) level.For a more detailed description of the model, please readthis.InstallationYou can take PyRossGeo for a spinwithout installation:. Please be patient while Binder loads.From a checkout of this repositoryInstall PyRossGeo and required dependencies using>>gitclonehttps://github.com/lukastk/PyRossGeo.git
>>cdPyRossGeo
>>pipinstall-rrequirements.txt
>>pythonsetup.pyinstallViaAnacondaInstall PyRossGeo and its dependencies in apyrossgeoenvironment>>gitclonehttps://github.com/lukastk/PyRossGeo.git
>>cdPyRossGeo
>>makeenv
>>condaactivatepyrossgeo
>>makeVia pipInstall the latestPyPIversion>>pipinstallpyrossgeoPyRossGeo requires the following softwarePython 3.4+Cython 0.25.x+|NumPy 1.x+|Pandas|SciPy 1.1.x+Optional dependencies:
|Zarr(Saving simulations results)
|Matplotlib 2.0.x+(Example notebooks)
|Jupyter(Example notebooks)
|PyTest(Testing)
|GeoPandas(Visualisations)
|PyRoss(Example notebooks, contact matrices)DocumentationSeeherefor documentation, tutorials and example notebooks.LicenseWe believe that openness and sharing improves the practice of science and increases the reach of its benefits. This code is released under theMIT license. Our choice is guided by the excellent article onLicensing for the scientist-programmer.ContactFor inquiries about PyRossGeo, please join the#pyrossgeochannel of our public slackhere.