1. Find a model of gene expression

Here, I analyzed the model of Berthomieux et al, 2013 for gene expression. In this formalism, gene expression \(p(t)\) dynamic is given by the next differential equation.

\[ \begin{aligned} p(t) = \frac{\partial f(t)}{\partial t} \frac{1}{a(t)} \end{aligned} \]

Where \(a(t)\) and \(f(t)\) are the corrected flourescence and absorbance values defined as follows:

\[ \begin{aligned} a(t) = a_{u}(t) - a_{b}(t) \\ f(t) = f_{u}(t) - \beta(a(t)) \end{aligned} \]

In the first expression \(a_{u}(t)\) and \(a_{b}(t)\) are raw measured and background absorbance, respectively. Background absorbance is measured in a bacteria strain carrying an empty plasmid vector.

Finally, the \(\beta\) function is an empirical interpolation curve of the map \(f_{u}(t) = \beta(a_{u}(t))\) of uncorrected background values. The empirical curve is given by fitting a spline.

2. Find data to model

2.1. Reading data for modeling

The first initial observation is that DO and RFU raw data are not provided and hence reproducibility of the study is limited. Hence, I extracted the data from the raw data plotted in Figure S1 of the suplementary file following this method as provided in this code. The next plot shows the absorbance (green points) and flourescence (blue points) raw values so obtained.

3. Make a preliminar bioreactor like analysis

As stated above, corrected absorbance \(a(t)\) is obtained by sustracting absorbance background \(a_b(t)\) values (that is the data obtained from a bacteria carrying an empty plasmid vector) from uncorrected absorbance values \(a_u(t)\).

## Absorbance correction
a <- absorbance.u$DO - absorbance.b$DO

A calibration curve is obtained by plotting uncorrected absorbance versus uncorrected flourescence and then fitting a spline function which defines \(\beta\) in Equation 3. Maybe, it should be more convenient to take a calibration curve \(b\) as the map \(f_b(t) = b(a_b(t))\). However, this function seems to be very peaked. They may chose \(\beta\) because this function was differentiable.

## spline interpolation
betaFUN <- splinefun(absorbance.u$DO,flourescence.u$RFU)

They mentioned that corrected flourescence \(f\) (shown as blue points in the next plot) is calculated by sustracting from primary flourescence the \(\beta\) interpolation evaluated in absorbance \(\color{red}{corrected}\) values. However, I did not observe the curve they obtained for \(f\). Hence, as the goal is to substract the noise added by the OD background values I used here:

\(f(t) = f_u(t) - \beta(a_b(t))\)

Which gives a similar increasing behavior as they reported (which is not observed using \(a(t)\) or \(a_u(t)\)).

In the original work a spline was fitted and that smooth function was used as \(f\) (shown as the black curve in the next plot). However, in my hands an spline was not smooth enough and then I used a loess curve as a better approximation (shown as a green curve in the plot). It is important to note that this discrepancy could be derived by the differences in the values obtained by the images and the actual data they used.

f <- flourescence.u$RFU - betaFUN(absorbance.b$DO)

Finally, gene expression is obtained by applying Equation 1 to the so obtained \(a\) and \(f\) function values. Here, \(f\) was taken as the loess function fitted to the \(f\) empirical values.

4. Conclusions

Here, I analyzed the model and data as published in Berthomieux et al, 2013. I found difficulties in reproducibility caused by the lack of raw data available. However, by mining data from figures I found qualitative agreement with their results. Discrepancies were found the third Equation for calculating the corrected fluorescence. Loess function was found to be another possibility for fitting calibration curves. Finally, this formalism could be used as a model for gene expression which depends only in OD and RFU values.