You are on page 1of 23

GILLESPIE SIMULATION OF LUX OPERON BIOLUMINESCENT OUTPUT IN E.

COLI WITH
DIFFERENT PROMOTER ARRANGEMENTS
Jane Shmushkis
BE567 Spring 2017

Abstract
The lux operon is a widely used reporter to detect toxins and mark tumors in animal models. Vectors to deliver
this operon often contain all five lux genes (luxA, luxB, luxC, luxD, and luxE) for needed for a bioluminescent
reporter on one promoter due to its small genetic payload and independence. However, what remains unknown is
whether splitting lux genes between promoters (inducible and constitutive) would yield favorable trends in
luminescent output, including higher peak or greater cumulative luminescence over time. This work modeled the
luxCDABE operon using the Gillespie simulation coded in MATLAB. It simulated bioluminescent output in
systems where all genes were under an inducible promoter, all were under a constitutive promoter, luxA/B were
under inducible while luxC/D/E were under constitutive, and vice versa. Peak luminescence, time to peak
luminescence, and cumulative luminescence were quantified for each model. The effect of induction time and
ratio of inducer on resulting light intensity was explored in a split lux system. This work found the split lux
system yielded the highest peak and cumulative luminescence. However, the all-inducible promoter reached its
peak the fastest. An induction timed with the peak number of LuxC/D/E proteins yielded the most luminescence.
Increasing the number of active genes for any genes under constitutive promoter control appeared to decrease
luminescence. Future works should explore effects of degradation tags and promoters of different strengths on
this system. luxG, a gene shown to increase substrate availability for the luciferase reaction, could also be added
to the model.

1
 
Table of contents

1. Introduction
1.1 Background & Significance p. 3
1.2 Specific Aims p. 3

2. Results
2.1 Luminescence output in operon driven by inducible promoter v. constitutive promoter p. 4
2.2 Luminescence output when operon split between inducible and constitutive promoters
2.2.1 Comparing split models p. 6
2.2.2 Comparing split to all-under-one promoter models p. 8
2.3 Effect of induction time in split lux system on bioluminescent output p. 8
2.4 Effect of ratio of active gene to inducer on bioluminescent output p. 9

3. Discussion & Conclusion


3.1 Promoter arrangement can be used for select for experiment-specific luminescent outputs p. 10
3.2 Tuning induction time to reach higher peak expression levels p. 10
3.3 Inefficiency of tuning inducer active gene ratio to manipulate luminescence output p. 11
3.4 Future directions p. 11

4. Methods
4.1 Aim 1: Modeling inducible and constitutive driving of lux operon
4.1.1 Modeling inducible lux operon via Gillespie simulation p. 11
4.1.2 Modeling constitutive lux operon via Gillespie simulation p. 15
4.1.3 Assumptions p. 17
4.1.4 Data collection and statistical analyses p. 17
4.2 Aim 2: Modeling split lux promoter arrangement of operon
4.2.1 Modeling luxA/luxB on inducible promoter and luxCDE on constitutive promoter p. 17
4.2.2. Modeling luxA/luxB on constitutive promoter and luxCDE on inducible promoter p. 19
4.3 Aim 3: Investigating effect of induction time on split lux luminescence p. 20
4.4 Aim 4: Investigating effect of active gene to inducer ratio on luminescence p. 21

5. References p. 23

2
 
1. Introduction
1.1 Background & Significance
The luxA and luxB genes encode for luciferase. The alpha and beta subunits generated by these genes dimerize to
form the heterodimer for bioluminescence. Luminescence intensity is restricted by the availability of substrates
for luciferase production; these include reduced flavin mononucleotides (FMNH2), molecular oxygen, and long
chain fatty aldehydes/ Some of these substrates are encoded for by
other genes. LuxC, luxD, and luxE encode for the three protein
subunits of the long-chain fatty acid reductase complex. luxD acts
as a transferase, luxE acts as a synthetase, and luxC acts as a
reductase. Together, they provide the fatty aldehyde needed for the
luciferase reaction.1,2
Bioluminescence is a widely used reporter, including applications
is toxicity screening and tumor visualization in animal models.
Therefore, optimizing this system’s luminescence intensity would
increase usability.3 Bacterial bioluminescence can be achieved in
various strains through a vector containing luxCDABE under the
control of a single promoter with ribosomal binds sites between each gene. Although this circuit cuts download
the size of genetic payloads that much be successfully delivered, it is unclear whether incorporating all genes in
such a promoter arrangement is optimal for achieving the greatest cell
luminescence. In 2011, Yagur-Kroll and Belkin demonstrated that
splitting the lux operon between two plasmids increased luminescence.
The most luminescent circuit had luxA and luxB under the control of a
nalidixic acid-inducible promoter and luxC, luxD, and luxE driven by a
constitutive promoter.4 This suggests that aldehyde availability is the
limiting factor in the luciferase reaction. Gupta et al. corroborated that
the ratio of substrate to dimer subunits was suboptimal by
strengthening bioluminescent signal in S. cerevisiae through the co-
expression a gene that provides additional FMNH2 substrate.5

1.2 Specific Aims


This work aims to simulate how the luminescent out of the lux operon can be manipulated by changing the
promoter arrangement of the operon in a vector.

Aim 1. Investigate how bioluminescent output of the lux operon is altered when the entire operon is on an
inducible promoter versus a constitutive promoter
A Gillespie simulation will be performed in MATLAB with biologically relevant rates obtained from
BioNumbers. Simplified reaction schemes for the lux operon under inducible and constitutive promoter control
will be the basis for simulation code. The levels of each of the lux mRNA’s and protein will be monitored for a
six-hour simulation, and the number of luxA-luxB dimers will be correlated to bioluminescent output.
Hypothesis: Luciferase levels will be higher in the constitutive promoter model than in the inducible promoter
model.

