Team:UFSCar-Brasil/part3.html

Kill Switch Modelling

How to ensure the Bug Shoo biosafety?

Curve fitting

Based on laboratory experiments was possible to plot a standard curve of fluorescence as a function of Green Fluorescent Protein (GFP) concentration. This adjustment was essential to facilitate the process of obtaining the GFP molecules production rate just using the fluorescence values obtained in lab.

The equation that better fitted the fluorescence standard curve points was linear: $$ F_{luo}=a[GFP]+b \tag{1}$$

Where: parameters a and b are constants, [GFP] is GFP concentrations given in nM and \(F_{luo}\) is fluorescence in arbitrary units.

Figure 1: Linear fitting of GFP concentrations versus fluorescence.

The Figure 1 fitting constants results and their respective uncertainties is described in Table 1 in appendix. The result was: $$ F_{luo}=113[GFP]+94 \tag{2}$$

For further analyses, we will transform this equation to GFP molecules number per hour, resulting in the following equation: $$ F_{luo}=1.85*10^{⁻13}[GFP]+117 \tag{3}$$

Using the lab results of promoters characterization, respectivelly, pUspA and pJ23101, we fitted the GFP molecules production rate in function of PEG 6000 concentration with a exponential function: \(y=y_0+Ae^{R_0x}\) and made the Figure 2.

Figure 2: Exponential fitting of GFP molecules number per hour as a function of PEG 6000 concentration to promoters uspA and J23101.

Both curves have a coefficient of determination value of \(r^2\) = 0.97, meaning almost 97% of the experimental dots described by this fit. Moreover, the constants uncertainties are relatively low for both adjustment as can be seen in the Tables 2 and 3 in appendix.

The exponential fitting curve for uspA promoter: $$ GFP_{ih}= 1,51* 10^{16}e^{-0,106[PEG]} \tag{4}$$

And the exponential fitting curve for J23101 promoter: $$GFP_{ih}= 5,4*10^{15}e^{-0,082[PEG]} \tag{5}$$

However, we need to associate these values with osmotic pressure values, an universal measurement. So, it was used a set of equations described by Braccini et al. (1996). Through them, PEG 6000 concentration and temperature in the moment of the experiment were correlated to osmotic pressure. Where \(\psi_osm \) is osmotic pressure (bar), \(C\) represents PEG 6000 concentration (g/L) and \(T\) is environmental temperature given in Celsius degrees. $$ \psi_{osm}= -(1,18*10^{-2})C- (1,18*10^{-4})C^2+ (2,67*10^{-4})CT+(8,39*10^{-7})C²T\tag{6}$$

This possibilitates the creation of a new plot associating GFP and PEG values of Figure 2 with their respective values in osmotic pressure at 37ºC calculated by equation.

Figure 3: Exponential fitting of GFP molecules number per hour as a function of osmotic pressure for uspA and J23101 promoters at 37ºC.

Using the same exponential fitting applied in the PEG data, we reached to a coefficient of determination values of 0.92 for uspA and about 0.96 for J23101, according to Tables 4 and 5 in appendix. The new fitting equation for uspA promoter is:

$$ GFP_{ih}=2,3*10^{15}+(1,2*10^{16})e^{1,5\psi_{osm}}\tag{7}$$

And the for J23101 promoter is: $$ GFP_{ih}=9,6*10^{14}+(4,1*10^{15})e^{0,1\psi_{osm}}\tag{8}$$

Simulations and Results

Our main goal was to determine a model capable to explain \(Zn^{2+}\) concentration in cellular environment as a function of time. We have found one function that describes production of smtA and zur, proteins that associate with zinc, versus time. Thus we will consider that the smtA production would be equal to GFP produciton by uspA promoter, meaning that if we modeled GFP production versus time, it will be possible to use the same curve to describe smtA.

As we have not obtained specific experimental points to adjust an empiric curve, we will consider that the GFP molecules number in function of time is ruled by a logistic function, because is the behavior appearing in majority of promoter studies.

Logistic function:

$$f(x)=L/(1+e^{-k(x-x_0)})\tag{9}$$

Where: \(x_0\) is the \(x\) midpoint of the sigmoid curve, \(L\) the maximum value and \(k\) the slope of the curve in middle.

Thus the values funded for molecules number in equation (Eq. 4), that is referent to a stabilization of growth after four hours of experiment, was used as the saturation value \(L\) and the half-life \(x_0\) was half of the experiment time.

Table 6: of constants of equation (Eq. 9) used to model the Figure 4.

Constants Meaning Value
\(L\) Saturation value \(4(1.51*10^{16} ) e^{-0,106 [PEG] }\)
\(x_0\) Half-life time \(2h\)
\(k\) Slope \(1.5\)
Figure 4: GFP molecules curve as a function of time for different concentrations of PEG.

