2. Extend NUFEB with new growth model

This tutorial provides guidance on developing your own microbial system with new species types and their catabolic models. This requires some coding works to implement their unique growth equations into the NUFEB codebase. Before doing, make sure none of the growth model provided in NUFEB (fix nufeb/growth/*) can be used in your system.

2.1. Define system

Let’s suppose your system contains two types of species named ‘spec1’ and ‘spec2’ . Both of them utilise nutrient ‘nut’ for their growth, and the growth of spec2 is further inhibited by antibiotics ‘anti’. The corresponding ODEs are as follow:

\[ \begin{align}\begin{aligned}\dot m_{spec1} & = \mu_{max1} \frac{S_{nut}}{S_{nut} + Ks_{nut}} m_{spec1}\\\dot m_{spec2} & = \mu_{max2} \frac{S_{nut}}{S_{nut} + Ks_{nut}} \frac{Ks_{anti}}{S_{anti} + Ks_{anti}} m_{spec2}\\\dot S_{nut} & = - (\frac{1}{Y_{spec1}} \dot m_{spec1} + \frac{1}{Y_{spec2}} \dot m_{spec2})\\\dot S_{anti} & = 0\end{aligned}\end{align} \]

where

  • \(\mu_{max1}\) and \(\mu_{max1}\) are the maximum growth rates of spec1 and spec2, respectively

  • \(S_{nut}\) and \(S_{anti}\) are the concentrations of the nutrient and antibiotics, respectively

  • \(Ks_{nut}\) and \(Ks_{anti}\) are the half-velocity constants of the nutrient and antibiotics, respectively

  • \(Y_{spec1}\) and \(Y_{spec2}\) are the yield coefficients of the two species

2.2. Prepare input files

Having the system model defined, the next step is to prepare an inputscript with the new species, nutrients and their parameters. It is always good to use an existing NUFEB input file as template. Here we use the files from examples/simple-growth