Aim 2. Investigate how bioluminescent output is altered when the lux operon is split between constitutive and
inducible promoters
The Gillespie simulation of the lux operon developed in Aim 1 will be modified to have luxA and luxB
on one plasmid driven by an inducible promoter and luxC, luxD, and luxE driven by a constitutive
promoter on a second vector. Then, a simulation with the alternate arrangement (luxA and luxB on the
constitutive promoter) will be constructed. The levels of mRNA, protein, and luciferase will be
monitored for a six-hour simulation. Luminescent output will be compared between all four models,
including peak luminescence, end luminescence, and cumulative luminescence.

3
 
Hypothesis: The split lux system with luxA and luxB under the inducible promoter will yield the
greatest cumulative and peak luminescence of all four modeled promoter configurations.

Aim 3. Investigate how the time of induction of the split lux system affects the bioluminescent output of the system
The modeled lux operon with the greatest luminescent output (that also has an inducible promoter) will
be manipulated to see how the induction time effects cumulative luminescence, peak luminescence, time
to peak luminescence, and end luminescence.
Hypothesis: Delaying induction by two hours will allow luxC, luxD, and luxE to accumulate, allowing
for a higher burst of dimerization upon induction and a faster time to peak post-induction.

Aim 4. Investigate how the ratio of active gene (for constitutive promoter activation) to inducer (for inducible
promoter activation) affects bioluminescent output of the system
For the split lux system with the greatest bioluminescent output, the amount of active gene will be increased by a
factor of ten at a time to determine how the ratio of active gene to inducer effects the measured luminescence
parameters.
Hypothesis: A ratio of active gene to inducer that is closer to one will yield a greater cumulative luminescence
because of the increased availability of the constitutive promoter to produce mRNA continually throughout the
simulation.

2. Results
2.1 Luminescence output in operon driven by inducible promoter v. constitutive promoter
First, the simulation was setup for a lux operon under an inducible promoter. The following is a single simulation
run; mean, standard deviation, and coefficient of variation of five runs are reported below.

Figure 3. Gillespie simulation of arabinose-inducible lux operon model

4
 
Note how the luciferase levels peak close to two hours and taper off to around 4e5 molecules by six hours. Next,
the simulation was setup and run for a lux operon with all genes under a single constitutive promoter.

Figure 4. Gillespie simulation of constitutively expressed lux operon model

Note that the levels of luciferase continue to grow almost linearly throughout the six-hour simulation.
Additionally, the levels of mRNA are more variable in the constitutive scenario. In the inducible case, the
mRNAs appear to follow a Poisson trend.
Table 5a. Means of simulated all-constitutive v. all-inducible lux operon, n=5, steps = 50
lux promoter end luminescence peak luminescence time of peak cumulative
configuration (RLU) (RLU) (minutes) luminescence (RLU)

all inducible 352110 5.27E+05 112.656 2.07E+07

all constitutive 5503 5529.4 357.828 2.87E+05

Table 5b. Standard deviation of simulated all-constitutive v. all-inducible lux operon, n=5, steps = 50
lux promoter end luminescence peak luminescence time of peak cumulative
configuration (RLU) (RLU) (minutes) luminescence (RLU)

all inducible 13702 13683 4.24176 6.07E+05

all constitutive 382.65 401.5 1.87E+00 24633

5
 
Table 5c. Coefficient of variation of simulated all-constitutive v. all-inducible lux operon, n=5, steps = 50
lux promoter end luminescence peak luminescence time of peak cumulative
configuration (RLU) (RLU) (minutes) luminescence (RLU)

all inducible 0.038915 0.025963 0.037653 2.95E-02

all constitutive 0.069535 0.072612 5.23E-03 0.085689

The inducible promoter has a much greater end luminescence and peak luminescence. However, the cumulative
luminescence for the constitutive promoter is greater. The inducible promoter reaches its peak faster, which
constitutive promoter luminescence grows continuously. The inducible model also has less variability in its
cumulative luminescence compared to the constitutive model.

2.2 Luminescence output when operon split between inducible and constitutive promoters
2.2.1 Comparing split models
The Gillespie simulation of the lux operon developed earlier was be modified to have luxA and luxB on
one plasmid driven by an inducible promoter and luxC, luxD, and luxE driven by a constitutive
promoter on a second vector. The following is a single simulation run; mean, standard deviation, and
coefficient of variation of five runs are reported below.

Figure 6. Simulation of luxA/B on inducible promoter + luxC/D/E on constitutive promoter in lux operon system

Note that this system, similarly to the all-inducible model, peaks just before two hours and drops down
to about 4e5 by the end of the six hours. However, luxCDE has the more variable mRNA levels of the
constitutive model, and luxA/B mRNA levels are similar to those in the inducible model.
Next, a simulation with the alternate arrangement (luxA and luxB on the constitutive promoter) was run.

6
 
Figure 7. Simulation of luxA/B on constitutive promoter + luxC/D/E on inducible promoter in lux operon system

Note that the luciferase levels begin to plateau slightly by the end of the simulation; however, the trend appears to
be more similar to the all constitutive model. The appropriate trends in mRNA levels for each gene were
observed.
Table 8a. Means of simulated split lux operon models, n=5, steps = 50
lux promoter end luminescence peak luminescence time of peak cumulative
configuration (RLU) (RLU) (minutes) luminescence (RLU)

AB ind, 3.44E+05 5.20E+05 107.268 2.01E+07


CDE const
AB const, 5173.4 5173.4 352.656 1.36E+05
CDE ind

Table 8b. Standard deviation of simulated split lux operon models, n=5, steps = 50
lux promoter end luminescence peak luminescence time of peak cumulative
configuration (RLU) (RLU) (minutes) luminescence (RLU)

AB ind, 21153 26894 4.02384 9.53E+05


CDE const
AB const, 267.26 267.26 3.40E-03 7081.4
CDE ind

7
 
Table 8c. Coefficient of variation of simulated split lux operon models, n=5, steps = 50
lux promoter end luminescence peak luminescence time of peak cumulative
configuration (RLU) (RLU) (minutes) luminescence (RLU)

AB ind, 0.061488 0.051727 0.0375126 0.047366


CDE const
AB const, 0.05166 0.05166 9.64E-06 0.051905
CDE ind

