Model
As the aim of our project is to construct a modular toolkit using co-cultures with three organisms, we would have to conduct many experimental interactions to reach conclusive and reliable results. To avoid this tedious process, we turned our attention to computer based biological modeling to predict the behavior of our system.
In the realm of mathematical and computer based biology, scientists use algorithms, data structure and data visualization to create approximations of existing biological systems. This serves two important goals;
One, to check whether the theoretical understanding of a process is correct. Of course, this can be done by constructing a model and checking if the cultures behave within reasonable correctness as the observations in the lab indicate.
The other goal of such modeling approach is to predict whether the behavior of the system are changed or other external influences are applied. This latter role is why we are using modeling in our project.
However, many of our team members lacked experience in this field. As such, we approached the Institute of Quantitative and Theoretical Biology at our university (Headed by Professor Dr. Oliver Ebenhöh) to discuss our approach.
The behavior of a co-culture is complex. Modeling in it’s entirety would be far too complex. As such we had to find a way to reduce this complexity. To achieve this, we began our work with laying out a few assumptions that would reduce the complexity of our system and give us a clear indicator of what went wrong if a prediction turned out to be incorrect.
In our model we assumed that:
- The consumption of metabolites, especially for growth, occurs in discreet units.
- All organisms have equal access to the metabolites.
- There are no organism specific limits to metabolite uptake or release.
- Every metabolite are constant and optimal except the ones we control with.
- Growth as well as metabolic reactions are limited by low avalability as well as the slowest enzyme reaction, respectively.
- There is no change in the speed of reactions.
- The capacity of the system for each organism is set and not calculated dynamically.
- While phosphate and nitrogen are important for growth, only a complete lack of carbon (as a stand-in for sugar in our model) will result in starvation of the organisms.
Assumption 1 is a consequence of the way our model is calculated, the others are there to reduce complexity. As stated above, this reduced complexity also reflects a reduction in realism, however, our model has produced results that in our mind, make a more complex approach unnecessary for now.
Our model is iteractive and goes though the following equations for each organism and metabolite each iteration:
Here, add represents the additional metabolite influx per iteration. α is the organism and metabolite specific uptake speed, mc is the maximum possible concentration of the specific metabolite in the organism, Ye[i] is the current dry weight (in mol) of the organism and Ye[0] is the initial dry weight. ic is the current metabolite mass inside the organism (in mol) and C is the mass of metabolite (in mol) inside the medium. usec is the specific metabolite mass the organisms the organism uses each iteration in it’s growth, whereas growthfc, growthfn, and growthfp are the metabolite specific growth factors. The lowest of these is chosen as the overall growth factor growth and then used in the calculation of the new population size Ye[i+1]. The last equation converts the calculated biomass of the specific organism Yo[i] into the cell count cco[i] of that specific organism at that specific time. This is done by multiplying the biomass with the specific molar weight smw[o] times five (a rule of thumb from dry weight to wet weight) and dividing by the specific cell weight of that organism scw[o].
As stated above, these calculations are performed for each organism and each metabolite. the resulting populations lists are then plotted via the Python package Matplotlib (as you can see in the code we provided at the end of the page).
This produces a graph that shows what the growth and population sizes of our system look like within a predetermined time frame. This tells us which ratio of metabolite concentration to population sizes is necessary for the system to remain stable over a given period of time. This gives us a range of concentrations that we can then verify in the lab. This reduces the amount of experiments we have to conduct to reach our goal of establishing a stable, purpose-engineered three organism coculture.
Of course observation in the lab take precedent over our model. And data that is in conflict with the prediction of our model will always be given priority. Until now however, our model has been correct. Thus far, it has revealed that the same problem is the supplying the system with sugar, as S. elongatus is has the lowest doubling time and appears to be the main bottleneck. Below a few example models are supplied, with varying amounts of metabolite supplied at the beginning.
Here are a few examples where we used our three model organisms E. coli, S. cerevisiae and S. elongatus and plotted their growth over the course of 48 hours. Changed are the concentrations of the metabolites we control with, in our example this is carbon, nitrogen and phosphorus, in the medium, but everything else was kept at the same value;
As stated above, each of our assumption attempts to reduce complexity also limits realism. If given more time we could further refine our model and start working without our assumptions. This would increase the accuracy of our predictions and would further our understanding of co-cultures and microbe interaction.
It would however also necessitate more experiments to verify our predictions, which was something we didn’t have the time for.
Another possibility we could not pursue was interactivity and the option to include other organisms in our model. We hoped that we could construct a model that would receive a selection of organisms, metabolites that bind the organisms together and a time frame and from that calculate the optimal medium composition as well as initial population sizes to keep the co-culture stable.
We believe that this is possible with our model and if we would have had more time to verify our modeling of our lab work, we could have realized this idea.
Code
Provided below is a download link to the Python code that makes up our model:
(Note that; we used the jupyter Notebook Editor for our work and we recommend using it as well if you want to try out our model!)
Model Code