Chemostat
Process and considerations for running a chemostat.
Code Breakdown and Explanation of Flow Rates
This section is assuming you already have gone through the growth curve tutorial, which outlines basic parts of the script, and lets one run an initial pilot experiment.
Here, I will explain chemostat functionality. This is the segment where the chemostat function begins on custom_script.py
OD_data: The
OD_data
variable saved from the transformed values from the input_data variable. The data is transformed via calibration scripts called fromeVOLVER.py
.start_OD: This variable determines if you want the culture to be above a certain OD before starting dilutions
start_time: This variable determines when the dilutions should start. If set to 0, the dilutions start immediately
OD_values_to_average: The script will average N recorded OD values before it triggers the dilution via the
start_OD
variable.chemostat_vials: Modify this script to to turn off vials (e.g. pumps). There is a known bug on the rate definition that might not turn off the pumps there (see below).
The peristaltic pumps are fixed flow rates, does that mean I have to use different pumps for each flow rate setting?
No, with the eVOLVER setup, we approximate continuous perfusion by frequent small boluses of media. By doing this, a faster pump can achieve tunable, slower net flow rates. In our experience, this compromise does not significantly impact the culture conditions of common laboratory microbes.
Here is an example calculation one would make:
The culture volume is 30 mL/ vial.
The typical pumps eVOLVER comes with have a fixed flow rate of 0.5 - 1.0 mL/s. We typically recommend a minimum bolus of 0.5 mL per dilution, meaning 60 boluses would turnover the culture once.
FynchBio also sells slower pumps that flow at ~1 mL/ min
If we want our culture to double every 3 hours, the pumps will fire every 3 minutes (180 min/ 60 boluses). In a chemostat, nutrient is limiting thus growth rate == dilution rate.
A doubling time of 3hr has a growth rate of 0.231/hr via the following equation:
Below, we set the script such that the cultures will all have a 3 hour doubling:
If one wanted to set the V0-3 at a doubling time of 3 hours but the rest of the 14 vials with a doubling time of 6 hours, the rate_config would be set as the following:
NOTE (5/12/2023): There is a bug that does not turn OFF pumps if defined to 0 on rate_config variable.
Code for interfacing with eVOLVER GUI
Below is code that grabs values from the GUI and populates it in the code. If you aren't using the GUI, please ignore this portion of the code:
Rest of the Chemostat Configuration Settings
The following parameters initialize variables that will calculate how much time to turn the pumps ON to maintain the flow rate set in rate_config
Bolus Size: The minimum volume that the pumps are allowed to turn on. Please take great caution in tuning this parameter. For example, the ~1 mL/s pumps are sensitive to the bolus size since 0.5 mL would mean the pumps are turning ON for only 0.5 seconds. Lower values could induce variability to the amount pumped. Note: Fynch Bio provides slower pumps that would require this bolus size to be tuned.
flow_rate: get the calibrated flow rates for each pump
period_config: how often to pump (seconds)
bolus_in_s: how long to pump during a given pump event (seconds)
Chemostat Pump Commands
When we set vials to a new flow rate in the chemostat function, we see the experiment script send a comma separated pump command. Each pump assigned to the a chemostat gets a command that looks like this:
1.18|144
Which is in the format of:
bolus_in_s|period_config
If the above pump was influx, its corresponding efflux pump would be 2.36|144
because we pump out double the time to avoid overflows.
Last updated