Note that the model with luxA/B on the inducible promoter has about a 10X greater peak than the model with
luxA/B on a constitutive promoter. The luxA/B inducible model also has a faster peak time. The luxA/B
consistutuive model continuously grows, as is the case with the all-constitutive model. Both models have about
the same variability in end luminescence, peak luminescence, and cumulative luminescence.
2.2.2 Comparing split to all-under-one promoter models
Plots were generated to visualize different in the parameters measured between all four models.

A B

Figure 9. Mean, SD, [a] and CV [b] of each parameter across all four modeled lux operon arrangements

Note that figure 9a is on a log scale. Ultimately, the all inducible and luxA/B inducible promoters have the
greatest end luminescence, peak luminescence, and cumulative luminescence. However, the luxA/B inducible
promoter has greater variability in these parameters. Evaluations from this point forward focus on the split lux
system of luxA/B inducible + luxCDE constitutive.

2.3 Effect of induction time in split lux system on bioluminescent output


The effect of induction time after simulation start time was investigated because luxCDE was not at its peak at the
start of the simulation. Inducing with arabinose increases the number of luxA and luxB molecules, and, if well-
timed with the luxCDE peak, could increase peak bioluminescent output. The below figures were generated by
starting the simulation at 0 arabinose molecules, and, at the respective time, increasing the arabinose molecules to
1000 (as if to induce).

8
 
A B

C
D

Figure 10. Relationship between induction time and luminescence parameters in split lux operon

The end luminescence increased with the induction. The peak luminescence was greatest at 1.8776h although it
appears to plateau around 1h. The time of the peak did not change based on induction time. Total luminescence
largely decreased as induction occurred later in the simulation with a peak total at 1h.
2.4 Effect of ratio of active gene to inducer on bioluminescent output
Adjusting induction concentration or tuning gene copy number are parameters that could be tuned to yield
particular luminescence parameters. Furthermore, it was considered that the smaller number of active genes could
cause the simulation to favor inducible models. Therefore, the number of active genes was increased in a number
of simulations to reduce the ratio of inducer to active gene.

9
 
A B

C
D

Figure 11. Relationship between ratio of inducer to active gene and luminescence parameters in split lux operon

The end luminescence appeared to slightly increase end luminescence at the ratio increased. This suggests that
less active gene could actually increase light output. Peak induction time was much higher with a smaller number
of active gene. However, peak and cumulative luminescence appeared to only slightly increase as the number of
genes decreased.
3. Discussion & Conclusion
3.1 Promoter arrangement can be used for select for experiment-specific luminescent outputs
The promoter combination that performs best is dependent on the parameter a researcher deserves for a reporter.
If a researcher would like a faster time until peak luminescent output or greater sustained expression, a split lux
system with luxA and luxB on an inducible promoter and luxC,D,E on a constitutive promoter. This system had
higher luciferase levels at the end of the simulation, which indicates that the signal is more sustained. It also has a
shorter time until peak, which could be valuable if one requires a reporter that is quickly responsive to a particular
inducer. This likely occurred because the levels of luxCDE remaining consistent throughout the simulation,
preventing expression of the substrate from dipping as the arabinose degrades.
However, if a researcher needs a higher peak expression of more cumulative luminescence over a period of time,
the all-inducible arrangement of the lux operon is favorable. This makes sense because the peaks of the luxA,
luxB, and luxCDE mRNAs are the same throughout the simulation – because they are under the control of an
identical promoter. The split lux system also has a higher coefficient of variation across all the parameters
measured. Therefore, is an individual needs a reliable magnitude and time of a luminescence peak, they should
shy away from inducible promoters in their lux operon arrangement.
3.2 Tuning induction time to reach higher peak expression levels
The end luminescence increased with induction time, which makes sense since a later induction time would leave
less time for mRNA and protein degradation. This also explains the decreasing totally luminescence with later
induction times – there is just not as much time to produce luciferase dimers. The peak luminescence appears to
be steady with increasing induction time. Any time after 1-hour yielded approximately the same luminescence
peak. This makes sense because the levels of luxCDE mRNA remain consistent after about the first thirty minutes
due to the constitutive promoter. However, it was expected that the 1.8776 induction would have a much greater
luminescence since that time is when the LuxCDE protein levels peak. In future analysis, the growth stage at

10
 
which the cell is induced would likely affect these parameters differently as induction time occurs later in the
sigmoid growth curve.
3.3 Inefficiency of tuning inducer active gene ratio to manipulate luminescence output
Overall, the ratio did not have a strong correlation to the luminescence parameters. The ratio of 10 had the
greatest variability. This makes sense because of the larger difference in the number of inducer molecules and
active genes but also the fact that the number of active genes is no longer one (as in the case with the 1000 ratio).
However, all parameters increased at the 1000 ratio. This is interested because it was expected that having a larger
number of active genes in the smaller ratios would yield more luminescent output and higher peaks.
3.4 Future directions
This model is extremely simplified; therefore, future models could account for the optical density of the cells at
the time of induction. Responsively to the induction would definitely vary between lag and log phase growth. I
know from experience of using the lux operon in E. coli that inducing the culture with arabinose at an OD600 of
~0.3 to 0.4 yields higher luminescent outputs. Furthermore, the same transcription rates were used for both the
inducible and constitutive promoter. The next model should attempt to make specific promoter recommendations
for the lux operon. Also, the assumption was made that luxCDE were transcribed as a unit. Completing the
simulations on a machine with greater computing power would allow the luxC/luxD/luxE genes to be split up in
their transcription and translation rates. These genes could also be placed under the control of unique promoter in
future models. In terms of luciferase dimer to luminescence output correlation, this model assumes a 1:1 ratio.
However, one luciferase molecules probably does not equal 1 RLU on most spectrophotometer devices. The
ability the quantify the luminescence of one luciferase molecules and whether that scales linearly with multiples
luciferase molecules would strength this model in terms of accuracy. Future analyses should also include t-tests
to identify whether correlations are statistically significant. It was not tested whether the difference between the
arrangements was statistically significant. Furthermore, for aim3 and aim 4, no regression analyses were
performed to identify a correlation equation or whether that equation was significant.
4. Methods