The code lines used in MatLab for making all the Figures in this report can be founded in appendix.

Observing Figure 4, we can observe that as lower PEG concentration is, a higher function growth in the number of GFP molecules will be. It is still possible to see a fast function growth in the early hours and reach a maximum after approximately four or five hours.

Possessing this equation that describes the smtA production, we will model another equations using the same logistic function for describe the zur protein production, but with the values obtained from the equation (Eq. 5), since it was promoted by J23101.

Table 7: of constants of equation (Eq. 9) used to model the Figure 5.

ConstantsMeaningValue
\(L\) Saturation value\(4(5.4*10^{15} ) e^{-0,082 [PEG] }\)
\(x_0\)Half-life time\(2h\)
\(k\)Slope \(1.5\)
Figure 5: Time versus Zur molecules number for different concentrations of PEG.

Similarly to what occurs with the smtA, the zur curve is growing rapidly in the early hours and reaches a plateau after approximately four hours and the lower the concentration of PEG is, the greater is this growth. Is worth emphasizing that even with a very similar behavior between the two curves, the zur molecules values is about ten times lower than the numbers of molecules referent to smtA graph.

Functions describing smtA and zur production along time were used to create an equation that explains the number of zinc ions in the external environment. We want to model the concentration of \(Zn^{2+}\) because intracellularly (after imported by the cell), it associates with zur and keep Zasp element blocked. In absence of that blocking, it starts the process of promotion and the killer genes downstream Zasp element trigger cell death. The decrease of number of free zinc ions in the intracellular environment is due to association of this metal with the smtA protein. This information is important to determine the lifetime of our bacteria (after starting, how long it will take to killswitch activate?) and if that time is enough to produce good amount of limonene.

According to the literature, each SmtA molecule binds to four zinc ions and each zur binds up to 6 zinc ions. When the number of produced zur molecules allied to SmtA exceeds the initial amount of zur in the cell, that ions:molecule ratio is undone due to molecular competition. Naturally, zur is active in gene repression bound up to 2 zinc ions. To model this behavior we will use the following function for zur: $$f(t)=(6-zur_0/zur(t))\tag{10}$$

Where: \(zur_0\) is the initial amount of zur in molecules and \(zur(t)\) quantity produced over time. Thus, the number of zinc decays according to the following equation: $$[Zn]_{total}=[Zn]_0-4[smtA(t)-K_{smtA}smtA(t)]-f(t)(zur_0+zur_p(t)-K_{zur}(zur_0+zur_p(t)))\tag{11}$$

Where: \([Zn]_{total}\) is the total amount of zinc over time, \([Zn]_0\) the amount of zinc initially,\(K_{smtA}\) is the smtA degradation rate, \(K_{zur}\) is the zur degradation rate, \(smtA(t)\) the function smtA over time given by Figure 4 and \(zur_p(t)\) function zur given by Figure 5.

Considering protein degradation rate same and equivalent for both, smtA and zur, are equal and they range from 2.5% to 6% per hour of the total amount according to Nath and Koch(1971). For this modeling, we considered the highest value of protein degradation, since the expression media in final product will be poor and could trigger proteolysis.

To find out what the initial values of zinc and zur must use for the amount of zinc fall to zero, we apply a limit for time going to infinity and make that equal to zero.

$$\lim_{t\rightarrow \infty}[Zn]_{total}(t)=0 \rightarrow Zn_0= 0,94[4L_{smt}+(6-L_{zur}/zur_0)(zur_0+L_{zur})] \tag{12}$$

Using Matlab, we simulate this curve for different PEG 6000 concentrations.

Figure 6: Initial zinc ions number values versus zur molecules for three different PEG 6000 concentrations.

For practical purposes we can discard negative values of number of zinc. With this relation, we took two values of each curve, one at the beginning and other at the end, for applying the equation (Eq. 11) and simulate the curves of zinc ions versus time for three different concentrations of PEG 6000.

Figure 7: Time versus zinc ions number simulations for three different concentrations of PEG 6000 with distinct initial values of zinc ions and zur molecules, according to Figure 6.

Figure 7 shows best PEG concentration values to bacterial survival longer and thus produce more limonene as between 5% and 10% of PEG. It is also possible to conclude that the bacteria will die after about 4 hours, depending on the initial values. This time can be extended a little up to about 5 hours, but not far beyond that, in this model conditions. If it is desired to further increase the time before the activation of Zasp element is necessary to increase the half-life value (\(x_0\)) of production of smtA and zur.

Conclusions

