My Authors
Read all threads
We would like to share an extended SEIR model and easy to use python package for studying population structure, social distancing, testing, tracing, and quarantining—including stochastic implementations of these models on dynamic networks. (thread)
Here’s a brief overview, but the model and code are fully documented in the GitHub README. This work is a collaboration with @ocornejopopgen, @evokerr, @mtanaka000, and @CT_Bergstrom.
We use an extended SEIR model with compartments for detected cases. Individuals are tested at some rate, and positive tests move to a detected infection state. Known cases may then have different parameters or connectivity representing targeted interventions or treatment.
Standard compartment models assume a uniformly-mixed population, but the structure and locality of the pop. impact the effective rate of transmission. Distancing and contact tracing work by changing these network properties. We model SEIR on networks to study these effects.
In our network model, each individual (node) randomly interacts with their “close contacts” (adjacent nodes) or “the public” (any other node). The parameter p sets the prob. of global vs local interactions and defines the locality of the system.
The locality of a structured population can significantly impact the effective rate of transmission. A population that is well-mixed (p=1) has a higher effective transmission rate than one where some (p<1) or all (p=0) interactions are limited to close contacts.
Our network model allows explicit study of network-oriented interventions. Social distancing can be modeled by increasing locality and/or decreasing connectivity (e.g., degree) of the network.
Individuals can be given different connectivity when they are in a detected infection state. Decreasing the connectivity of individuals with known infection can be used to study the impact of testing and quarantining.
Our model also includes options for contact tracing, where the prob. of an individual being tested goes up when one of their contacts (adjacent nodes) has a detected infection. The dynamics of tracing are inherently network-based, and our model allows you to get at this.
Our package makes it easy to set up and run scenarios like these, including where parameters and networks change over time or where the the population has heterogeneous parameters. Complex sims can be run in <10 lines of code, and you are free to specify all params and networks.
Or modify the params in our demo notebooks to run custom scenarios with no new coding. github.com/ryansmcgee/sei…
We hope these tools will enable others to rapidly explore the effects of network structure, testing, tracing, quarantining, and other factors on the spread of COVID. We'll be using these tools to study all of the above in more depth, and we are interested to know what you find!
Disclaimer: This model and package are tools for exploring the interactions between different types of interventions, but do not claim to be predictive of disease dynamics for any specific real-world populations.
More information about the model and how to use the package can be found at the GitHub repo: github.com/ryansmcgee/sei…
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Ryan Seamus McGee

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!