4.1 Aim 1: Modeling inducible and constitutive driving of lux operon


4.1.1 Modeling inducible lux operon via Gillespie simulation
To investigate the behaviors of the genes and proteins in the lux operon when the entire operon is on an inducible
promoter, I began by setting up the following reaction scheme to represent the behavior of the widely-used lux
operon in reporter vectors - luxCDABE.

11
 
This scheme was then used to construct a Gillespie simulation in MATLAB [code below]. The simulation was set
to run for 360 minutes with 50 time steps within that frame.
%%AIM 1a: Arabinose Inducible Promoter
clear all
close all

%initialize values, initial conditions of molecule states


mol = [1000 0 0 0 0 0 0 0];
ara=mol(1);
a_m=mol(2);
b_m=mol(3);
cde_m=mol(4);
a_p=mol(5);
b_p=mol(6);
cde_p=mol(7);
luc=mol(8);

%defining reaction rate


rate = [3.054 0.1386 0.1386 0.1386 2.0016 2.0016 2.0016 0.000578 0.000578 0.000578 0.1695
.00385 .0693]; %rates all in molecules/minute
r.lux_mtran=rate(1); %luxABCDE transcription rate
r.A_mde=rate(2); %luxA mRNA degradation rate
r.B_mde=rate(3); %luxB mRNA degradation rate
r.CDE_mde=rate(4); %luxCDE mRNA degradation rate
r.A_ptran=rate(5); %luxA mRNA translation rate
r.B_ptran=rate(6); %luxB mRNA translation rate
r.CDE_ptran=rate(7); %luxCDE mRNA translation rate
r.A_pde=rate(8); %luxA protein degradation rate
r.B_pde=rate(9); %luxB protein degradation rate
r.CDE_pde=rate(10); %luxCDE protein degradation rate
r.AB_dim=rate(11); %luxA and luxB dimerization rate
r.AB_deg=rate(12); %luxAB dimer degradation/dissocation rate
r.ara_deg=rate(13); %arabinose degradation rate

%propensity functions

12
 
prop=@(m,r)[r.lux_mtran*m(1) r.A_mde*m(2) r.B_mde*m(3) r.CDE_mde*m(4) r.A_ptran*m(2)
r.B_ptran*m(3) r.CDE_ptran*m(4) r.A_pde*m(5) r.B_pde*m(6) r.CDE_pde*m(7)
r.AB_dim*(m(5)*m(6)*m(7)) r.AB_deg*m(8) r.ara_deg*m(1)];

%stoich matrix
stm=[0 0 0 0 0 0 0 0 0 0 0 0 -1; 1 -1 0 0 0 0 0 0 0 0 0
0 0; 1 0 -1 0 0 0 0 0 0 0 0 0 0; 1 0 0 -1 0 0 0 0 0 0 0
0 0; 0 0 0 0 1 0 0 -1 0 0 -1 0 0; 0 0 0 0 0 1 0 0 -1 0 -
1 0 0; 0 0 0 0 0 0 1 0 0 -1 0 0 0; 0 0 0 0 0 0 0 0 0 0
1 -1 0];

runs=5; %put how many runs of simulation you want


step=50; %put how many timesteps you want each run to have
end_time=360; %how many seconds you want sim to run for
%720 minutes chosen because want to run simulation for 6 h

peak_luc=zeros(runs,1);
peak_luc_time=zeros(runs,1);
end_luc=zeros(runs,1);
cum_luc=zeros(runs,1);

t_runs=zeros(runs,step);

out=linspace(0,end_time,step); %output trajectory


t=0;

for k=1:length(end_luc)
t=0; %initial time
j=1; %index
times=zeros(1,length(out)); %matrix to collect time snapshots
state=mol(:); %system state
results=zeros(length(mol),length(out)); %setup output matrix
results(:,1)=mol(:); % initialize reactants
while t<out(end)
%prop=[mol(1)*lambda mol(2)*gamma mol(2)*mu mol(3)*delta mol(3)*mu_p
mol(4)*delta_p];
alpha=feval(prop,state,r); %calculates propensity
alpha_o=sum(alpha); %total
tau=-(1/alpha_o)*log(rand()); %determing time interval tau using random number
i=sum(rand >= cumsum([0 alpha]/alpha_o));
state = state + stm(:,i);
times(j)=t+tau; %store times that results correspond to
t_runs=times(1,:); %stores times for each run
t=t+tau;
while j<=step && t>out(j)
results(:,j)=state;
j = j+1;
end
t_runs=times(1,:); %stores times for each run
[row col]=max(results(8,:)); %stores peak luciferase dimensions
peak_luc(k)=row; %stores peak luciferase values
peak_luc_time(k)=t_runs(col); %stores time of peak luciferase
end_luc(k)=results(8,step-1); %stores amount of luciferase after each simulation
run
cum_luc(k)=sum(results(8,:)); %stores cumulative luciferace output for each
simulation run
t=t+tau;
end
k=k+1;
end

results(:,end)=state; %stores the results of the last run


t_runs(:,end)=end_time; %inputs the last time at the end_time

%mean, SD, CV of luc


format shortG
end_stats=[mean(end_luc) std(end_luc) std(end_luc)/mean(end_luc)]
peak_luc_stats=[mean(peak_luc) std(peak_luc) std(peak_luc)/mean(peak_luc)]
13
 
peak_time_stats= [mean(peak_luc_time) std(peak_luc_time)
std(peak_luc_time)/mean(peak_luc_time)]./60
cum_luc_stats=[mean(cum_luc) std(cum_luc) std(cum_luc)/mean(cum_luc)]

figure
subplot(3,3,1)
plot(out./60,results(1,:))
xlabel('Time (hours)');
ylabel('Number arabinose molecules')

subplot(3,3,2)
plot(out./60,results(2,:))
xlabel('Time (hours)');
ylabel('Number luxA mRNA')

