Team:Vilnius-Lithuania/Measurement

MEASUREMENT

Header

Introduction

To construct an efficient naringenin biosynthesis pathway in probiotic bacteria, selected promoters strength in our chassis had to be evaluated. This was done by measuring the fluorescence of bacteria containing different promoters and sfGFP protein (BBa_K1365020). What is more, during the same set of experiments, mRNA cyclization (BBa_K3904217) performance was tested in our system.

Calibration

Before the actual experiments, we calibrated our measurements with an iGEM measurement kit according to the standard protocol. This calibration allowed choosing the most appropriate gain settings in the plate reader and standardizing our results.

Experiment

The protocol used for measurement of fluorescence and OD600.

Preparation of bacteria:

  1. Transform bacteria with plasmid containing your target genes.
  2. Pick three colonies from each plate and inoculate in 5 mL of LB medium with the right antibiotic.
  3. Make a 1:10 dilution of each overnight culture in LB medium with the right antibiotic.
  4. Measure OD600 and write down the values of OD600.
  5. Dilute the culture to 0.05 OD600 in an eppendorf tube. The sample is placed on ice.
  6. The samples should be laid out according to the plate down below:
Fig. 1. Fluorescence measurement plate

Measurement

At first, the fluorescence of E. coli Nissle 1917 bacteria containing pTRKH2+sfGFP and pTRKH2+loop+sfGFP plasmids with different promoters (Table 1) was measured.

Table. 1. Characterized promoters list
Part Name
BBa_K1033225 CP44 promoter
BBa_K1033222 CP29 promoter
BBa_K1033220 CP8 promoter
BBa_J23118 Anderson promoter
BBa_J23117 Anderson promoter
BBa_J23115 Anderson promoter
BBa_J23114 Anderson promoter
BBa_J23113 Anderson promoter
BBa_J23107 Anderson promoter
BBa_J23106 Anderson promoter
BBa_J23103 Anderson promoter

Since mRNA cyclization system performance was not as expected, we did a deeper analysis of the reference article [1] and decided to repeat the experiment while using longer sequence protein TAL fused with sfGFP. What is more, these measurements were conducted in E. coli DH5Α and at different temperatures of 37°C and 24°C, since during the construction of mRNA cyclization system, we noticed that it "activates" and begins to fluorescent after incubation at the room temperature.

Each experiment had three controls: positive – fluorescent E. coli DH5Α with J23101 Anderson promoter, negative – non-fluorescent bacteria, contamination – media with an antibiotic.

Overall, the detailed descriptions of the procedure can be found on our Experiments page.

Methodology

Functional data analysis

Functional data analysis (FDA) can be applied more and more broadly every year. At a high level, FDA arises when at least one of the variables is viewed as a function. When discrete data is made continuous, we can employ FDA for multivariate statistical analysis.

Smoothing

First, we define a set of functions - basis functions - that we will use to approximate discrete data. Secondly, we set up a matrix of coefficients to define the function as a linear combination of the basis functions. In our case, we have employed splines or monomial basis which is $$x(t) = \sum_{k=1}^{K} c_k \phi_k(t) = c'\phi(t)$$ written as

databasis = create.monomial.basis(c(measure_beginning, measure_ending),number_of_basis_functions)
data.fd = smooth.basis(y=data.matrix, fdParobj= databasis)

Statistical analysis

Next descriptive statistical tools can be used, for instance, we used mean and standard deviation to analyse the variability of the experiment. $$\overline{x}(t) = N^{-1}\sum_{i}x_i(t) \quad \text{and} \quad s(t) = (N-1)^{-1} \sum_{i} \left[ x_i(t) - \overline{x}(t) \right]^2.$$

FDA package has an immense number of built-in functions which can be found in the documentation.

mean = mean.fd(data.fd$fd)
std = std.fd(data.fd$fd)

# You can use basic mathematical operations to work with fd objects
two_std = mean + std * 2

Landmark registration and phase-plane plot

There are two kinds of variations: amplitude and phase. Amplitude variation is a variation when intensity of growth spurt varies and phase variation is a variation when growth spurt varies from process to process. To avoid amplitude variation we use landmark registration because we are interested in the shift that appears in multiple observations.

Landmark registration aligns a moment of time that indicates when the common trend started by estimating a strictly increasing nonlinear transformation of time. It takes all the moments of time into a common time value.

Phase-plane plot is a simple acceleration against velocity plot which can be used to determine maximum potential or kinetic energy to analyse similarity between groups in the experiment.

However, as we have seen in VapXD analysis, it is more useful for harmonic processes.

# Second parameter indicates a number of derivatives taken
Accel.fd = deriv.fd(data.fd$fd,2)
Accel_mean.fd= mean.fd(accel.fd)

# Vector to register the same point of every function
registration_vector = rep(0,number_of_processes)
time = seq(measure_beginning, measure_ending, length = measure_ending)

# Create a window to see the warping mutual point visually
par(mfrow = c(1,1))
for (icase in 1:number_of_processes) {
accveci = predict(accel.fd[icase], time)
windows()
plot(time, accveci, "l", ylim = c(measure_ylim_lower,measure_ylim_upper),
xlab="Time, h", ylab = "OD 600",
main=paste("Case", icase))
lines(c(measure_beginning, measure_ending), c(0,0), lty = 2)

# How many locators you want, in other word how many mutual points observed processes have in common
registration_vector [icase] = locator(1)
}

