Modeling Infection Cycles and Plastic Degrading Activity
Modeling was an essential tool in our project for understanding the potential of our project to combat plastic pollution. By modeling how phages infect cells and cause them to produce our plastic-degrading enzymes, we can describe ideal conditions for optimal production and activity of PETase in environmental systems. The goal of the model, therefore, is to assess feasibility of the system given parameters related to phage infection. In addition, the model also assesses the potential ecological impact of our proposed solution.
This model is based on the model presented in Berreta et. al. The model simulates a population changes in cells and phage within a closed system by using differential equations to predict how populations of both phage and cells will fluctuate in marine conditions. We have supplemented the model with equations for modeling production and activity of PETase on plastic in an environment. Parameters are as follows:
Table 1: Parameters for Phage/Cell Lifetime Model
Using these parameters, we can develop the following equations modeling cell and phage populations in 1 liter of seawater:
S, I, and P represent populations of cells susceptible to infection by our phage, cells currently infected by phage, and the phage itself. The following graph represents populations of P, S, and I within a liter of seawater at 30C.
It is evident that phage naturally experiences a cycle of replication ending with elimination of phage in the environment. Thus, our project has an inherent biocontainment system in that the phage will not replicate and survive in the environment indefinitely. Note that this graph does not account for development of phage resistance, which would prevent populations of cells from reaching zero. Furthermore, P1 is a common phage already present in marine environments. Thus, we do not foresee any significant ecological shift when hypothetically applying our phage solution to the environment.
By modeling change in population of phage in a sample, we can estimate production of PETase particles by our construct. Furthermore, we can use this information, in conjunction with environmental temperature, to understand the theoretical rate at which the construct could function in a solution saturated with plastic compared to enzyme. The number of PETase molecules in solution vary according to the following equation:
b * λ * I – E * θ
This equation represents the production rate of phages in the sample (as production of PETase is directly linked to burst size) minus the number of PETase molecules that lose function per second due to denaturing by environmental factors. Concentration of PETase in sample varies as follows:
Concentration of PETase closely follows concentration of phage. Values increase, and then level out as phage is no longer present in the sample. After 24 hours, PETase begins to lose function over a long period as molecules denature due to environmental factors.
By modeling the infection cycle of a phage in addition to its ability to produce plastic-degrading enzymes via our packaging plasmid, we can further understand the potential for this delivery system. A phage-based method of expressing plastic-degrading enzymes is effective for producing large amounts of PETase and MHETase since this solution is scalable. Only two bacteriophages need to enter a single milliliter of seawater for a significant amount of our desired enzymes to be produced. It is important to note that while this model is designed to focus on PETase, it is easily applicable to our surfactant-producing plasmid, as well as the improved version of PETase and MHETase featured on the results page. Thus, our proposed phage solution to plastic and oil pollution in marine environments has strong potential as a major method for remediating both of these environmental problems.
# model for UT-Austin iGEM 2021 project.
# adapted from "Modeling and analysis of a marine bacteriophage infection" 1999
# this model will simulate the infection rate of P1 phage in a marine environment
# uses this info to simulate activity of PETase from engineered plasmid
# parameters are:
# N - bacterial cells / liter
# S - susceptible bacteria which are not yet infected
# I - already infected bacteria (NOTE: N = S + I)
# P - virions / liter
# C - carrying capacity of sample without virus
# K - avg. num of virions hitting bacterial cell surface / time unit, times chance of contact leading to DNA injection
# lambda - latency time between infection and lysis
# mew - death rate of virions due to assorted environmental factors
# b - avg. virions made per infection cycle per cell
# petaseDegradationConst - Units of PETase broken down per unit time.
# petaseEfficiency - Mass of plastic one PETase particle can degrade per unit time.
library(deSolve)
phageode <- function(t, y, p) {
with(as.list(c(y, p)), {
N = S + I
# change in susceptible cell pop.
dS <- alpha*S*((1-N)/C) - K*S*P
# change in infected cell pop.
dI <- K*S*P - lambda*I
# change in virion pop.
dP <- -1*K*S*P - mew*P + b*lambda*I
# change in number of PETase molecules in solution
dpetase <- b*lambda*I - petase*petaseDegradationConst
# rate at which PETase in solution can degrade plastic (moles PETase * efficiency)
# final value should be mass/time unit
dpetaseActivity <- petaseEfficiency * petase
return(list(c(dS,dI,dP,dpetase,dpetaseActivity))) # MAKE SURE TO RETURN ALL VALUES
})
}
# Values from Beretta et. al, divided to represent hours
userS = 2e+9
userlambda = 0.1375
useralpha = 0
userC = 2e+9
userK = 2.79e-9
usermew = 0.05583333
userI = 0
userP = 1
userb = 12
userDeg = 2.7777778e-9
userEff = 2
# initial values of cell, phage, and PETase count
yini <- c(S=userS,I=userI,P=userP,petase=0,petaseActivity=0)
# time sequence for when you want the ODE solver to give you the values of the variables
times <- seq(0,24)
# run ODE solver
results <- ode(yini, times, phageode, parms=c(K = userK, C = userC, lambda = userlambda, alpha = useralpha, mew =
usermew, b = userb, petaseDegradationConst=userDeg,petaseEfficiency=userEff))
# place data in dataframe for easier access
data <- as.data.frame(results)
library("ggplot2")
gfg_plot <- ggplot(data, aes(time),) +
geom_line(aes(y = I), color = "red") +
geom_line(aes(y = P), color = "purple")+
geom_line(aes(y=S), color = "blue")
gfg_plot + ggtitle("Phage and Cell Populations Over Time") + xlab("Time (Hours)")+ylab("Cells/Phage (Molar)")
gfg_plot <- ggplot(data, aes(time),) +
geom_line(aes(y = petase), color = "red")
gfg_plot + ggtitle("PETase molecules") + xlab("Time (Hours)")+ylab("PETase concentration (molar)")
gfg_plot <- ggplot(data, aes(time),) +
geom_line(aes(y = petaseActivity), color = "black")
gfg_plot + ggtitle("PETase Activity Rate") + xlab("Time (Hours)")+ylab("Product formation rate (unitless)")