FlopR: An Open Source Software Package for Calibration and Normalization of Plate Reader and Flow Cytometry Data

The measurement of gene expression using fluorescence markers has been a cornerstone of synthetic biology for the past two decades. However, the use of arbitrary units has limited the usefulness of these data for many quantitative purposes. Calibration of fluorescence measurements from flow cytometry and plate reader spectrophotometry has been implemented previously, but the tools are disjointed. Here we pull together, and in some cases improve, extant methods into a single software tool, written as a package in the R statistical framework. The workflow is validated using Escherichia coli engineered to express green fluorescent protein (GFP) from a set of commonly used constitutive promoters. We then demonstrate the package’s power by identifying the time evolution of distinct subpopulations of bacteria from bulk plate reader data, a task previously reliant on laborious flow cytometry or colony counting experiments. Along with standardized parts and experimental methods, the development and dissemination of usable tools for quantitative measurement and data analysis will benefit the synthetic biology community by improving interoperability.


Time based normalisation:
( ) − ( ) ( ) − ( ) Time based normalisation normalises the fluorescence of the fluorescent cells against the autofluorescence of the negative cells, and the absorbance of the fluorescent cells against the absorbance of the media, then takes the ratio of the normalised measurements to get fluorescence per OD.

Time OD based normalisation:
( Time OD based normalisation takes the ratio of the fluorescence vs OD at time t of both fluorescent cells and non-fluorescent cells first before using these ratios to normalise. This helps account for differences in OD between the two types of cells, but assumes a proportional relationship between OD and autofluorescence.
FlopR normalisation: FlopR creates a calibration curve using the non-fluorescent cells to get the expected autofluorescence as a function of OD, and uses this for normalisation, taking into account both differences in OD between the two types of cells, and the observed non-linear relationship between OD and autofluorescence. Pipette 125 µl of PBS into wells A2-A12, B2-B12, C2-C12 and D2-D12 (it is easiest to do this using a multichannel pipette and a sterile trough). 3. Using the multichannel pipette, pipette 125 µl of fluorescein from wells A1-D1 into A2-D2, and mix by pipetting up and down. 4. Continue the serial dilutions, 125 µl of A2 into A3, 125 µl of A3 into A4 ect… DO NOT pipette any fluorescein into the wells in column 12 (these wells serve as PBS blanks).

Microspheres dilution:
Rows E-H on the plate. This is a 3:5 dilution done in 1.5 ml Eppendorf tubes and then pipetted into the plate (modified from the 1:2 dilution from the iGEM interlab and Beal et al 2019). This was done to avoid saturation issues that were observed with larger dilution steps, and to allow vortexing/good mixing of the tubes to minimize error due to microsphere settling (see note below). Note: Microspheres settle very fast when diluted in a liquid, make sure to mix/vortex well before any steps. 1. Create a microsphere stock solution with 0.1 g of microspheres and 1.3 ml of deionized water 2. Make 500 µl of a second stock solution by adding 300 µl of the above microsphere solution to 200 µl of water. 3. Make 1 ml of a third stock solution by diluting the second stock 1:10 (100 µl of microsphere to 900 µl of water) 4. Prepare eleven 1.5 ml Eppendorf tubes (numbered 1 to 11) with each containing 600 µl of water. 5. Add 900 µl of the 2nd stock of microspheres to Eppendorf tube 1 (and mix well by pipetting up and down) 6. Add 900 µl from tube 1 to tube 2 and mix well 7. Add 900 µl from tube 2 to tube 3 and mix well 8. … continue the serial dilution until tube 11. Tubes 1-10 should have 600 µl of diluted microspheres, tube 11 should have 1500 µl. 9. Pipette 125 µl of tube 1 into wells E1, F1, G1 and H1 10. Pipette 125 µl of tube 2 into wells E2, F2, G2 and H2 11. … continue until tube 11 into wells E11, F11, G11 and H11 12. Pipette 125 µl of molecular biology grade water into wells E12, F12, G12 and H12.

Plate reader measurement:
1. Measure the calibration plate on the plate reader using all intended experimental settings: -Excitation and emission settings identical to the green fluorescence channel of the flow cytometer that the plate reader data will be compared to. -Gain in steps of 10, from 40-120 -With and without a film 2. Save both files as .csv files (ex. Calibration_YYYY_MM_DD_film.csv and Calibration_YYYY_MM_DD_nofilm.csv).

Supplemental method 3: Sub-population Identification From Plate Reader Data
Plate reader experiments were carried out as detailed in the main methods section. Two cell type were used: the killer strain was E. coli JW3910 transformed with plasmids pMPES_AF01 (which provides bacteriocin production) and p63_AF043 (which provides GFP and mCherry fluorescence expression, and Gentamicin resistance), and the competitor strain (MG_Gm_CFP) was a strain of E. coli MG1655 with CFP and Gentamicin resistance incorporated into the genome using a Tn7 transposon. After initial growth, cultures of the two strains were mixed at various ratios (and for Figure S7 diluted to a variety of initial densities) and measured in the plate reader for 12 or 16 hours. For Figure 4, 1 µL samples were taken from the plate every hour and replaced with fresh media. The samples were diluted in 200 µL of PBS and measured in the flow cytometer, as detailed in the main methods.
The raw data was then normalised and calibrated using FlopR, with the competitor strain as the nonfluorescent control. The killer and competitor populations in the flow cytometry data were clustered using the flowClust package in R. Briefly, we attempt to fit t-mixture models with 1 and 2 clusters to the log10 GFP vs log10 mCherry measurements. The models are scored with an Integrated Complete-data Likelihood (ICL) criterion to identify whether the data is best described by 1 or 2 clusters. The clusters are then assigned to the killer or competitor population, determined by whether the mean fluorescences are above or below a threshold.
The plate reader populations are calculated, as described in the manuscript, by producing a calibration curve of normalised absorbance versus normalised fluorescence for a positive control population (consisting of entirely killer cells). This uses the same GAM model as is used for the autofluorescence normalisation. The calibration curve provides us with the expected fluorescence of an entirely killer population at any measured absorbance. As we have fully normalised the data, we also know that an entirely competitor population will have zero fluorescence at any measured absorbance. Using this knowledge we can say that, in a mixed culture, the fraction of killer cells at each time point is given by where ( ) is the normalized fluorescence of the sample at time , ( ) is the normalized absorbance of the sample at time , and uses the calibration curve to get the expected fluorescence at the given absorbance assuming an entirely killer population. The full dynamics of each subpopulation can then be reconstituted by multiplying this fraction (or 1 -fraction for the competitor) by the calibrated cell count.
The sensitivity of this method was explored computationally. We assume that there is an error in both the fluorescence and absorbance measurements which can be described by a normal distribution. If we make the simplifying assumption that the calibration curve produced by the positive control gives us a proportional relationship of the form where is the coefficient of proportionality. We can calculate the estimated fraction in a mixed culture by If we define sensitivity as the proportion of estimates that are within 5% of the true value, then = �0.95 ≤ ≤ 1.05�      Figure 2 that shows a decrease in absorbance while maintaining the same level of fluorescence at late timepoints. This may be due to cell stressors or change in the cells' physiological state and size when in late stationary phase (>12 hours).

Figure S3
: Raw absorbance (700nm) of the wells used for the experiment shown in Figure 2. Overnight cultures were diluted to different starting concentrations to result in staggered growth. Growth windows (delineated by the dashed vertical lines), were calculated by fitting Baranyi and Roberts' 1 bacterial growth model from the nlsMicrobio package in R 2 . The start of growth rate was set to be when cells reach 1% above their N 0 (fitted starting population), and end of growth to be when cells reach 5% below their N max (fitted maximum population asymptote). These growth windows were used as the 'main growth phase' to calculate the Mean absolute error shown in Figure 2b.  (mCherry red fluorescence), however population fraction calculation is also possible using green fluorescence as the killer cells are also constitutively expressing GFP (right panel). The black curve shows models fit based on fluorescence, the red curve is models fit to number of particles. Figure S6: Using GFP fluorescence fraction calculation curve ( Figure S5, right panel) to recreate subpopulation fractions. Calculating population fractions using green fluorescence gives a similar output to using red fluorescence (as is shown in Figure 5) Figure S7: Further demonstration of subpopulation determination using bulk plate reader data. Killer and competitor cells were mixed at a range of population ratios and diluted to a variety of initial densities. a) The killer cell population fraction determined using plate reader timecourse, and initial and final measurements of population fraction using flow cytometry. The background colour gradient shows the normalised optical density at 700 nm measured in the plate reader. b) Comparison of final flow cytometry fraction against final timepoint of the plate reader timecourse. Examples, spanning a range of ratios are labelled. c) Determination of population dynamics from calibrated plate reader data. Figure S8: Sensitivity analysis of population fraction estimation using plate reader data. Estimation of population fraction was simulated at varying true population fractions, fluorescence intensities and absorbance values. Measurement error in fluorescence and absorbance was simulated by sampling (n = 100) from a normal distribution centered around the true value, using a varying standard deviations with either constant values or proportional to the mean. (a) Varying the error in fluorescence measurements with a standard deviation that does not scale with the magnitude of the fluorescence measurement. Fluorescence intensity = 10 3 , absorbance = 0.1, absorbance standard deviation = 0.001. (b) Varying the error in absorbance measurements with a standard deviation that is proportional to the measurement. Fluorescence intensity = 10 3 , absorbance = 0.1, fluorescence standard deviation = 10. Solid red line shows the true value, dashed red lines show 5% deviation from the true value. (c, d) Sensitivity estimation for each parameter. Each point represents the sensitivity achieved given a parameter combination, where sensitivity is the proportion of samples (n=100) that fall within 5% of the true value for each combination of parameters.