subplot(3,3,3)
plot(out./60,results(3,:))
xlabel('Time (hours)');
ylabel('Number luxB mRNA')

subplot(3,3,4)
plot(out./60,results(4,:))
xlabel('Time (hours)');
ylabel('Number luxCDE mRNA')

subplot(3,3,5)
plot(out./60,results(5,:))
xlabel('Time (hours)');
ylabel('Number luxA proteins')

subplot(3,3,6)
plot(out./60,results(6,:))
xlabel('Time (hours)');
ylabel('Number luxB proteins')

subplot(3,3,7)
plot(out./60,results(7,:))
xlabel('Time (hours)');
ylabel('Number luxCDE proteins')

subplot(3,3,8)
plot(out./60,results(8,:))
xlabel('Time (hours)');
ylabel('Number luciferase dimers')

Additionally, below is a cleaner version of the stoichiometric matrix used in the Gillespie setup.
Molecule lux_mtran A_mde B_mde CDE_mde A_ptran B_ptran CDE_ptran A_pde B_pde CDE_pde AB_dim AB_deg ara_deg

ara 0 0 0 0 0 0 0 0 0 0 0 0 -1

a_m 1 -1 0 0 0 0 0 0 0 0 0 0 0

b_m 1 0 -1 0 0 0 0 0 0 0 0 0 0

cde_m 1 0 0 -1 0 0 0 0 0 0 0 0 0

a_p 0 0 0 0 1 0 0 -1 0 0 -1 0 0

b_p 0 0 0 0 0 1 0 0 -1 0 -1 0 0

cde_p 0 0 0 0 0 0 1 0 0 -1 0 0 0

luc 0 0 0 0 0 0 0 0 0 0 1 -1 0

The following values were estimated using values from BioNumbers and used for the rates in the Gillespie
simulation.

14
 
Rate Quantified
Rate Description Variable Name
(molecules min-1)

luxA, luxB, and luxCDE lux_mtran 3.0547


transcription
luxA mRNA degradation A_mde .13868

luxaB mRNA degradation B_mde .1386

luxCDE mRNA degradation CDE_mde .1386

luxA translation A_ptran 2.00169,10

luxB translation B_ptran 2.0016

luxCDE translation CDE_mtran 2.0016

luxA protein degradation A_pde .00057811

luxB protein degradation B_pde .000578

luxCDE protein degradation CDE_pde .000578

AB dimerization AB_dim .169512

AB degradation AB_degrad .0038513

Arabinose degradation ara_deg .0069314

All rates were calculated based on values from BioNumbers. For protein production rates, the values were
adjusted by 0.8 to account for the probability of ribosome binding within a cell.10

4.1.2 Modeling constitutive lux operon via Gillespie simulation


The following reaction scheme was developed for the constitutive promoter model.

15
 
Note, that the only difference between this simulation and the inducible promoter simulation is the gene does not
get inactivated (where in the inducible version, the arabinose degrades). To account for this, the amount of active
gene was set to just 1 whereas the number of arabinose molecules was get the 1000 at the start of the simulation.
This scheme was used to make the below modifications to the MATLAB code from the inducible Gillespie
simulation.

%% AIM 1b: Constitutive Promoter


%initialize values, initial conditions of molecule states
mol = [1 0 0 0 0 0 0 0]; %no arabinose molecules
active_gene=mol(1); %one active copy of gene instead of arabinose molecules
a_m=mol(2);
b_m=mol(3);
cde_m=mol(4);
a_p=mol(5);
b_p=mol(6);
cde_p=mol(7);
luc=mol(8);

%defining reaction rate


rate = [3.054 0.1386 0.1386 0.1386 2.0016 2.0016 2.0016 0.000578 0.000578 0.000578 0.1695
.00385]; %rates all in molecules/minute
r.lux_mtran=rate(1); %luxABCDE transcription rate
r.A_mde=rate(2); %luxA mRNA degradation rate
r.B_mde=rate(3); %luxB mRNA degradation rate
r.CDE_mde=rate(4); %luxCDE mRNA degradation rate
r.A_ptran=rate(5); %luxA mRNA translation rate
r.B_ptran=rate(6); %luxB mRNA translation rate
r.CDE_ptran=rate(7); %luxCDE mRNA translation rate
r.A_pde=rate(8); %luxA protein degradation rate
r.B_pde=rate(9); %luxB protein degradation rate
r.CDE_pde=rate(10); %luxCDE protein degradation rate
r.AB_dim=rate(11); %luxA and luxB dimerization rate
r.AB_deg=rate(12); %luxAB dimer degradation/dissocation rate

%propensity functions
prop=@(m,r)[r.lux_mtran*m(1) r.A_mde*m(2) r.B_mde*m(3) r.CDE_mde*m(4) r.A_ptran*m(2)
r.B_ptran*m(3) r.CDE_ptran*m(4) r.A_pde*m(5) r.B_pde*m(6) r.CDE_pde*m(7)
r.AB_dim*(m(5)*m(6)*m(7)) r.AB_deg*m(8)];

%stoich matrix
stm=[0 0 0 0 0 0 0 0 0 0 0 0; 1 -1 0 0 0 0 0 0 0 0 0
0; 1 0 -1 0 0 0 0 0 0 0 0 0; 1 0 0 -1 0 0 0 0 0 0 0
0; 0 0 0 0 1 0 0 -1 0 0 -1 0; 0 0 0 0 0 1 0 0 -1 0 -
1 0; 0 0 0 0 0 0 1 0 0 -1 0 0; 0 0 0 0 0 0 0 0 0 0
1 -1 ];

The stoichiometric matrix for the constitutive setup is available below.


Molecule lux_mtran A_mde B_mde CDE_mde A_ptran B_ptran CDE_ptran A_pde B_pde CDE_pde AB_dim AB_deg

active_gene 0 0 0 0 0 0 0 0 0 0 0 0

a_m 1 -1 0 0 0 0 0 0 0 0 0 0

b_m 1 0 -1 0 0 0 0 0 0 0 0 0

cde_m 1 0 0 -1 0 0 0 0 0 0 0 0

