Here's a documentation of a few growth curve algorithms I have encountered
- Logistic equation with interpretable parameters. R implementation in
growthcurver
package. Vignette here.In the
Growthcurver
package, we fit growth curve data to a standard form of the logistic equation common in ecology and evolution whose parameters (the growth rate, the initial population size, and the carrying capacity) provide meaningful population-level information with straight-forward biological interpretation. Logistic equation is :$N_t= \frac{K}{1+(\frac{K−N_0}{N_0})e−rt}$ . Where-
$N_0$ = initial population -
$K$ = carrying capacity (max population) -
$r$ = growth rate, intrinsic, what would be constant without carrying capacity limits
-
- Gompertz function. Very through R implementation including smoothing, finding peaks and valleys (for diaxuic growth too!), plotting for 96 wells. Source: Friesen, Maren L., et al. "Experimental evidence for sympatric ecological diversification due to frequency‐dependent competition in Escherichia coli." Evolution 58.2 (2004): 245-260.
- Modified logistic / based on a median filter for smoothening data. Find the python implementation here and the citation paper here.
- Other options for fitting : Gompertz, modgompertz, logistic, modlogistic
- Assumption free (semi/non-parametric?) analysis called AMIGA. Python implementation here. Source: Midani, Firas S., James Collins, and Robert A. Britton. "AMiGA: software for automated analysis of microbial growth assays." Msystems 6.4 (2021): 10-1128. msystems
- This seems very promising, needs to be investigated! - Prashant (4/2024)
AMiGA models growth curves with GP regression and infers biologically meaningful microbial growth parameters, including maximum specific growth rate (i.e., exponential growth rate), lag time, carrying capacity, and area under the curve (AUC)