We noticed that the UspA promoter has higher activity than J23101 as evident from Figures 2 and 3. Thus, through adjustments in these points we were able to simulate decay of zinc ions in the cellular environment in function of time for three different PEG 6000 concentrations and also different initial conditions of zur and \(Zn^{2+}\). We conclude that with 5% PEG, Bug shoo will have the longest bacterial life time, about 4.5 hours to initial conditions \(2,297*10^{17}\) \(Zn^{2+}\) and \(9,168*10^{15}\) zur molecules. It is worth emphasize for 10% PEG 6000 concentration, we also have acceptable values of longevity about 4 hours. This time may be extended a little further increasing the initial conditions of zinc ions to values greater than \(2*10^{17}\), according to the curve of Figure 6. Since it is impossible to measure the PEG concentration of product layer above skin, we believe that final concentration of PEG will vary case to case, but will range 2%-15%. In this sense, the product longevity would be comparable to the commercial ones.

References

BRACCINI, A. L.; RUIZ, H. A.; BRACCINI, M. C. L.; REIS, M. S. 1996. Germinação e vigor de sementes de soja sob estresse hídrico induzido por soluções de cloreto de sódio, manitol e polietileno glicol. Revista Brasileira de Sementes 18(1): 10-16.

NATH, K. and KOCH, A. L. 1971. Protein degradation in Escherichia coli. J. Biol. Chem.: 6963.

Appendix

Table 1 – Standard fluorescence curve

Equation\(y = b + a*x\)
Adj. R-Square0.98361
ValueStandard Error
bIntercept94.6943233.4944
aSlope113.596775.53499

Table 2 – Exponential adjust of UspA data

Equation\(y = y0 + A*exp(R0*x)\)
Adj. R-Square0.9706
ValueStandard Error
Molucules per houry000
Molucules per hourA1.51417E165.97229E14
Molucules per hourR0-0.106070.00714

Table 3 – Exponential adjust of J23101 data

Equation\(y = y0 + A*exp(R0*x)\)
Adj. R-Square0.97452
ValueStandard Error
Molucules per houry000
Molucules per hourA5.41037E151.78762E14
Molucules per hourR0-0.081540.00489

Table 4 – Exponential adjust of UspA data under osmotic stress

Equation\(y = y0 + A*exp(R0*x)\)
Adj. R-Square0.91744
ValueStandard Error
Molucules per houry02.28776E156.55799E14
Molucules per hourA1.16517E161.04916E15
Molucules per hourR01.494510.36336

Table 5 – Exponential adjust of J23101 data under osmotic stress

Equation\(y = y0 + A*exp(R0*x)\)
Adj. R-Square0.96308
ValueStandard Error
Molucules per houry09.60063E141.84811E14
Molucules per hourA4.06364E152.40569E14
Molucules per hourR01.03360.17029

Code Lines

Code to produce Figure 4: GFP molecules curve as a function of time for different concentrations of PEG.
    
      clc
      clear all
      %-------------------- Constants Values -----------------
      L5=4*8.7670*10^15; %max value for 5% PEG
      L10=4*5.2420*10^15; %max value for 10% PEG
      L15=4*3.035*10^15; %max value for 15% PEG
      k=1.5; %inclination
      X=2; %half-life
      %-------------------------------------------------------
      x5=0:0.1:7
      x10=x5;
      x15=x10;
      y5=L5./(1+exp(-k*(x5-X)));
      y10=L10./(1+exp(-k*(x10-X)));
      y15=L15./(1+exp(-k*(x15-X)));
      plot(x5,y5,x10,y10,x15,y15);
  
      xlabel('Time in hours');
      ylabel('GFP molecules');
      legend('5% PEG','10% PEG','15% PEG');
    
  
Code to produce Figure 5: Zur versus time
    
      clc
      clear all
      %-------------------- Constants Values -----------------
      L5=4*3.554703*10^15; %max value for 5% PEG
      L10=4*2.393924*10^15; %max value for 10% PEG
      L15=4*1.572847*10^15; %max value for 15% PEG
      k=1.5; %inclination
      X=2; %half-life
      %-------------------------------------------------------
      x5=0:0.1:6
      x10=x5;
      x15=x10;
      y5=L5./(1+exp(-k*(x5-X)));
      y10=L10./(1+exp(-k*(x10-X)));
      y15=L15./(1+exp(-k*(x15-X)));
      plot(x5,y5,x10,y10,x15,y15);
      xlabel('Time in hours');
      ylabel('Zur molecules');
      legend('5% PEG','10% PEG','15% PEG');
    
  