a_p 0 0 0 0 1 0 0 -1 0 0 -1 0

b_p 0 0 0 0 0 1 0 0 -1 0 -1 0

cde_p 0 0 0 0 0 0 1 0 0 -1 0 0

luc 0 0 0 0 0 0 0 0 0 0 1 -1

16
 
4.1.3 Assumptions
Several assumptions were made in this reaction scheme and the Gillespie simulation code. All values were
estimated for an E. coli system. The promoter type only affected the transcription rates of luxA, luxB, or luxCDE.
If luxA and luxB dimerize, there is luminescence, and one luciferase (luxA-luxB dimer) is equivalent to one
relative light unit (RLU). Hence, there is a 1:1 relationship between number of luciferase molecules and
luminescence output. The dimerization of luciferase can only occur is luxCDE is available; however, these
proteins are not used in the luciferase reaction. LuxCDE is also treated as a unit, with all three genes getting
transcribed and then translated together. In the simulation with the constitutive promoter, an active copy of all the
genes in the lux operon is available throughout the simulation; no inactivation rate is included. Lastly, the
inducible and constitutive promoters have the same rate of transcription; however, transcription of the inducible
promoter is governed by the availability of arabinose (the inducer in this situation). The transcription of the
constitutive is dependent on the active gene availability.

4.1.4 Data collection and statistical analyses


For each promoter arrangement of the lux operon, the simulation was run five times, and the mean, standard
deviation, and coefficient of variation for several parameters was calculated. These parameters included the
luminescence at the end of the simulation (6h), the peak luminescence, the time at which the peak luminescence
occurred, and the cumulative luminescence for the entirety of the 6h simulation. Screenshots were taken of one
run per modeled lux system.
4.2 Aim 2: Modeling split lux promoter arrangement of operon
4.2.1 Modeling luxA/luxB on inducible promoter and luxCDE on constitutive promoter
Reaction scheme used to develop Gillespie simulation code.

Modified MATLAB code for this simulation.


%initialize values, initial conditions of molecule states
mol = [1000 0 0 0 0 0 0 0 1]; %active gene added as last value in mol matrix

17
 
ara=mol(1);
a_m=mol(2);
b_m=mol(3);
cde_m=mol(4);
a_p=mol(5);
b_p=mol(6);
cde_p=mol(7);
luc=mol(8);
active_gene=mol(9);

%defining reaction rate


rate = [3.054 0.1386 0.1386 0.1386 2.0016 2.0016 2.0016 0.000578 0.000578 0.000578 0.1695
.00385 .0693 3.054]; %rates all in molecules/minute
r.AB_mtran=rate(1); %luxAB transcription rate
r.A_mde=rate(2); %luxA mRNA degradation rate
r.B_mde=rate(3); %luxB mRNA degradation rate
r.CDE_mde=rate(4); %luxCDE mRNA degradation rate
r.A_ptran=rate(5); %luxA mRNA translation rate
r.B_ptran=rate(6); %luxB mRNA translation rate
r.CDE_ptran=rate(7); %luxCDE mRNA translation rate
r.A_pde=rate(8); %luxA protein degradation rate
r.B_pde=rate(9); %luxB protein degradation rate
r.CDE_pde=rate(10); %luxCDE protein degradation rate
r.AB_dim=rate(11); %luxA and luxB dimerization rate
r.AB_deg=rate(12); %luxAB dimer degradation/dissocation rate
r.ara_deg=rate(13); %arabinose degradation rate
r.CDE_mtran=rate(14); %luxCDE transcription rate

%propensity functions
prop=@(m,r)[r.AB_mtran*m(1) r.A_mde*m(2) r.B_mde*m(3) r.CDE_mde*m(4) r.A_ptran*m(2)
r.B_ptran*m(3) r.CDE_ptran*m(4) r.A_pde*m(5) r.B_pde*m(6) r.CDE_pde*m(7)
r.AB_dim*(m(5)*m(6)*m(7)) r.AB_deg*m(8) r.ara_deg*m(1) r.CDE_mtran*m(9)];

%stoich matrix
stm=[0 0 0 0 0 0 0 0 0 0 0 0 -1 0; 1 -1 0 0 0 0 0 0 0
0 0 0 0 0; 1 0 -1 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 -1 0
0 0 0 0 0 0 0 0 1; 0 0 0 0 1 0 0 -1 0 0 -1 0 0 0; 0
0 0 0 0 1 0 0 -1 0 -1 0 0 0; 0 0 0 0 0 0 1 0 0 -1 0
0 0 0; 0 0 0 0 0 0 0 0 0 0 1 -1 0 0; 0 0 0 0 0 0 0
0 0 0 0 0 0 0];

The stoichiometric matrix for both split lux systems is available below.
Molecule AB_mtra A_md B_md CDE_m A_ptra B_ptra CDE_ptr A_pd B_pd CDE_p AB_di AB_de ara_de CDE_mtr
n e e de n n an e e de m g g an
ara 0 0 0 0 0 0 0 0 0 0 0 0 -1 0

a_m 1 -1 0 0 0 0 0 0 0 0 0 0 0 0

b_m 1 0 -1 0 0 0 0 0 0 0 0 0 0 0

cde_m 0 0 0 -1 0 0 0 0 0 0 0 0 0 1

a_p 0 0 0 0 1 0 0 -1 0 0 -1 0 0 0

b_p 0 0 0 0 0 1 0 0 -1 0 -1 0 0 0

cde_p 0 0 0 0 0 0 1 0 0 -1 0 0 0 0

luc 0 0 0 0 0 0 0 0 0 0 1 -1 0 0

active_ge 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ne

The same assumptions were made, and the same data collection and data analysis steps were taken. Please
reference 4.1.3 and 4.1.4.

18
 
4.2.2. Modeling luxA/luxB on constitutive promoter and luxCDE on inducible promoterReaction scheme used to
develop Gillespie simulation code.

Modified MATLAB code for this simulation.


