Abstract
Recently, a concerted effort has been made to study the evolution of drug resistance in organisms at increasingly smaller time scales and in a high-throughput manner. One effective approach is through the use of customized bioreactors – devices that can continuously culture bacteria and monitor this growth in real time. These devices can be technically challenging and expensive to implement for scientists, let alone students or teachers who seek an innovative and intuitive way of studying evolution. We seek to provide a flexible and open source automated continuous culture device framework for the academic setting to study biological concepts such as population dynamics and evolution; a framework that is capable of replicating the functionality of many prominent and expensive bioreactors in the market today. Within the educational environment, our goal is to foster interaction and interest between the engineering and biological fields by allowing teachers and students to build their own systems and design experiments on the proposed open framework. We present a continuous culture device designed for bacterial culture that is easily and inexpensively constructed, lends itself to evolution experiments, and can be used both in the academic and educational environments.
Author summary The continuous monitoring of population growth in the presence of cytotoxic selective pressures can reveal new insights into resistance development and corresponding susceptibilities. Bioreactors have been proposed to accomplish this task yet are costly and without formal build instructions or software. In this article, we present a framework for a bioreactor, called the EVolutionary biorEactor (EVE), that will enable users to economically implement hardware and create circuits through diagrams. Hardware communicates with open-source software, written in Python, to create a flexible yet fully featured bioreactor that incorporates many modes of operation. A single EVE controls many Culture Units simultaneously, each with the capability of running its own experiment or a replicate of the same experiment to measure stochastic differences during evolution. While currently built for bacterial culture, this framework can be adapted in many ways from continuous mammalian cell culture to the measurement of multi-population dynamics in various environments. In the educational setting, this easy-to-implement framework will enable educators to use a hands-on approach to evolution in their lessons and extracurricular activities. For scientists, we propose this open framework as a tool that can be used and modified to investigate new areas in population dynamics and evolution.
Introduction
Continuous microbial culture is a powerful tool for observing and directing evolution in both research and industrial settings. Recently a shift towards open-source science has brought about a new wave of Do-It-Yourself, customized continuous culture devices to accommodate a wide variety of experimental designs across several research areas [1–6]. Within these devices, there are 3 main classes of continuous culture devices proposed in literature - each with a different objective during culture growth. The first is a chemostat – a bioreactor that continuously passages media into an active culture while simultaneously removing volume from the culture at an equal rate to maintain volume homeostasis [7]. This rate of inflow and outflow is called the dilution rate; a parameter that has to be calibrated to prevent culture overgrowth or extinction [8]. The second device is called a turbidostat, which is, a special case of an auxostat. An auxostat is a chemostat that measures a parameter of the culture and is capable of modifying the dilution rate through a feedback mechanism. Monitored parameters in an auxostat can include pH and concentration of a chemical among others. In turbidostats, the monitored parameter is the turbidity of the culture. Commercially available systems are generally unavailable, and professional systems can cost approximately $10,000 for academic units to $25,000 for the general public [9]. By increasing the dilution rate when the culture is growing rapidly, this continuous culture device can facilitate steady state growth at a constant cell density [10]. Morbidostats were recently introduced to study the evolution of drug resistance. Similar to a chemostat, the morbidostat maintains a fixed dilution rate. However, in contrast to a chemostat which keeps culture cell density relatively high as predicated by nutrient availability, the morbidostat keeps the cell density low by exposing the population to selective pressures such as cytotoxic drugs. Through the control algorithm that dictates morbidostat functionality, the drug concentration inside the culture is able to be modified over time to prevent extinction of the culture [11].
Commercially available continuous culture machines are often expensive, specialized to a field of research, and resistant to modifications. A few such designs with detailed protocols have already been published in the literature; however, barriers in electrical, software, and biological expertise, or cost still leaves the assembly and operation of these machines out of reach of students or scientists in resource-poor settings [11–13]. In addition, increasing functionality of these machines while maintaining cost-effectiveness is an enduring challenge [14–17].
Here we present a protocol for the assembly and operation of a continuous culture device called the the EVolutionary biorEactor (EVE). It is a framework for a system which can support multiple individual bioreactors which we call culture units (CUs). Each of these CUs are capable of simultaneously running their own experiment with different optical density sampling rates, pump timings, optical density thresholds, antibiotics, and many other factors. While the EVE is able to replicate the morbidostat functionality defined in Toprak et al., it is also able to replicate chemostat and turbidostat functionality [11]. To continuously monitor the cultures, the system proposed here utilizes low-cost consumer electronics, such as the Raspberry Pi microcomputer, as well as cheap integrated circuits that communicate with the Pi. We have designed a printed circuit board (PCB) that can be assembled for faster setup but also support a breadboard implementation of the circuit for educational applications and to save cost. This system makes use of an open source programming language (Python) to power our software on the Pi. We have programmed a setup utility to allow users to quickly setup the software in the device. After the setup process, users can utilize a web interface to easily customize, start, and monitor experiments. Since the source code is readily available on GitHub (https://github.com/vishhvaan/eve-pi), users can implement quick modifications to the flexible framework. Modifiable plans for 3D printable parts for vial housings, housing bases, and circuit board files are freely available on GitHub. The 3D parts can all be printed in 24 hours without the need for special materials and at low cost.
Our device also features the capability of conducting multiple experiments (up to 16) simultaneously with one Raspberry Pi (referred to as multiplexing). The web interface is built to allow users to configure multiple experiments with a single interface. The live monitoring system automatically detects the number of systems running and optimizes the memory usage of the device to allow for monitoring all the experiments simultaneously.
Ease of use and extensibility were highly valued and prioritized when designing the system. We hope that the cost-effectiveness of the system and its ability to be setup by those with novice engineering and biological knowledge can lend to the system’s utility both in the regular classroom environment and outreach evolution teaching efforts such as EvolvingSTEM [18]. Keeping in mind that users can design their own experiments, we demonstrate a few simple experiments that showcase the capability of the system that are ideal for users becoming familiar with the system, as well as students learning about evolutionary biology in an interactive way.
Description of the EVE
The physical functionality of the EVE is centered around a culture vial and is inspired by prominent bioreactors featured in literature [11–13, 19, 20]. For optimal growth conditions of bacterial culture, the culture vial is stored in an incubator which is kept at 37°C for the duration of the experiment. Within the incubator, the vial is on top of a holder which incorporates a fan with magnets glued to its top surface. When the fan is powered, magnets rotate to spin a magnetic stir-bar at the bottom of the culture vial. The stir bar has two functions – to facilitate diffusion of oxygen into the culture media and to keep the culture’s turbidity uniform across the culture vial. The vial holder also houses two diodes (one LED and one photodiode). Throughout the experiment, the LED shines a light through the culture. Depending on the growth and corresponding turbidity of the culture, light is variably scattered through the culture, changing the amount of light that reaches the photodiode (PD). The LED and PD are connected to a circuit board (either a breadboard or PCB) that powers the devices and converts the analog information from the PD into digital information. The circuit board is connected to the Raspberry Pi with a ribbon cable, enabling the two boards to interact digitally. The culture vial is also connected to three liquid pumps with three plastic tubes. Each pump in turn connects to either a fresh media reservoir, a media reservoir containing cytotoxic drugs (antibiotics in this paper), or a waste reservoir. When powered by the circuit board, a specific pump activates which pumps either media or media mixed with drug into the vial. The waste pump also activates whenever the media pumps activate to prevent culture overflow. The waste pump can also provide the opportunity for easy temporal sampling. The software on the Raspberry Pi is responsible for triggering these pumps at specific points during the culture to achieve the (user defined) goal of the experiment. A schematic of the setup is shown in Fig 1.
Before the experiment, the culture vials and reservoirs are made sterile with autoclave or other sterilization techniques described in the discussion. During the experiment, sterile air filters prevent the culture media in the vial or fresh media in the reservoirs from getting contaminated. The silicone tubes that is used to transport the media to from the reservoir to the culture also needs to be sterilized prior to the experiment. To sterilize these tubes, solutions of 10% bleach, 70% ethanol, and sterile water in reservoirs are attached to the pumps and are used to wash the tubes. These sterilization steps are easily done with the EVE Web Interface.
Of note, absorbance or the optical density of the culture is not directly reported to the Pi. Rather, the voltage of a resistor connected to the PD is measured. The voltage of this resistor increases as more light strikes the PD and therefore increases as more light is scattered - a surrogate of the absorbance of the culture. Since the voltage of the resistor is related to the optical density of the solution, we refer to the voltage value as the optical density of the culture in this article. The exact relationship of the voltage of the resistor and the optical density of the culture (A600) can be found with the use of a calibration curve. Steps to generate calibration curves will be included in the discussion. This voltage value should not be interpreted as absorbance since they are numerically different. In many scenarios, the voltage value provides a clear picture of the state of the culture. However, if a true absorbance is needed, a simple calibration curve correlating the voltage value with an optical density can be performed. A sample calibration curve is included in the supplemental figures. Steps to generate the calibration curve with the software is included in the software section.
Assembly
Assembly of the EVE can be separated into hardware and software tasks. We recommend beginning with hardware assembly as it requires more time to complete. Once the hardware is assembled, software can be installed on the Raspberry Pi and then seamlessly incorporated into the hardware as the last step of the assembly.
Hardware
A list of required hardware components can be found in the supplemental information. The vial housing complex, fan with attached magnets, PD, and LED for each CU are housed in the incubator. The positive and negative (ground) wires that supply power to the LED, PD, and fan connect to the circuit board outside the incubator and extend into the incubator.
The 3D printable designs (.stl and .sldpart files) of the vial holder, base, and diode caps can be found on the device’s GitHub repository. We used an Ultimaker S5 to print the components used in the experiments detailed below - though any 3D printer could be used. The vial holder is built to contain the experimental vial as well as the LED and PD. Figure 2h shows one of the vial holders holding a culture vial. The diodes fit in openings on the side of the vial holder, which was adapted from Wong et al. [13]. The base of the vial holder (a separate component) houses the fan affixed with magnets and the vial holder. Figure 2k shows 3 fully assembled culture units inside the incubator with LED and PD attached. Figure 2l is a close up of one of these culture units. The vial holder base also raises the fan away from the metallic base of the incubator so there is no interaction between the base of the incubator and the solenoids of the fan.
If an incubator other than the one listed in the parts list is used for our experimental setup is to be used, the base file can be modified to ensure a fit with the incubator using any CAD software of choice Supplemental Information. Finally, the caps fit on the diode openings to push the diodes into the openings and ensure a secure fit. These caps minimize diode positioning differences between each CU, therefore improve replicability of experiments. Both figure 2h and figure 2l show the holders with caps for the LED and PD attached.
Electrical connections between components can be made with solder or with heat shrink tubing. The components needed to solder (soldering iron, solder, etc.) are not included in the parts list can be easily found online or at a hardware storeSupplemental Information. Heat shrink tubing requires a heat gun to shrink the tubing. While the experiments below utilized soldered components, heat shrink tubing and a heat gun were used to test connections made with this method. Hardware assembly for a single CU system are as follows. These steps are influenced in many aspects by the work done by Toprak et al. [11]. For an experiment done in triplicate, repeat the steps detailed three times.
Pump Assembly
Label a set of three pumps with “Media”, “Drugs”, and “Waste” (one label per pump)
Cut six pieces of 5 cm large silicone tubing.
Cut small silicone tubing into six 45 cm long pieces. Ensure that the length of the small tubing is able to reach the culture vial or the media reservoirs from the pumps.
Attach two pieces of large silicone tubing to the two tubes protruding from each pump.
Fit a male leur lock on the free end of the large silicon tubes.
Screw a female leur onto each of the male leur locks
Fit a small silicone tubing onto the female leur locks.
With the pumps facing up with the large silicone tubes at the top, label the large silicone tube on the left as the input.
Fit female leur locks at the end of the small silicone tubes attached to the “input” large silicone tubes.
Obtain three 60 cm red hook-up wire and three 60 cm black hook-up wire.
Curl one end of a red hook up wire around the positive terminal of a pump. Repeat for all three pumps.
Curl one end of a black hook up wire around the negative terminal of a pump. Repeat for all three pumps.
Use solder or heat shrink tubing to securely attach the wires to the pump.
Label the end of the wires with the pumps function (e.g. media, drug, or waste).
Figure 2b shows the wires solders to the pumps. Figure 2c shows the large and small silicone tubes attached to each other with leur locks.
Diode Assembly
Obtain a LED and photodiode.
Obtain two 60 cm red hook-up wires and two 60 cm black hook-up wires.
To each diode, curl the red wire around the positive terminal and curl the black wire around the negative terminal.
Solder or use heat-shrink tubing to securely fasten the four wires to the terminal it is curled around.
Label the end of the wires with the diode function (e.g. LED, PD).
Fan Assembly
Place one spots glue at the center of the axle of the fan.
Place the 3D printed fan spacer on the superglue and apply pressure so that the spacer is flat.
Place a spots of superglue on each of the spacers.
Place two magnets on the superglue of each spacer and apply pressure so that the magnets are flat.
Use solder or heat shrink tubing to securely attach the long black and red wires to the short black and red wires protruding from the fan, respectively.
Label the end of the wires with “fan”.
Allow the fan to dry for three hours before use.
The final product of the assembly is shown in figure 2a.
Combine the prepared fan with the 3D printed components
3D print the vial holder, the base, and the caps (Fig 2h).
3d printer settings:
Material: Black PLA
Layer height: 0.1
Print speed: 50 mm/s
Build plate temperature: 60°C
Printing Temperature: 195°C
30% infill
No support with components oriented upwards
No adhesion
Place the base inside the incubator.
Place the fan inside the incubator and route the cables through the hole at the top of the incubator.
Fit the fan on the base by sliding the fan through the four columns on the edges of the base.
Fit the vial holder on the base so that it rests above the fan on the columns.
Place the LED and PD in the incubator and route the wires through the hole at the top of the incubator.
Fit the LED into the hole in the vial holder marked LED.
Fit the photodiode into the hole in the vial holder marked PD.
Ensure that the diode terminals are bent and protrude from the notches on the diode holes.
Cover the diode holes with the 3D printed caps. Ensure a secure fit by pressing down the cap firmly (Fig 2h).
The vials that are used during experiments need to be modified so that they can accept media and the drug solution and eject waste during the experiment. Steps to modify the vials for experiments are as follows:
Vial Assembly
Cut a 7.5 cm piece of the small silicone tubing.
Cut four pieces of PEEK tubing, each 7.5 cm long.
Remove the cap of the vial and penetrate the cap with the PEEK tubing so that the insertion points are equidistant from each other.
Ensure that the PEEK tubes are at the appropriate height:
Two of the PEEK tubes should extend 1.25 cm below the cap and extend 3.8 cm above the cap.
One PEEK tube should extend 2.5 cm below the cap and 6.5 cm above the cap.
One PEEK tube should extend a 1 cm below the cap and 2.5 cm above the cap.
Apply the silicone sealant to both sides of the cap and around the protruding PEEK tubes to make the cap water and air tight.
Cut a 10 cm long piece of small silicone tubing.
Fit one end of the tubing to PEEK tube that extends 2.5 cm above the cap.
Fit the other end of the tubing to a female leur.
Push the female leur over the tapered end of a syringe filter.
There are four tubes connected to each vial. Each tube is meant for a specific task and are distinguished from each other by their heights as seen in figure 2e which shows 3 modified vials. The height differences of the PEEK tubes are important. As seen in the figure, the longest PEEK tubes extend into the surface of media so that it is able to remove waste from the culture. The shorter PEEK tubes are near the cap and are far from the surface of the culture to prevent contamination. The PEEK tubes connected to the air filter is the shortest so that it does not interact with the solutions pumped into the vial. In the figure, this tube is connected to the small silicone tubes.
Reservoirs of media and other liquids (for sanitation of the silicone tubes) also need to be made. These need to interface with the tubes from the pumps. Perform the following steps to create one reservoir:
Reservoir Assembly
Obtain a 500 mL beaker with cap
Remove the cap from the beaker and drill 4 holes with a diameter of 3 mm in the cap.
Cut three pieces of 45 cm small silicone tube.
Cut one piece of 15 cm small silicone tube.
Insert one 45 cm silicone tube into a hole in the cap so that tube can touch the bottom of the beaker when the cap is placed on top of the beaker.
Apply silicone sealant to both sides of the cap to secure the silicone tube (Figure 2i).
Repeat the previous two steps for each of the 45 cm silicone tubes.
Insert the 15 cm silicone tube into the last hole so that only 2.5 cm is below the cap.
Apply silicone sealant to both sides of the cap to secure the 15 cm tube.
Insert male leur locks at the end of the three 45 cm silicone tubes above the cap.
Insert a female leur lock at the end of the 15 cm silicone tube above the cap.
Push the female leur over the tapered end of a syringe filter.
Figure 2f shows the completed media reservoir with the small silicone tubes submerged in the media. Figure 2j shows a similar reservoir filled with 70% ethanol. This reservoir is used to sterilize the silicone tubes that interface with the culture vial. The silicone used to secure the tubes is also seen on the top especially in Figure 2i. Figure 2g shows the male leur locks on the end of the silicone tubes. The sterile air filter is also shown at the end of the 15 cm silicone tube.
Circuit Board
Schematic and PCB files can be found on the project’s GitHub (https://github.com/vishhvaan/eve-pi). Surface-mounted components including integrated circuits, resistors, diodes, and others can be found in the electronics section of the supplementary parts list Supplemental Information. PCBs can be printed from the PCB file and the necessary circuit components soldered to board to create a functional circuit board. Four simultaneous evolution experiments can be conducted from one circuit board connected to one Raspberry Pi.
Steps to setup the circuit board are as follows:
Connect the circuit board to the 12-volt power adapter. Ensure that the LED on the board is on after it has been plugged in.
Connect the circuit board to the Raspberry Pi with the ribbon cable.
Ensure that the top of the Raspberry Pi’s GPIO (’General purpose input/output pins’ located in an array-like configuration on one side of the Pi) is connected to the top of the GPIO port on the circuit board.
Collect the labeled wires of the diodes, pumps, and fan.
Push the wire into its appropriate position on the labeled Phoenix block terminal connector (red wires to the positive terminal and black wires in the negative terminal)
If assembling the circuit board is not desired, a breadboard can also be used. The PCB schematics can be utilized to build a circuit on the breadboard. When purchasing resistors, diodes, and integrated circuits to build a breadboard circuit, through-hole components should be bought instead of their surface-mounted counterparts. A Raspberry Pi GPIO breakout board included in the parts list as an optional component recommended when building the circuit with a breadboard Supplemental Information. In tests of building the machine, given the necessary components, an undergraduate engineering student (NW) was able to assemble the circuit in the course of five hours.
Software
The software in this device is built on the Python programming language and can be run from a single Raspberry Pi. Users interact with a simple web interface that is capable of controlling the hardware, running experiments, and editing configuration files, as shown in Fig 3. The web interface used in this project is forked from another open source script server (https://github.com/bugy/script-server) and modified to integrate with EVE control applications. This web interface can be utilized by multiple users connected to the local network, allowing for remote monitoring and control of experiments. This network capability of the device also allows it to save data to network locations, preventing lack of local space on the Pi from limiting experiment duration. The software allows data to be saved to a USB attached to the Pi or to network locations mounted to the Pi’s file system.
The Pi controls chips (the general-purpose input/output extenders, and analog-to-digital converters) digitally through the use of its I2C interface, a method of serial communication. These chips have associated hardware addresses that can be assigned by connecting address pins on the chips to a voltage source or to the ground. When creating the circuit on a breadboard, these hardware addresses can be set by following the circuit schematic or by assigning addresses of choice. Proper control of the hardware relies not only on knowledge of the hardware address of the chips but also the pins of the general-purpose input/output extenders (GPIO) to which the pumps, LEDs, fans were attached to and the pins of the analog-to-digital converters (ADC) to which the photodiodes were attached to.
Interaction and direct modification of the underlying Raspbian operating system or the core programs is unnecessary for most users who are unfamiliar with Linux or Python. However, since all the open-source software is contained in a clone of the GitHub repository, Python-savvy users can still be able to access the location of the files (/eve) and modify the programs to their specific needs.
When users run an experiment or control the hardware through the web interface, the executed programs rely on a configuration file that provides information about the hardware configuration. These parameters include the hardware address of the chips, the pins of the GPIOs pumps, LED, photodiode, and fan, duration of the experiment, time between pumps, thresholds for introduction of drug and media, and many others. All of these parameters can be found in the supplemental document titled “Configuration File Parameter Definitions”. This document can be found in the GitHub within the “Start Building” folder and can be directly downloded with the link in the supplemental documents. This configuration file can be edited through a built-in configuration file editor that can be accessed through the web interface.
Since the circuit board has a pre-wired set of hardware addresses for the four culture units, a pre-populated configuration file for the circuit board is included in the software. For those who wish to build a breadboard version of the circuit, a sample configuration file is also included. If the breadboard circuit was built exactly as described within the circuit schematic, the hardware addresses included in the configuration file will be sufficient to communicate with the chips, pumps, fans, and LEDs. If the circuit was built per user specifications, they can replace keys with their own parameters depending on the setup of their breadboard.
The software offers experiment monitoring in two ways: through Slack and through a web server that is deployed automatically when the experiment begins. The web server, based on Dash by Plotly, allows any user on the local network access to real-time progress of the experiment through a web browser [21]. With both Slack and this web server, users can monitor:
Voltage of a resistor connected to the photodiode - a surrogate of the optical density of the solution inside culture vial(s). This voltage value can optionally be correlated to the OD600 of the solution through a calibration curve.
Time and duration of specific pump activation.
Calculated drug concentration inside the culture vial(s). These calculations do not account for drug consumed inside the vial. It is based on the concentration of the drug solution reservoir and the duration of pump activity.
Thresholds of optical density before media or drug pumps are activated.
Temperature of the incubator.
Concurrent threads of activity in the program during the experiment.
For academic labs that use Slack as a means of communication, the EVE’s Slack integration may be a reliable way to monitor experiments. The program relies on the Slack API to creates a bots for each CU. These bots communicate with specific Slack channels and regularly update the channel with live updates from the experiment. Controls for the Slack integration can be modified within the configuration file. Steps to access the web server are detailed below.
Installation
The software was tested on the Raspbian Buster operating system installed on a Raspberry Pi model 3B. The software instructions are written for this combination of software. However, these instructions should also work on any Debian-based operating system installed on versions of the Raspberry Pi 3 or 4. To maintain ease of use, the software installer can be run on an empty installation of Raspbian which will download and setup all software requirements. It will also ensure that the web interface launches every time the Raspberry Pi is restarted. Alternatively, a Docker image compiled on the ARM architecture is available on the GitHub repo. This image and associated Dockerfile can streamline the installation process and also allow for deployment across many ARM devices. The instructions below detail the setup process with the installer from the GitHub. Instructions for the installation of the Docker image can be found on the image’s Docker Hub.
Steps to install the software on the Raspberry Pi are as follows:
Download and flash the Raspbian Buster OS on an SD card.
Insert the SD Card into the Pi and connect the Pi to a display, keyboard, and the local area network.
Note the IP address of the device with the command: ifconfig.
Enter super user mode with the command: sudo su.
Run the setup script by entering the command: bash <(curl-s https://raw.githubusercontent.com/vishhvaan/eve-pi/master/st_eve.sh)
Follow the on-screen instructions to install the software.
If the Pi has a browser, navigate to the web interface by accessing: http://localhost.
On a browser on the network, navigate to the web interface by accessing the IP address or hostname of the device (e.g. http://eve.local_domain.net).
Usage
The EVE web interface has several tabs that perform different functions. The functions of the tabs are as follows:
Pump control – This tab allows users to turn on specific pumps of specific CUs connected to the circuit board. The ‘CU #’ field allows users can select multiple devices simultaneously by entering a comma separated list (i.e. 1,2,3) or using the text “all” to select all the enabled CUs. Users are able to input time and the pump type (e.g.: media and drugs alone). The program relies on the configuration file to find the hardware addresses of the CUs. If the CU is disabled in the configuration file, the program will not activate the pumps for the system. This is a safety mechanism that prevents activation of mis-configured pumps.
One of the main functions of this program, in the context of the EVE, is sterilization of the silicone tubes prior to the experiment. When reservoirs of 10% bleach and 70% ethanol are connected to the pumps, this program can be run to pump fluid through the tubes, cleaning it prior to the exposure to media during the experiment. Instructions for these steps are detailed below.
Fan Control – This tab allows users to toggle power to specific or multiple fans.
Run Experiment – This tab runs the experiment on the EVE based on the settings in the configuration file.
Configuration Editor – This tab runs the editor for the configuration file. Users can view the configuration file and edit specific keys. This program offers an alternative for users who are not familiar with the Linux terminal and don’t want to use SSH to edit the configuration file.
PD Test – This tab tests the functionality of the LED and photodiodes of specific or multiple CUs. Users have the ability to modify the time between queries and number of times each PD is queried. This program can be used to test the circuit and debug the setup.
Pi Power Control – This tab allows users to restart or power off the Pi.
Pumps and LED Off – This tab turns off all the pumps and LED in all the CUs connected to the EVE. This program provides a method to stop pumps or LED activity before the original program finishes running. In the event of an error, this program can also be used to an efficient way to halt the pumps the LED.
Resource Viewer – This tab displays system statistics for the Pi, including real-time CPU and memory usage.
After the experiment is begun, the live plotting interface is automatically deployed after the first set of data is written to the file (approximately 1 minute after the experiment starts). To visit the live plotting interface, users edit the web address based on the address of the web interface by adding the port 8050. For instance, if the users accessed http://localhost for the web interface, the live plotting interface can be found at http://localhost:8050. If the users accessed the device by the hostname or the IP address, the same rule applies (e.g.: http://eve.local_domain.net:8050 if the web interface is found at http://eve.local_domain.net)
The live plotting interface, shown in Fig 4, can be navigated with the tabs at the top of the website. Every time the web page is refreshed, the Dash server processes the data from the output file and displays the most recent data. This ad hoc method of processing data for graphing proves to be less of a computational burden on the Pi compared to a strategy where data is processed on a regular basis. The first tab provides an overview of all the data while the other tabs (Pumps, Drug Concentration, Threads, and others) provide focused comparisons of specific data types. Users can select specific Culture Units to compare in the second row of tabs.
Calibration
Calibration can be performed to map voltage of the photodiode (a surrogate of the optical density of the culture) to the true absorbance of the culture at 600nm. This is an optional step as this mapping is linear and therefore does not change the fundamental shape of the growth curve. Calibration data can be easily recorded through the calibration program of the the web interface. The steps to obtain calibration data are as follows:
Transfer a vial of culture saturated with bacteria to a Culture Unit.
Use the calibration program in the web interface to record 30 measurements of the voltage reported by the ADC. Data is recorded with in tandem with a user specifed unique identifier and Culture Unit number.
Repeat steps 1 2 until the voltage reported from all three Culture Units have been measured.
Transfer 100µL of the concentrated solution to a 96 well plate in triplicate.
Label the plate so that the three samples are tagged with the same unique identifier used in the data.
Remove 1mL of the concentrated culture solution and replace that volume with fresh media.
Repeat steps 1 - 6 until the voltage reported by the cultures units do not change between dilutions.
Measure the absorbance of the samples on the 96 well plate with a spectrophotometer.
Collect data from the EVE and the spectrophotometer.
Match data with the same unique identifiers.
Create columns for each Culture Unit with with averages of the voltage measurements at each unique identifier.
Create a column for the true optical density of each unique identifier.
Perform linear regression on each voltage column with the true optical density column to obtain the calibration line for each Culture Unit.
The spectrophotometer that we used to measure the true optical density of the samples was the Biotek Synergy H1 Hybrid Reader. Fig 5 demonstrates an example of a calibration curve that was generated based on EVE. Based on the regression values of the models generated, the relationship between the voltage recorded by EVE and the true optical density of the culture at 600nm is linear. The calibration lines are similar across CUs indicating similar voltage response of each Culture Unit. This implies that any voltage differences measured between CUs is a result of differences in the behaviour of the population.
Experimental Use Cases
Prominent bioreactors featured in literature are very versatile and can be used to perform a variety of experiments. The EVE aims to follow suit by being capable of performing a variety of experiments. In this section, two basic biological experiments that can be carried out by the EVE are described.
Bacterial Growth
In this experiment, the real time bacterial growth of common K12 Escerichia coli can be followed by tracking optical density. This experiment can be especially enticing for students or educators since it requires less hardware to be setup and can provide a cross-disciplinary approach to biology. For this experiment the following list of parts are needed for single vial:
An incubator that can reach 37ºC.
3D printed vial holder, base, and caps.
12V computer fan and magnets.
LED and photodiode as setup above.
A breadboard circuit or a circuit board.
Soldering or heat-shrink technology.
K12 E. Coli.
Broth to culture bacteria
If an autoclave is accessible:
Bacterial growth media powder. Options include:
Lysogeny Broth (LB) powder. Mueller Hinton (MH) Broth powder.
Distilled Water.
If an autoclave is not accessible:
Sterile pre-prepared broth
70% ethanol
Bunsen burner
Culture Vials modified to only have 1 PEEK tube for air flow.
Magnetic stir-bar.
For a triplicate experiment, three times the 3D printed parts, diodes, fans, and magnets are needed. Note that no pumps or tubes are needed for this experiment. Once the system has been setup, as described above, users setup the vial to support bacterial growth. To do this, Sigma Aldrich MH Broth is first made by dissolving 21 g of powder in 1 liter of deionized or distilled water. For other brands of MH broth, brand-specific preparation instructions should be followed. It is always recommended to autoclave media after it is created to prevent contamination of the media itself. However, if an autoclave is not available, there are several alternatives proposed by the WHO in their “Methods of Sterilization” [22]. Sterilize the bench area and gloves with 70% ethanol. Work near a lit Bunsen burner to maintain a sterile field. Then, 12 mL of the broth is transferred to the culture vial with stir-bar inside. The vial is then inoculated with 0.5 g of the K12 E. coli and is placed in the holder. The experiment can then be started from the web interface.
To build a system that can multiplex multiple vials simultaneously, multiple 3D printed parts, computer fans, diodes, and vials are needed. The rest of the parts do not have to be multiplied.
As the experiment progresses, users can monitor the bacteria’s growth via the live web interface or through the included Slack integration. At the end of the experiment, users can parse the recorded data and visualize the data using their own methods. Graphs of a trial we performed are included in Fig 6.
Evolution of Antibiotic Resistance
The second experiment demonstrates the EVE’s full functionality by applying a selective pressure to bacteria as it grows. An antibiotic, in this case ampicillin, is introduced to the culture vial as the bacteria grows by passaging the drug mixed with media. Additionally, the culture is kept in the log-phase of growth during the duration of the experiment by passing fresh media into the vial while removing waste simultaneously. This experiment builds upon the setup of the simpler bacterial growth experiments. Pumps and silicone tubing would need to be setup for this phase of the experiment. In addition to the parts described in the bacterial growth experiment the following parts would be needed for a single vial antibiotic evolution experiment:
3 pumps setup as described in the pump setup section.
Vials modified as described in the Assembly section.
Reservoir of MH broth (prepared as explained above).
Reservoir of MH broth with added antibiotics.
Reservoir of 10% bleach.
Reservoir of 70% ethanol.
Reservoir of distilled water.
2L Erlenmeyer Flask
Bunsen Burner
To create a reservoir of MH broth with antibiotics, antibiotics are simply added to a reservoir of MH broth. The concentration of antibiotics in the reservoir is important. Toprak et al. found that 10 times the MIC inhibited growth sufficiently [11]. Since the duration of the activation of the drug pump is modifiable in the software, this is also a factor when calculating the dose of antibiotics in the reservoir. The shorter the pump time, higher concentrations of antibiotics are needed to produce the same inhibitory effect on the culture. Generally, with the default pump time of 0.75 seconds, we found that 10 times the MIC of ampicillin (much like the findings of the Toprak paper) inhibited growth in our cultures. When approximately 1 mL of the total 12 mL culture volume is substituted with drug solution at 10 times the MIC, assuming that the culture hasn’t been exposed to drug prior, the total concentration of the drug inside the vial becomes 83.3% of the MIC. As more drug solution is substituted with the culture volume, the concentration of drug (and percentage of MIC) will increase. Conversely, if media is substituted with the culture volume, the percentage of MIC will decrease. Users can optimize these parameters as needed depending on the antibiotics they use.
Again, for a triplicate experiment, three times the pumps and vials are needed and the steps below also need to be repeated thrice. The same reservoirs can be used for multiple replicates. When running an experiment on the EVE, especially one that will last several days, it is important to maintain a sterile environment – especially the silicone tubes, which are exposed to the media. During long-term (on the order of weeks) experiments, some groups have been known to clean the tubes between pump activations or pause the software. To sterilize the tubing:
Spray all luer connectors with 70% ethanol.
Attach the three outputs of the 10% bleach reservoir to the inputs of the media, bleach, and waste pumps.
Run all three pumps for 60 seconds.
Disconnect the 10% bleach reservoir from all three pumps.
Attach the three outputs of the 70% ethanol reservoir to the inputs of the media, bleach, and waste pumps.
Run all three pumps for 60 seconds.
Disconnect the 70% ethanol reservoir from all three pumps.
Attach the three outputs of the distilled water reservoir to the inputs of the media, bleach, and waste pumps.
Run all three pumps for 60 seconds.
Disconnect the distilled reservoir from all three pumps.
Attach one output of the media reservoir to the input of the media pump.
Run the media pump for 20 seconds to preload media in the tube.
Attach one output of the media reservoir to the input of the drug pump.
Run the drug pump for 20 seconds to preload drug solution in the tube.
After this step, the vial is ready to be placed in the holder and attached to the tubes for the media, drug solution, and waste:
Obtain a 2-liter Erlenmeyer flask and label it as waste.
In a sterile field, transfer 12 mL of MH broth to the culture vial with a stir-bar inside.
Inoculate the vial with 0.5 g of the K12 E. coli.
Close the vial with the cap.
Place the vial on the holder.
Attach one output of the media reservoir to the input of the media pump.
Attach one output of the media reservoir to the input of the drug pump.
Insert the input tube of the waste pump into the incubator through the opening at the top.
Connect the tube to the longest PEEK tube of the vial.
Insert the output of the media pump and the output of the drug pump into the incubator through the opening at the top.
Connect these two tubes to the remaining two short PEEK tubes of the vial.
After these steps are completed, the experiment is ready to begin and can be started from the web interface. To keep track of the concentration inside the vial, the concentration of the drug inside the reservoir is modified in the configuration file before the experiment starts. Based on the amount of time each pump is run (another variable that can be modified in the configuration), the total amount of drug in the vial can be tracked. Sample graphs of a singleton experiment are shown in Fig 6 and a triplicate shown in Fig 7. This experiment demonstrates the selection of an E. coli culture with ampicillin in a CU. In figure 6, there are small dilutional effects as a result of the media being added to the culture vial. The effect of the initial addition of the drug solution is significant and leads to a 33.5% reduction of the optical density. According to the selection algorithm, the drug concentration is then lowered to allow for the recovery of the population. This is done by repetitively adding fresh media to the culture while removing waste. In the experiment, the bacterial population is able to recover in 12 hours. The drug solution is then re-introduced to the culture. After this second introduction, the optical density decreases 15%, indicating development of tolerance/resistance to the drug. The population is again allowed to recover for a shorter period – around 6 hours. After this recovery period, the addition of more ampicillin does not kill the population. At the end of the experiment, the cells are effectively resistant to ampicillin. Resistance of the resultant population can be confirmed with an MIC assay [23]. The experiment can be performed with a variety of different drugs, however drug stability in cell culture should be considered. For instance, ampicillin is stable in culture for 3 days [24]. If the experiment lasts longer than the stability of the drug in culture, the drug solution can be refreshed by replacing the drug reservoir with one that is freshly made.
Discussion
While extensibility was of prime importance, device affordability was also an important consideration during the design of the device. Based on the parts used in our experiment, an EVE build for simple growth experiments with triplicate CUs can be built for approximately $72, while an EVE build for directed growth experiments with selective agents will cost approximately $154.Supplemental Information This cost is an estimate for all the parts excluding the incubator, 3D printer costs, and any glassware needed to prepare the solutions for the experiment. A system meant for growth experiments is markedly cheaper since it does not require pumps or tubing – parts which can add significantly to the total cost of the system. Vendor costs are also listed on the parts list, so costs can be driven down significantly for users who buy their parts from commercial vendors such as eBay or Amazon. This is particularly relevant for those who wish to implement the system in the educational setting. This low cost enables labs to explore concepts of evolution without investing much capital into tools. The cost also makes this project feasible for the educational environment, where cost is not a burden for educators to investigate the feasibility of this project in their classroom or extra-curricular setting. The two experiments described above serve as tests of the hardware and software and demonstrate the most essential components of the system. Successful completion of the first experiment confirms proper operation of the LED sensors and the connections from the microcontroller. In addition, it provides ample opportunity to identify sources of contamination.
The dilution rate of the EVE can be calculated by expanding the equation D = F/V where D is the dilution rate of the bioreactor, F is the flow rate of fresh media, and V is the total culture volume of the reactor. Based on parameters used in this system, the dilution rate can be re-written as D = (P × tp)/(V × ti) where P is the pump flow rate of the media pump, tp is the time the media pump is active, V is the total volume of the culture vial (usually 12 mL), and ti is the interval of time between pump activations (usually 12 minutes). This formula is takes into account the periodic activation of the media pump in the EVE as opposed to the continuous infusion of fresh media that is commonplace in conventional bioreactors. The parameters in the formula can be modified in the configuration file, and in some cases (such as turbidostat mode) can be modified automatically by the EVE depending on the state of the culture. As a result, the software measures and graphs the dilution rate throughout the experiment for easy monitoring. In steady state conditions (where the dilution of the culture is equal to the amount of growth in the culture), users can approximate the doubling time of the bacteria in the culture unit by taking the inverse of the dilution rate and multiplying this number with the natural logarithm of two.
Bacteria is commonly used in the educational environment to promote awareness of scientific concepts. Generation of simple bacterial growth curves require fewer resources and is generally very suited for education. Experiments in the EVE to evolve resistance are more suited to the academic environment due to the relative availability of antibiotics and proper pathways to dispose of resistant organisms. However, students and teachers can perform the evolution experiment in the EVE with the use of natural antibiotics such as garlic or ginger extract. [25] In these scenarios, students and teachers mix these natural products into their drug reservoir when creating it. These natural products provide a safe way to explore evolution in bacteria and are also easily accessible by students or teachers.
The second experiment demonstrates the pumps and the ‘morbidostat’ algorithm in action. The algorithm incorporated into the system is a modification from Toprak et al. [11] In its origtnal conception, maximum and minimum OD thresholds are determined from pre-experiment bench tests and are dependent on a number of variables including the species of bacteria used. Different trials of the same bacteria might also yield different maximal optical density readings and the bacteria might enter the log phase at different optical densities owing to the stochasticity of evolution [26] as well as variation in ambient light annother experimental conditions. To account for this variation, the control program is capable of shifting the threshold automatically. It does this by estimating the first derivative and second derivative of the real-time optical density (real-time growth rate and real-time growth acceleration respectively). Based on these readings, it shifts the threshold to the optical density when the growth rate crosses a certain pre-specified threshold and the growth acceleration is approximately zero. In the results and conclusion presented here though ‘optical density’ is discussed, the true absorbance was not calculated or derived, with the data reported being raw voltage data from the photodiode. A simple calibration of this data using a standard spectrophotmeter is recommended to report data from the machine in terms of true optical density.
When antibiotics are added to the solution, there is a corresponding reduction in optical density. Ostensibly, this reduction is due to the cytotoxic effect of the antibiotics, leading to a reduction to the number of alive cells in the vial. However, other factors need to be considered in this scenario. The effect that dead cells within the culture have on optical density is yet unknown. Indeed, death may not be happening at all and the antibiotics simply limit the cell division of the bacteria (bacteriostatic behavior) while the pumps dilute the culture by periodically pumping in fresh media. Nevertheless, reductions in the optical density post antibiotic infusion are certianly due to the actions of the antibitiocs regardless of the mechanism of action. Subsequent reduction in the reaction of the population to addition of antibiotics can be classified as development of resistance.
A further, novel application of this system is the ability to manage multiple protocols at once. The capability of the EVE system to manage multiple protocols in this manner makes it the only system of its kind that is fully open source and of low-cost. Such versatility allows this system to be used as a comprehensive automated evolution experiment management tool for numerous diverse experiments in a self-contained integrated manner. In the experiment above, the default algorithm used is identical to that used in the original paper by Toprak and colleagues (Figure 1 in that paper). In this algorithm, the culture is allowed to recover by sequentially passing fresh media after exposure to the drug. However, there is an alternative control algorithm that can be used during the experiment. Users can choose to maintain a constant concentration of drug once the bacterial population is sufficiently healthy inside the tube. Biologically, since the selective pressures of the different populations were applied differently, the way resistance is reached between the two populations is different.
In contrast to other pressured bioreactors, EVE does not keep the culture vial pressurized or rely on air pumps to transfer liquid. Liquid pumps are used to both pump waste out of the vial as well as pump fresh media and drug solution into the vial. To maintain atmospheric pressure, the vials and reservoirs are fitted with sterile air filters. These filters maintain atmospheric pressure across the system while ensuring sterile conditions within the stock of fresh media and preventing contamination of the culture units.
The maximum theoretical drug concentration inside the vial is equal to the concentration of the drug inside the drug solution reservoir. Maximizing this theoretical drug concentration, however, is at odds with slowly raising the concentration of the drug inside the vial. If the reservoir is too concentrated and if the drug solution pump replaces 1/12th of the solution, it is likely that the drug concentration will be extremely high inside the vial and kill all the bacteria. A solution to this problem is to allow the drug solution pump to run for different lengths of time depending on the stage of the experiment. If instead of replacing 1/12th of the solution at the beginning, if the pumps run for a shorter time, a lower concentration of drug can be achieved inside the vial. Later in the experiment, the drug pumps can be run for longer, ensuring that the population is exposed to the maximal possible drug concentration. A maximum ∆V (such as the 1mL proposed by Toprak and colleagues) can be specified so that the culture population does not get washed away by the drug solution. This way, development of resistance is assured and the population faces strong selection pressures as the experiment progresses.
The EVE also easily lends itself to fluorescence experiments where LED and PDs corresponding to excitation and emission frequencies can be incorporated into the design. By using fluorescence instead of optical densities, growth of several populations can be distinguished. In the context of varying selective pressures (provided by the antibiotics), interactions of different populations of bacteria can be studied to further elucidate the effect of these interactions on the generation of drug resistance. Game theory and other methods of mathematical modeling can be used to draw conclusions about the interactions of the different species/types of bacteria [27, 28].
Insights for the Future
There are several limitations of the device. Naturally, since all the software is executed from the Raspberry Pi, memory and processing power is limited during the experiment. Many of the programs, especially the master program that interfaces with the circuit board during the experiment, have been streamlined to utilize as little of the memory and processing power as possible. A queuing system was implemented to prevent many threads that utilize high processing power from executing at the same time. Furthermore, as more culture units and corresponding sensors are configured, an increasingly lower resolution list of the data is generated in addition to the high-resolution optical density data. This lower-resolution data is used for the live graphing to prevent the greater processing power that’s required to graph high resolution data.
To circumvent processing power and memory constraints from preventing users to implement more CUs, future work on a server-based version will be implemented to take advantage of remote processing power while allowing the Raspberry Pi simply interface with the circuit board and relay information to the server. In this scenario, the web interface and all the data are managed by the server. Docker integration in this step will be crucial to streamline the process and create a simplistic but powerful and robust way to deploy the EVE system across the local network.
Another limitation of the current design is that the circuit board only supports 4 simultaneous culture units. In this scenario, the hardware addresses are “hard-coded” into the circuit board design. An alternative, but more complicated design, would allow for jumpers on the circuit board, allowing users to easily select four different hardware addresses. The user is then able to attach circuit board together with one circuit board interfacing with the Raspberry Pi. Ultimately, for users who would like to increase the level of multiplexing, with 4 circuit boards connected to each other, a maximum of 16 CUs will be able to be controlled simultaneously. An advantage of this design is its modular capabilities, allowing users to only print as many circuit boards as they need and limit the number of components needed to make a functional circuit board and reduce overall system cost. A future version of the circuit board will implement this design improvement.
Another future direction is to allow the machine to sequentially inject multiple drugs autonomously. The current version of the proposed system only passages one drug solution and therefore can only explore the pathways to specific drug resistance. However, there are many biologically and clinically relevant questions that can be asked when different drugs are given sequentially or together. Concepts like collateral sensitivity and cross-resistance can be effectively studied – especially when combined with frequent sampling of the bacterial population [26, 29]. Tracking the concentrations of multiple drugs in the vial and creating algorithms for drug scheduling can be added in future updates or merged to the main repository from community-driven efforts. In this scenario, a microfluidic solution such as that implemented by Wong et al. would be useful [13].
Conclusion
We present a low-cost, open-source, extensible, and functionally-flexible bioreactor design. The utility of this machine is not just limited to the lab environment where the evolution of drug resistance can be studied with high temporal resolution, but extends to the educational environment where students and educators can engage in an interdisciplinary project to study biological concepts through technology.
The proposed framework can have many applications, including many not discussed here. Indeed, use of this device may be used to study a wide variety of biological concepts – even outside the field of evolutionary biology. The open source nature of the project welcomes modification to the hardware and the software for more specialized applications of the technology. We hope the versatile and accessible nature of this device makes it useful for scientists and educators from all areas.
Supplemental Information
Parts list. List of all parts that comprise the EVE system with estimated price: https://github.com/vishhvaan/eve-pi/raw/master/Start%20Building/Parts%20List.xlsx.
Configuration File Parameter Definitions. List of all the modifiable variables and experiment parameters for each Culture Unit: https://github.com/vishhvaan/eve-pi/raw/master/Start%20Building/Configuration%20File%20Parameter%20Definitions.xlsx.
3D Hardware Files. All the STLs and SLDPRTs for EVE hardware: https://github.com/vishhvaan/eve-pi/tree/master/Start%20Building/3D%20Files.
Circuit Schematics. Circuit schematics and files required to print or modify a Printed Circuit Board (PCB): https://github.com/vishhvaan/eve-pi/tree/master/Start%20Building/Circuit%20Board%20Files.
Contributions
Acknowledgments
Rick, our 3D printer. We love you mate. In addition, we’d like to thank VeloSano for their generous support of this work.
Footnotes
↵* scottj10{at}ccf.org