# Averaging registered values
registration_vector_means= mean(sapply(registration_vector , mean))

# Creating a basis for time transforming
wbasisLM = create.bspline.basis(c(measure_beginning, measure_ending), number_of_knots, number_of_functions, c(measure_beginning, registration_vector_means, measure_ending))
Wfd = fd(matrix(c(0:3)), wbasis)
WfdPar = fdPar(WfdLM,1,10^(-12))

# Putting everything to landmarker function
regList = landmarkreg(accel.fd, sapply(registration_vector,mean), registration_vector_means, WfdPar, TRUE)
reg_accel.fd = regList$regfd

# Find mean of already registered observations
accelmean.fd = mean.fd(reg_accel.fd)
warp.fd = regList$warpfd
W.fd = regList$Wfd

Linear regression to compare genome and plasmid cases

We have used a simple linear regression method to predict OD 600 level for plasmid and genome cases given an explanatory variable x in logarithmic base (log(x)) since the independent variable varies in a wide range from 2E-1 to 2E-6. Plasmid and genome models achieved high R scores 91.1 percent, 91.8 percent respectively which indicates that models explain more than 91 precent of variability.

Fig. 2. Linear regression plot
# Create linear regression for y-plasmid, genome data, x - initial OD 600
model_plasmid = lm(y[,1]~I(log(x)))
model_genoma = lm(y[,2]~I(log(x)))

plot(y = y[,1], x = log(x), xlab = "log(x)", ylab = "OD 600", main = "Linear regression on plasmid data", lwd = 4, col = cl[3])
abline(model_plasmid$coefficients, lwd = 3) # Call model coefficients to draw the model linear regression

plot(y = y[,2], x = log(x), xlab = "log(x)", ylab = "OD 600", main = "Linear regression on genome data", lwd = 4, col = cl[3])
abline(model_genoma$coefficients, lwd = 3)

# Genoma linear regression oefficient R = 91.1
summary(model_genoma)

# Plasmid linear regression coefficient R = 91.9 %
summary(model_plasmid)

# Creating x values vector for model to make predictions for
genoma_value <- data.frame(x = seq(0.01, 0.06, by=0.0025))
plasmid_value <- data.frame(x = seq(0.01, 0.06, by=0.0025))

# Predicts post-experiment OD 600 value for a given x value pre-experiment OD 600
genoma_pred = predict(model_genoma,genoma_value)
plasmid_pred = predict(model_plasmid,plasmid_value)

print(genoma_pred) # Output is y prediction for given x, find a closest to t value to investigate x that satisfy your investigation
print(plasmid_pred)

Results

pTRKH2+sfGFP and pTRKH2+loop+sfGFP

After the first set of measurements with different promoters, it was seen that the mRNA cyclization system was not working as it was expected. For this reason, only results obtained from pTRKH2+sfGFP with different promoters were analyzed. They allowed us to conclude promoters’ strength. In the Fig. 3, the fluorescence and OD600 ratio were compared. The results showed that p-slpA (BBa_K3904712) was the strongest, and further, it was selected as a reference point for other promoters evaluation. The trio of the most effective promoters was p-slpA, CP44 (BBa_K1033225) and CP8 (BBa_K1033220).

Fig. 3. Fluorescence and OD600 ratio comparison of different promoters

pTRKH2+TAL-sfGFP and pTRKH2+loop+TAL-sfGFP

In the Fig. 4, one can see that there is no significant difference in the mRNA cyclization performance in 37°C and 24°C because the shift of the curves is only affected by the lower OD600 values in 24°C. The bottom graph illustrates averaged data at 37°C. Interestingly, it was noticed that mRNA cyclization does not allow the accumulation of the sfGFP protein. After some time, the system reaches equilibrium, and the fluorescence/OD600 ratio stabilizes.

Fig. 4. mRNA cyclization system performance

Analysis of the cyclization system’s stability

Fig. 5 represents stability of the processes without and with a cyclization system at 24°C

In the right graph we observe: relying on FDA methodology we were able to obtain a confidence interval (CI) of 95 percent, which is superbly narrow; it indicates the non-intuitive stability of the loop system.

On the other hand, the process in the left graph is observed as barely stable - it obtains a surprisingly wide CI, which has got two groups of the processes that localize around different CI boundaries. The first group (2 standard deviations) provides an output of bacteria colony growth and the second group (-2 standard deviations) gives an opposite outcome.

Fig. 5. Stability comparison graphs of system without (left) and with (right) loop
Fig. 6. Landmark registration of promoters (BBa1033225, BBa1033220, BBa1033222)

Conclusions

All in all, promoters' strength was successfully evaluated, and following these data, promoters were selected for the naringenin metabolic pathway. On the other hand, one of our chosen protein synthesis enhancing mechanisms - mRNA cyclization - appeared not to work as expected and described in the Yang et al. article [1]. In our case, it did not increase protein production. Interestingly, protein quantity stabilization was noticed as a novel property of this system and may be further tested.

References

1.
Yang, J., Han, Y. H., Im, J., & Seo, S. W. (2021). Synthetic protein quality control to enhance full-length translation in bacteria. Nature Chemical Biology, 17(4), 421–427. To the article.