%initialize values, initial conditions of molecule states
mol = [1000 0 0 0 0 0 0 0 1]; %active gene added as last value in mol matrix
ara=mol(1);
a_m=mol(2);
b_m=mol(3);
cde_m=mol(4);
a_p=mol(5);
b_p=mol(6);
cde_p=mol(7);
luc=mol(8);
active_gene=mol(9);

%defining reaction rate


rate = [3.054 0.1386 0.1386 0.1386 2.0016 2.0016 2.0016 0.000578 0.000578 0.000578
0.1695 .00385 .0693 3.054]; %rates all in molecules/minute
r.AB_mtran=rate(1); %luxAB transcription rate
r.A_mde=rate(2); %luxA mRNA degradation rate
r.B_mde=rate(3); %luxB mRNA degradation rate
r.CDE_mde=rate(4); %luxCDE mRNA degradation rate
r.A_ptran=rate(5); %luxA mRNA translation rate
r.B_ptran=rate(6); %luxB mRNA translation rate
r.CDE_ptran=rate(7); %luxCDE mRNA translation rate
r.A_pde=rate(8); %luxA protein degradation rate
r.B_pde=rate(9); %luxB protein degradation rate
r.CDE_pde=rate(10); %luxCDE protein degradation rate
r.AB_dim=rate(11); %luxA and luxB dimerization rate
r.AB_deg=rate(12); %luxAB dimer degradation/dissocation rate

19
 
r.ara_deg=rate(13); %arabinose degradation rate
r.CDE_mtran=rate(14); %luxCDE transcription rate

%propensity functions
prop=@(m,r)[r.AB_mtran*m(9) r.A_mde*m(2) r.B_mde*m(3) r.CDE_mde*m(4) r.A_ptran*m(2)
r.B_ptran*m(3) r.CDE_ptran*m(4) r.A_pde*m(5) r.B_pde*m(6) r.CDE_pde*m(7)
r.AB_dim*(m(5)*m(6)*m(7)) r.AB_deg*m(8) r.ara_deg*m(1) r.CDE_mtran*m(1)];

The same stoichiometric matrix was used as in 4.2.1. The same assumptions were made, and the same data
collection and data analysis steps were taken. Please reference 4.1.3 and 4.1.4.

4.3 Aim 3: Investigating effect of induction time on split lux luminescence


To change the induction time, the initial number of arabinose molecules was set to zero. In the while loop, after
the time at which the induction should occur passes, the number of arabinose molecules is adjusted to the 1000
molecules used for the other inductions.
The following modifications were made to the split lux operon code.
%initialize values, initial conditions of molecule states
mol = [0 0 0 0 0 0 0 0 1]; %active gene added as last value in mol matrix
ara=mol(1);
a_m=mol(2);
b_m=mol(3);
cde_m=mol(4);
a_p=mol(5);
b_p=mol(6);
cde_p=mol(7);
luc=mol(8);
active_gene=mol(9);

for k=1:length(end_luc)
t=0; %initial time
j=1; %index
times=zeros(1,length(out)); %matrix to collect time snapshots
state=mol(:); %system state
results=zeros(length(mol),length(out)); %setup output matrix
results(:,1)=mol(:); % initialize reactants
i=0; % counter to make sure induction only happens once
while t<out(end)
alpha=feval(prop,state,r);
alpha_o=sum(alpha); %total
tau=-(1/alpha_o)*log(rand()); %determing time interval tau using random number
i=sum(rand >= cumsum([0 alpha]/alpha_o));
state = state + stm(:,i);
times(j)=t+tau; %store times that results correspond to
t_runs=times(1,:); %stores times for each run
t=t+tau;
while j<=step && t>out(j)
results(:,j)=state;
j = j+1;
end
t_runs=times(1,:); %stores times for each run
[row col]=max(results(8,:)); %stores peak luciferase dimensions
peak_luc(k)=row; %stores peak luciferase values
peak_luc_time(k)=t_runs(col); %stores time of peak luciferase
end_luc(k)=results(8,step-1); %stores amount of luciferase after each simulation
run
cum_luc(k)=sum(results(8,:)); %stores cumulative luciferace output for each
simulation run
t=t+tau;
if t>120 & t<130 %small window after two-hour mark during which arabinose is added
state(1) = 1000;
end
end
20
 
k=k+1;
end

The time to which the inductions were shifted to were 0h, 1h, 1.8776h, 2h, and 4h after the start of the simulation.
1.8776h was selected because, in the all-inducible model, that was when the number of luxCDE proteins peaked.
The same assumptions were made, and the same data collection and data analysis steps were taken. Please
reference 4.1.3 and 4.1.4. Additionally, scatter plots were produced that correlated induction time to the collected
parameter values.
4.4 Aim 4: Investigating effect of active gene to inducer ratio on luminescence
It was considered that the greater number of arabinose molecules added in the induction phase could favor any
system with an inducible promoter. Furthermore, adjusting the ratio between the number of active genes and
arabinose concentration could be another knob to tune to achieve optimal luminescent output. Therefore, the
number of active genes at the start of the simulation was raised by a factor of 10 each time. The ratios of
arabinose molecules to active genes tested was 1000, 100, 10, and 1. All simulation were done with the luxA/B
inducible, luxC/D/E constitutive model.
The MATLAB code was modified in the below way.
%% AIM 4: Split lux System - shifted induction - changing ratio arabinose to active
gene
%induction after 1.8776 hours

%initialize values, initial conditions of molecule states


mol = [0 0 0 0 0 0 0 0 1000]; %active gene added as last value in mol matrix
%ratio adjusted by increasing number of active genes 10X each run
ara=mol(1);
a_m=mol(2);
b_m=mol(3);
cde_m=mol(4);
a_p=mol(5);
b_p=mol(6);
cde_p=mol(7);
luc=mol(8);
active_gene=mol(9);

%defining reaction rate