Graph 6 code Zur variation
    
      clc
      clear all
      k=1.5; %lower the value, more time it takes to reach plateau
      t0=2; %half-life time 
      degra= 6/100;
      Zur0=4*10.^14:10.^10:1*10.^16;
      %------------------ Values 15% PEG ---------------
      Lsmt15=4*3.035*10^15;
      Lzur15=4*1.572847*10^15;
      %--------------------------------------------------
  
      %------------------ Values 10% PEG ---------------
      Lsmt10=4*5.2420*10^15;
      Lzur10=4*2.393924*10^15;
      %--------------------------------------------------
  
      %------------------ Values 5% PEG ---------------
      Lsmt5=4*8.7670*10^15;
      Lzur5=4*3.554703*10^15;
      %--------------------------------------------------
  
      Zn01=0.94.*(4*Lsmt15+(6-Lzur15./Zur0).*(Zur0+Lzur15));
      Zn02=0.94.*(4*Lsmt10+(6-Lzur10./Zur0).*(Zur0+Lzur10));
      Zn03=0.94.*(4*Lsmt5+(6-Lzur5./Zur0).*(Zur0+Lzur5));
      plot(Zur0,Zn01,Zur0,Zn02,Zur0,Zn03);
      xlabel('Zur Molecules');
      ylabel('Number of Zinc ions');
      legend('15 % PEG','10 % PEG','5 % PEG');
    
  
Code to produce Figure 7: Zinc ions versus time
    
      clc
      clear all
      t=0:0.1:6;
      k=1.5; %lower the value, more time it takes to reach plateau
      t0=2; % half-life time
      degra= 6/100; % degradation rate
  
      %--------------Initial Values For Zur and Zn -- 15% --------
  
      Z0115=6.7*10.^16;
      zur0115=1.94*10.^15;
      Z0215=1.23*10.^17;
      zur0215=9.228*10.^15;
      %--------------------------------------------------------
  
      %--------------Initial Values For Zur and Zn -- 10% --------
      Z0110=1.66*10.^17;
      zur0110=9.19*10.^15;
      Z0210=9.116*10.^16;
      zur0210=1.96*10.^15;
      %--------------------------------------------------------
  
      %--------------Initial Values For Zur and Zn -- 5% ------
      Z0105=2.297*10.^17;
      zur0105=9.168*10.^15;
      Z0205=1.138*10.^17;
      zur0205=1.97*10.^15;
      %--------------------------------------------------------
  
      %------------------ Values 15% PEG ---------------
      Lsmt15=4*3.035*10^15;
      Lzur15=4*1.572847*10^15;
      yzur15=Lzur15./(1+exp(-k*(t-t0))); % zur curve
      ysmt15=Lsmt15./(1+exp(-k*(t-t0))); % smt curve
      %--------------------------------------------------
  
      %------------------ Values 10% PEG ---------------
      Lsmt10=4*5.2420*10^15;
      Lzur10=4*2.393924*10^15;
      yzur10=Lzur10./(1+exp(-k*(t-t0))); %zur curve
      ysmt10=Lsmt10./(1+exp(-k*(t-t0))); %smt curve
      %--------------------------------------------------
  
      %------------------ Values 5% PEG ---------------
      Lsmt5=4*8.7670*10^15;
      Lzur5=4*3.554703*10^15;
      yzur5=Lzur5./(1+exp(-k*(t-t0))); %zur curve
      ysmt5=Lsmt5./(1+exp(-k*(t-t0))); %smt curve
      %--------------------------------------------------
      Znt1=Z0115-4*(1-degra)*(ysmt15)-(6-yzur15./zur0115)*(1-degra).*(zur0115+yzur15);
      Znt2=Z0110-4*(1-degra)*(ysmt10)-(6-yzur10./zur0110)*(1-degra).*(zur0110+yzur10);
      Znt3=Z0105-4*(1-degra)*(ysmt5)-(6-yzur5./zur0105)*(1-degra).*(zur0105+yzur5);
      Znt4=Z0215-4*(1-degra)*(ysmt15)-(6-yzur15./zur0215)*(1-degra).*(zur0215+yzur15);
      Znt5=Z0210-4*(1-degra)*(ysmt10)-(6-yzur10./zur0210)*(1-degra).*(zur0210+yzur10);
      Znt6=Z0205-4*(1-degra)*(ysmt5)-(6-yzur5./zur0205)*(1-degra).*(zur0205+yzur5);
      plot(t,Znt1,t,Znt2,t,Znt3,t,Znt4,t,Znt5,t,Znt6);
      xlabel('Time in hours');
      ylabel('Number of Zinc ions');
      legend('Zn_0=6.7 10^{16}; Zur_0=1.94 10^{15}; PEG 15% ','Zn_0=1.66 10^{17}; Zur_0=9.19 10^{15}; PEG 10%',...
      'Zn_0=2.297 10^{17}; Zur_0=9.168 10^{15}; PEG 05%','Zn_0=1.23 10^{17}; Zur_0=9.228 10^{15}; PEG 15%',...
      'Zn_0=9.116 10^{16}; Zur_0=1.96 10^{15}; PEG 10%','Zn_0=1.138 10^{17}; Zur_0=1.97 10^{15}; PEG 05%')
    
  

Our amazing sponsors!