Rapid Analysis of Microbial Growth Curve Data in R

Contributed by Shawn Higdon

As a graduate student at the interface of plant biology and microbiology working with pure isolates, analyzing microbial growth curve data is unavoidable. I was recently in a situation where I needed to calculate the slope of the logarithmic phase of growth for about 1,500 well-based growth experiments (about fifteen full 96-well plates worth of data). The task was to get an estimate for mu, the intrinsic growth rate, which is something I had neglected to do previously when I only seemed to care about the maximum cell density achieved over the course of the entire experiment.

My initial approach was to visualize the data in R using ggplot2 and display the actual OD600 absorbance values on the plots, followed by manually reading each plot to select two coordinate points and enter the values into a spreadsheet using excel. This meant that I was going to manually plot the data of all the wells! While this seemed like the most straightforward approach, I found it to be extremely time-consuming, tedious and boring (as was expected). After completing maybe 5 percent of the work, I decided there must be a more efficient solution and began carrying out string searches with Google. I searched for, “r for loop to calculate the slope of microbial growth curves.” To my surprise, the top hit was to an R package that already existed called Growthcurverwritten by Kathleen Sprouffske, which is available for download at https://cran.r-project.org/web/packages/growthcurver/index.htmlor by placing the phrase “growthcurver” into the quotes of the install packages command in R.

My experience with Growthcurver was extremely positive, as it was able to calculate the intrinsic growth rate of each well on each plate in a matter of seconds. In addition, Growthcurver makes analyzing an entire 96-well plate worth of data as easy as typing the single command: SummarizeGrowthByPlate(). Growthcurver will provide tabulated data output that provides estimation for many variables of the logistic equation it uses to model the growth of your data. Additionally, Growthcurver will provide plots for each well of data on the plate, either individually or output as a pdf file that displays all wells included in the imported dataset. The only requirement is that the data be formatted with a single column containing the Time values (in hours), and the absorbance values of each well descending in individual columns. The best part about this package is that Kathleen has provided excellent user documentation in the form of an introductory tutorial that explains how to use the package (https://cran.r-project.org/web/packages/growthcurver/vignettes/Growthcurver-vignette.html).

This entry was posted in uncategorized. Bookmark the permalink.