rate = [3.054 0.1386 0.1386 0.1386 2.0016 2.0016 2.0016 0.000578 0.000578 0.000578
0.1695 .00385 .0693 3.054]; %rates all in molecules/minute
r.AB_mtran=rate(1); %luxAB transcription rate
r.A_mde=rate(2); %luxA mRNA degradation rate
r.B_mde=rate(3); %luxB mRNA degradation rate
r.CDE_mde=rate(4); %luxCDE mRNA degradation rate
r.A_ptran=rate(5); %luxA mRNA translation rate
r.B_ptran=rate(6); %luxB mRNA translation rate
r.CDE_ptran=rate(7); %luxCDE mRNA translation rate
r.A_pde=rate(8); %luxA protein degradation rate
r.B_pde=rate(9); %luxB protein degradation rate
r.CDE_pde=rate(10); %luxCDE protein degradation rate
r.AB_dim=rate(11); %luxA and luxB dimerization rate
r.AB_deg=rate(12); %luxAB dimer degradation/dissocation rate
r.ara_deg=rate(13); %arabinose degradation rate
r.CDE_mtran=rate(14); %luxCDE transcription rate

%propensity functions
prop=@(m,r)[r.AB_mtran*m(1) r.A_mde*m(2) r.B_mde*m(3) r.CDE_mde*m(4) r.A_ptran*m(2)
r.B_ptran*m(3) r.CDE_ptran*m(4) r.A_pde*m(5) r.B_pde*m(6) r.CDE_pde*m(7)
r.AB_dim*(m(5)*m(6)*m(7)) r.AB_deg*m(8) r.ara_deg*m(1) r.CDE_mtran*m(9)];

21
 
%stoich matrix
stm=[0 0 0 0 0 0 0 0 0 0 0 0 -1 0; 1 -1 0 0 0 0
0 0 0 0 0 0 0 0; 1 0 -1 0 0 0 0 0 0 0 0 0 0
0; 0 0 0 -1 0 0 0 0 0 0 0 0 0 1; 0 0 0 0 1 0
0 -1 0 0 -1 0 0 0; 0 0 0 0 0 1 0 0 -1 0 -1 0 0
0; 0 0 0 0 0 0 1 0 0 -1 0 0 0 0; 0 0 0 0 0 0
0 0 0 0 1 -1 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0
0];

runs=3; %put how many runs of simulation you want


step=50; %put how many timesteps you want each run to have
end_time=360; %how many seconds you want sim to run for
%720 minutes chosen because want to run simulation for 6 h

peak_luc=zeros(runs,1);
peak_luc_time=zeros(runs,1);
end_luc=zeros(runs,1);
cum_luc=zeros(runs,1);

t_runs=zeros(runs,step);

out=linspace(0,end_time,step); %output trajectory


t=0;

for k=1:length(end_luc)
t=0; %initial time
j=1; %index
times=zeros(1,length(out)); %matrix to collect time snapshots
state=mol(:); %system state
results=zeros(length(mol),length(out)); %setup output matrix
results(:,1)=mol(:); % initialize reactants
i=0; % counter to make sure induction only happens once
while t<out(end)
alpha=feval(prop,state,r);
alpha_o=sum(alpha); %total
tau=-(1/alpha_o)*log(rand()); %determing time interval tau using random
number
i=sum(rand >= cumsum([0 alpha]/alpha_o));
state = state + stm(:,i);
times(j)=t+tau; %store times that results correspond to
t_runs=times(1,:); %stores times for each run
t=t+tau;
while j<=step && t>out(j)
results(:,j)=state;
j = j+1;
end
t_runs=times(1,:); %stores times for each run
[row col]=max(results(8,:)); %stores peak luciferase dimensions
peak_luc(k)=row; %stores peak luciferase values
peak_luc_time(k)=t_runs(col); %stores time of peak luciferase
end_luc(k)=results(8,step-1); %stores amount of luciferase after each
simulation run
cum_luc(k)=sum(results(8,:)); %stores cumulative luciferace output for
each simulation run
t=t+tau;
if t>(1.8776*60) & t<((1.8776*60)+10)
state(1) = 1000;
end
end
k=k+1;
22
 
end

The same assumptions were made, and the same data collection and data analysis steps were taken. Please
reference 4.1.3 and 4.1.4. Additionally, scatter plot were developed to visualize any trends between ratio and
luminescence parameter values.

5. References

1. Leon Yen-Cheng, and Meighen, Edward A. “Bacterial bioluminescence.” Biochemistry and Molecular
Biology. 25 Jan. 2009. Web. 18 March 2017. <http://photobiology.info/Lin.html>

2. Nijvipakul, Sarayut, et al. "LuxG is a functioning flavin reductase for bacterial luminescence." Journal of
bacteriology 190.5 (2008): 1531-1538.

3. Close, Dan, et al. "The evolution of the bacterial luciferase gene cassette (lux) as a real-time bioreporter."
Sensors 12.1 (2012): 732-752.

4. Yagur-Kroll, Sharon, and Shimshon Belkin. "Upgrading bioluminescent bacterial bioreporter


performance by splitting the lux operon." Analytical and bioanalytical chemistry 400.4 (2011): 1071-
1082.
5. Gupta, Rakesh K., et al. "Expression of the Photorhabdus luminescens lux genes (luxA, B, C, D, and E) in
Saccharomyces cerevisiae." FEMS yeast research 4.3 (2003): 305-313.

6. Close, Dan M., et al. "In vivo bioluminescent imaging (BLI): noninvasive visualization and interrogation
of biological processes in living animals." Sensors 11.1 (2010): 180-206.

7. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=100088&ver=13&trm=coli%20proteins

8. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=106869&ver=7&trm=mrna%20degradation%2
0rate

9. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=102043&ver=1&trm=ribosome%20binding%2
0probability

10. http://book.bionumbers.org/what--‐is--‐faster--‐transcription--‐or--‐translation/

11. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=111930&ver=2&trm=protein%20degradation%
20rate%20coli

12. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=105178&ver=4&trm=coli%20dimer

13. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=105184&ver=3&trm=luciferase%20coli

14. Yildirim, Necmettin. "Mathematical modeling of the low and high affinity arabinose transport systems in
Escherichia coli." Molecular BioSystems 8.4 (2012): 1319-1324.

23
 

You might also like