Infectious disease outbreak-Mutation and Breakthrough
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model simulates the infectious disease outbreak in which the viral transmissibility evolves and breakthrough infections occur. It allows students to compare the maximum active cases and total deaths of an outbreak when 1) viral transmissibility mutation is present and absent and 2) breakthrough is present and absent. They can also investigate these scenarios at different vaccination levels.
HOW IT WORKS
The model starts with a population of susceptible (green) and vaccinated (blue) people if the vaccination rate is above 0%. Once an infected case (orange) appears in the population, it will pass infectious disease to one of the susceptible people nearby (within a radius of 1.5) at the defined original transmission rate. The infected people can transmit the disease for 14 days. No isolation or quarantine is considered in this model. By the 15th day of being infected, the infected people either die (disappear from the model) at mortality of 10%, or recover and become immune (blue).
When the mutation is enabled, some viruses' transmissibilities may mutate randomly. For example, the strain with the transmissibility of 50% may become more transmissible, e.g., 75%, or less transmissible, e.g., 30%. The infected person will infect the next susceptible person at the new transmission rate.
When breakthrough infections are enabled, the vaccinated or recovered people can be infected again (magenta color). They will be infected by the original strain at a low chance, about 0.5-1%, which is still much higher than the reality. The vaccinated or recovered people have a higher chance of being infected by the mutated strains.
A constant mortality (10%) is used to simplify the model.
Buttons, Sliders, and Switches:
*The buttons of Set up/Reset, Run/Pause, and Run a day are self-explanatory
The population size slider is also self-explanatory. Note, when you change the population size, you also change the population density because the simulation area remains the same.
The Vaccination-rate slider determined the vaccination coverage of the population.
The Original-transmission-rate slider determines the transmissibility of the original strain carried by the first infected case.
The Mutation? switch enables or disables mutation during each infection event.
The Breakthrough-infection? switch enables or disables the breakthrough events.
The +1 Infected Case button adds an infected person into the population.
The Watch 1 Infected Case button allows you to focus on a single infected person or stop watching the person. You may see this person eventually recover or die.
HOW TO USE IT
First, choose the factors, such as population size, original transmission rate, etc.
Input the Days to determine how long to run the model.
Click on Set up/Reset, then +1 Infected Case, and then Run/Pause. The number of days represents the duration of the outbreak.
Observe the infection changes in the population in the plots and monitors.
Use Run one day to run the model in a controlled way and collect day-by-day data.
Use Default Settings to retrieve the default settings.
THINGS TO TRY
There are so many things you can try in this model. Here are only very a few quick ideas:
How does mutation affect the outbreak duration, max active cases, and the number of breakthrough infections?
How does viral transmissibility evolve over an outbreak? Do you see any patterns when you use different starting transmission rates, i.e., low, medium, and high?
What factors may affect the number of breakthrough infections?
How do the breakthrough infections affect outbreak duration, max active cases, and total deaths at different vaccination levels?
RELATED MODELS
Find more epidemic models at https://sites.google.com/view/3d-science-abm/COVID-19
CREDITS AND REFERENCES
Dr. Lin Xiang (lin.xiang@uky.edu) created this module at the University of Kentucky in 2022. If you mention this model in a publication, we ask that you include the citations below.
Xiang, L. (2022). Infectious Disease Outbreak-Mutation and breakthrough infections. Department of STEM Education, University of Kentucky, Lexington, KY.
Comments and Questions
;; ;; This model is developed by Dr. Lin Xiang at the University of Kentucky. Contact: lin.xiang@uky.edu ;; ;; If you see this page rather than a "download" button when downloading the model, click the "download" icon ;; in your browser to download this model file. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; turtles-own [day transmissibility immunity infection mortality] Patches-own [ ] Globals [watching max-daily-cases Transmission-rate num-of-breakthrough current-mortality] to-report average-transmission-rate report mean [transmissibility] of turtles with [color > 22 and color < 28] end to setup clear-all setup-turtles setup-patches set watching false set num-of-breakthrough 0 reset-ticks end to setup-turtles create-turtles Population-size * (100 - vaccination-rate) * 0.01 [set color 68 set size 1.25 set shape "person-1" set day 0 set transmissibility 0 set immunity 0 set infection 0 set mortality 0 setxy random-xcor random-ycor ] create-turtles Population-size * (vaccination-rate * 0.01) [set color blue set size 1.25 set shape "person-1" set day 0 set transmissibility 0 set immunity 50 set infection 1 set mortality 0 setxy random-xcor random-ycor ] end to setup-patches ask patches [set pcolor 0] end to go if ticks >= Days [stop] move transmission sickness find-max-daily-cases tick end to move ask turtles [right random 360 forward 1] end to add-an-infected-person ask one-of turtles with [color = 68] [ set transmissibility Original-transmission-rate set immunity transmissibility set infection infection + 1 set color (transmissibility + 444.5) / 19.8 set mortality 10 setxy random-xcor random-ycor ] end to transmission ask turtles with [color > 22 and color < 28] [let susceptible-person one-of other turtles in-radius 1.5 with [color = 68] if susceptible-person != nobody [ set transmission-rate [transmissibility] of self set current-mortality [mortality] of self ask susceptible-person [ if random 100 < transmission-rate [ifelse Mutation? = true [ifelse random 100 < 25 [set transmission-rate (1 + random 100) ;transmissibility mutate randomly set infection infection + 1 ;count the times being infected set transmissibility transmission-rate ;set the mutated transmissibility set color (transmissibility + 444.5) / 19.8 ;set the color according to the transmissibility set immunity transmissibility] ;set the immunity level the same as the trasmissibility level ;set mortality (1 + random 20)] [set infection infection + 1 set transmissibility transmission-rate set color (transmissibility + 444.5) / 19.8 set immunity transmissibility set mortality current-mortality]] [set infection infection + 1 set transmissibility transmission-rate set color (transmissibility + 444.5) / 19.8 set immunity transmissibility set mortality current-mortality]] ] ] ] if Breakthrough-infection? = true ;breakthrough [if count turtles with [color = blue] > 0 [ask turtles with [color > 22 and color < 28] [let breakthrough-person one-of other turtles in-radius 1.5 with [color >= blue] if breakthrough-person != nobody [ set transmission-rate [transmissibility] of self set current-mortality [mortality] of self ask breakthrough-person [if random 1000 < (0.05 * abs ([immunity] of self - transmission-rate) + 2) ; compare the imminuty level with the stain transmissibility to determine the probability of breakthrough (larger difference lead to more breakthrough. Plus 2 to represent there is no 100% vaccination protection. [if random 100 < transmission-rate [ifelse Mutation? = true [ifelse random 100 < 25 [set transmission-rate (1 + random 100) set infection infection + 1 set transmissibility transmission-rate set color (transmissibility + 444.5) / 19.8 set immunity transmissibility ;set mortality (1 + random 20) set num-of-breakthrough num-of-breakthrough + 1] [set transmissibility transmission-rate set infection infection + 1 set mortality current-mortality set color (transmissibility + 444.5) / 19.8 set immunity transmissibility set num-of-breakthrough num-of-breakthrough + 1]] [set transmissibility transmission-rate set infection infection + 1 set mortality current-mortality set color (transmissibility + 444.5) / 19.8 set immunity transmissibility set num-of-breakthrough num-of-breakthrough + 1]] ] ] ] ] ] ] end to sickness ask turtles with [color > 22 and color < 28] [set day day + 1 if day >= 15 [ifelse random 100 < 10 [die] [ifelse infection <= 1 [set color blue ][set color 126]] ] ] end to watch-an-infected-person watch one-of turtles with [color > 22 and color < 28] end to find-max-daily-cases if count turtles with [color > 22 and color < 28] > max-daily-cases ;Count the infectious.If it is greater than the current record of max daily cases [set max-daily-cases count turtles with [color > 22 and color < 28]] ;update the max daily case end
There are 5 versions of this model.
This model does not have any ancestors.
This model does not have any descendants.