(33 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{NAWI_Graz:navbar}} | {{NAWI_Graz:navbar}} | ||
<html> | <html> | ||
+ | <div class="jumbotron"> | ||
<div class="section section-heading container"> | <div class="section section-heading container"> | ||
<h1>BIOREACTOR</h1> | <h1>BIOREACTOR</h1> | ||
+ | </div> | ||
+ | <div class="section-text container"> | ||
+ | In order to habitate our ‘<command class="colibot"/> strain’, a bioreactor was needed offering optimal conditions. Magnetic stirring, a thermostat and a construction that keeps the optical density of the bacterial culture in range, had to be built. | ||
</div> | </div> | ||
+ | </div> | ||
+ | |||
<br> | <br> | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<div class="section container"> | <div class="section container"> | ||
<h2 class="section-sub">Ports on top of the reactor bottle</h2> | <h2 class="section-sub">Ports on top of the reactor bottle</h2> | ||
− | <div class=" | + | <div class="section-text container"> |
<ul class="list-group"> | <ul class="list-group"> | ||
<li class="list-group-item"> | <li class="list-group-item"> | ||
Line 24: | Line 23: | ||
<b>pH Sensor: </b>Wide opening for the pH-Sensor (DFRobot pH sensor)</li> | <b>pH Sensor: </b>Wide opening for the pH-Sensor (DFRobot pH sensor)</li> | ||
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Port 1: </b>Silicone tubing inlet for dilution of the reactor medium | + | <b>Port 1: </b>Silicone tubing inlet for dilution of the reactor medium, from a peristaltic pump that |
− | pumped fresh sterile medium | + | pumped fresh sterile medium</li> |
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Port 2: </b>Glass tubing that reached to the bottom of the reactor bottle | + | <b>Port 2: </b>Glass tubing that reached to the bottom of the reactor bottle used to pump out medium for |
− | OD measuring </li> | + | OD measuring</li> |
<li class="list-group-item"> | <li class="list-group-item"> | ||
<b>Port 3: </b>Inlet for silicone tubing (acidic solution)</li> | <b>Port 3: </b>Inlet for silicone tubing (acidic solution)</li> | ||
Line 34: | Line 33: | ||
<b>Port 4: </b>Inlet for silicone tubing (basic solution)</li> | <b>Port 4: </b>Inlet for silicone tubing (basic solution)</li> | ||
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Port 5: </b>Silicone tubing outlet - the tubing was placed deep inside the reactor bottle | + | <b>Port 5: </b>Silicone tubing outlet - the tubing was placed deep inside the reactor bottle used to pump |
− | out medium to the heating block and the fluorescence chamber </li> | + | out medium to the heating block and the fluorescence chamber</li> |
</ul> | </ul> | ||
+ | <br> | ||
+ | <img class="section-image" src="https://static.igem.org/mediawiki/2017/c/c4/Reactortop.png" alt="[Bioreactor top view]"> | ||
</div> | </div> | ||
− | + | <div class="section-sub-text container"> | |
− | < | + | <b>Fig. 1:</b> Top view of the reactor bottle cap. A 500 ml lab bottle with GL 80 opening was the main equipment for the reactor. Several holes were drilled into the cap and metal threads placed inside them. |
− | + | ||
</div> | </div> | ||
<br> | <br> | ||
Line 46: | Line 46: | ||
<div class="section container"> | <div class="section container"> | ||
<h2 class="section-sub">OD Maintenance</h2> | <h2 class="section-sub">OD Maintenance</h2> | ||
− | <div class=" | + | <div class="section-text container"> |
To keep the optical density of the reactor medium at values that are beneficial for good fluorescence signals, an "OD maintenance | To keep the optical density of the reactor medium at values that are beneficial for good fluorescence signals, an "OD maintenance | ||
− | system" was built. This consists of two arduinos, | + | system" was built. This consists of two arduinos, an H-bridge module, two peristaltic pumps, a bottle with sterile |
− | medium and a waste bottle. The setup uses two "Arduino | + | medium and a waste bottle. The setup uses two "Arduino nanos" - one measuring the OD and the other controlling |
the peristaltic pumps. | the peristaltic pumps. | ||
</div> | </div> | ||
<h3 class="section-sub-sub">OD Measuring Device</h3> | <h3 class="section-sub-sub">OD Measuring Device</h3> | ||
− | <div class=" | + | <div class="section-text container"> |
The OD measuring device was built by 3D-printing a case that surrounds a regular UV-cuvette. This case has an opening on | The OD measuring device was built by 3D-printing a case that surrounds a regular UV-cuvette. This case has an opening on | ||
− | + | one side for the 600 nm LED and on the other side for the light-sensor. A hole was drilled into the bottom of the | |
− | UV-cuvette and sillicone tubing was fitted inside. The tubing was | + | UV-cuvette and sillicone tubing was fitted inside. The tubing was sealed with 2-compound glue to be air-tight. |
A 3D-printed cap was put on top of the casing that also had a hole for a second piece of silicone tubing. To | A 3D-printed cap was put on top of the casing that also had a hole for a second piece of silicone tubing. To | ||
− | protect the OD chamber from any outside light, another case was modeled and 3D printed. The OD chamber was fitted | + | protect the OD-chamber from any outside light, another case was modeled and 3D-printed. The OD-chamber was fitted |
inside this white chamber and cables and tubing were glued to it. | inside this white chamber and cables and tubing were glued to it. | ||
</div> | </div> | ||
− | <div class=" | + | <div> |
− | + | <img class="section-image" src="https://static.igem.org/mediawiki/2017/thumb/6/62/Assembled_text.png/800px-Assembled_text.png" alt="[OD measuring device]"> | |
</div> | </div> | ||
− | <div class=" | + | <div class="section-sub-text container"> |
− | <b>Fig. 2:</b> The parts that were used to assemble the OD measuring chamber. | + | <b>Fig. 2:</b> The parts that were used to assemble the OD-measuring chamber. |
</div> | </div> | ||
− | <div class=" | + | <div class="section-text container"> |
− | The assembled OD-case can be seen in figure 3. | + | The assembled OD-case can be seen in figure 3. Inside one of the openings, a LED with approximately 600 nm and in the other opening, a light sensor (“TSL 235R-sensor”) was placed |
− | at the side and the light sensor (“TSL 235R-sensor”) inside the other opening. | + | at the side and the light sensor (“TSL 235R-sensor”) inside the other opening. An isolation tape was wrapped around |
the OD-chamber to keep everything in place and to protect the sensor from outside light. | the OD-chamber to keep everything in place and to protect the sensor from outside light. | ||
</div> | </div> | ||
− | <div class=" | + | <div> |
− | + | <img class="section-image" src="https://static.igem.org/mediawiki/2017/thumb/a/a5/OD_parts_text.png/800px-OD_parts_text.png" alt="[OD measuring device parts]"> | |
</div> | </div> | ||
− | <div class=" | + | <div class="section-sub-text container"> |
− | <b>Fig. 3:</b> The assembled OD-chamber | + | <b>Fig. 3:</b> The assembled OD-chamber, the 600 nm LED and the photo resistor are pointing at each other. The emitting |
light of the LED can travel through the cuvette. | light of the LED can travel through the cuvette. | ||
</div> | </div> | ||
− | <div class=" | + | <div> |
− | + | <img class="section-image" src="https://static.igem.org/mediawiki/2017/thumb/8/83/Real_picture.png/800px-Real_picture.png" alt="[OD measuring device assebly with case]"> | |
</div> | </div> | ||
− | <div class=" | + | <div class="section-sub-text container"> |
− | <b>Fig. 4:</b> A 3D printed casing was used to protect the OD-chamber from any outside light sources. | + | <b>Fig. 4:</b> A 3D-printed casing was used to protect the OD-chamber from any outside light sources. |
</div> | </div> | ||
<br> | <br> | ||
Line 90: | Line 90: | ||
<h2 class="section-sub">OD Maintenance Set-Up</h2> | <h2 class="section-sub">OD Maintenance Set-Up</h2> | ||
<h3 class="section-sub-sub">Hardware:</h3> | <h3 class="section-sub-sub">Hardware:</h3> | ||
− | <div class=" | + | <div class="section-text container"> |
<ul class="list-group"> | <ul class="list-group"> | ||
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Pump 1:</b> Used to pump out medium from the reactor bottle into the OD chamber and finally to the | + | <b>Pump 1:</b> Used to pump out medium from the reactor bottle into the OD-chamber and finally to the |
waste bottle</li> | waste bottle</li> | ||
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Pump 2:</b> Used to dilute the reactor medium with fresh sterile medium if | + | <b>Pump 2:</b> Used to dilute the reactor medium with fresh sterile medium, if required</li> |
<li class="list-group-item"> | <li class="list-group-item"> | ||
<b>Pump 3:</b> Used to pump out reactor medium through the heating block and the fluorescence chamber | <b>Pump 3:</b> Used to pump out reactor medium through the heating block and the fluorescence chamber | ||
− | into another waste bottle | + | into another waste bottle</li> |
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Arduino 1:</b> Arduino controlling the H-Bridge module that had the peristaltic pumps attached | + | <b>Arduino 1:</b> Arduino controlling the H-Bridge module that had the peristaltic pumps attached</li> |
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Arduino 2:</b> Arduino running the OD-measuring code, sending GPIO signals to Arduino 1 if necessary | + | <b>Arduino 2:</b> Arduino running the OD-measuring code, sending GPIO signals to Arduino 1, if necessary</li> |
</ul> | </ul> | ||
</div> | </div> | ||
− | <div class=" | + | <div> |
− | + | <img class="section-image" src="https://static.igem.org/mediawiki/2017/thumb/6/6b/Od_maintenance_correct2.png/800px-Od_maintenance_correct2.png" alt="[OD setup top view]"> | |
</div> | </div> | ||
− | <div class=" | + | <div class="section-sub-text container"> |
− | <b>Fig. | + | <b>Fig. 5:</b> Top view of the whole OD-maintenance setup. A bottle of fresh sterile medium and a waste bottle |
were connected to the peristaltic pumps 1 and 2. | were connected to the peristaltic pumps 1 and 2. | ||
</div> | </div> | ||
− | <div class=" | + | <div class="section-text container"> |
− | Arduino 2 was used to run the "Aachen final.ino", an Arduino code used by the | + | Arduino 2 was used to run the "Aachen final.ino", an Arduino code used by the <a href="https://2015.igem.org/Team:Aachen">2015 iGEM team Aachen</a> to measure the optical |
density of a medium with the "TSL 235R-sensor". Before use, the system had to be calibrated with samples | density of a medium with the "TSL 235R-sensor". Before use, the system had to be calibrated with samples | ||
− | of known OD (measured with a laboratory OD-device). The output value was transformed into real OD-values | + | of a known OD (measured with a laboratory OD-device). The output value was transformed into real OD-values |
− | for better control of the experiment. Then a "switch case" code was written | + | for better control of the experiment. Then a "switch case" code was written using this output value to |
− | decide whether fresh medium was needed to dilute the reactor medium or if a defined pause was | + | decide whether fresh medium was needed to dilute the reactor medium or if a defined pause was required for |
the next measuring cycle. The Arduino 2 communicated with Arduino 1 via GPIO signals. | the next measuring cycle. The Arduino 2 communicated with Arduino 1 via GPIO signals. | ||
</div> | </div> | ||
− | <div class=" | + | <div class="section-text container"> |
− | For a measuring cycle the coding on the Arduino 1 was designed as | + | For a measuring cycle the coding on the Arduino 1 was designed as follow: After 20 minutes had passed, a small amount of |
medium was pumped out of the reactor and through the OD-chamber from below. Then a 5 second delay was used | medium was pumped out of the reactor and through the OD-chamber from below. Then a 5 second delay was used | ||
for any bubbles inside the chamber to dissociate. A delay ensured Arduino 2 to measure the optical density | for any bubbles inside the chamber to dissociate. A delay ensured Arduino 2 to measure the optical density | ||
in the meantime. Then the code was waiting for GPIO signals of Arduino 2 that triggered the pump 2 if necessary. | in the meantime. Then the code was waiting for GPIO signals of Arduino 2 that triggered the pump 2 if necessary. | ||
− | Our experiments showed that the optimal optical density for proper fluorescence signals was at OD | + | Our experiments showed that the optimal optical density for proper fluorescence signals was at an OD<sub>600</sub> of 0.3. |
− | The OD-maintenance system was set to this value and was able to keep the OD at ~ 0.3 over a long period of | + | The OD-maintenance system was set to this value and was able to keep the OD<sub>600</sub> at ~ 0.3 over a long period of |
− | time (or until there was no fresh medium left) | + | time (or until there was no fresh medium left). Whenever an OD<sub>600</sub> bigger than 0.3 was reached, approximately 5 ml of fresh |
sterile medium was pumped into the reactor bottle. | sterile medium was pumped into the reactor bottle. | ||
</div> | </div> | ||
− | <div class=" | + | <div class="section-text container"> |
− | One problem that came up was that the liquid level inside the reactor bottle | + | One problem that came up was that the liquid level inside the reactor bottle - it should stay the constant over longer periods of |
− | time. Since liquid was pumped out of the reactor bottle every 20 minutes for OD | + | time. Since liquid was pumped out of the reactor bottle every 20 minutes for OD and fluorescence measurements by the other pump, the liquid levels dropped relatively fast and the reactor bottle was empty pretty |
− | + | ||
quick in first trials. The solution was to measure the volumes transferred by the peristaltic pumps for specific | quick in first trials. The solution was to measure the volumes transferred by the peristaltic pumps for specific | ||
running times. Then it was possible to adjust the liquid level inside the reactor bottle by changing the | running times. Then it was possible to adjust the liquid level inside the reactor bottle by changing the | ||
− | Arduino code since the | + | Arduino code since the estimated volumes were known. Every pumped out volume of reactor medium was replaced |
with the same amount of fresh sterile medium after this adjustment. | with the same amount of fresh sterile medium after this adjustment. | ||
</div> | </div> | ||
Line 146: | Line 145: | ||
<h2 class="section-sub">Thermostat</h2> | <h2 class="section-sub">Thermostat</h2> | ||
<div class="section-text container"> | <div class="section-text container"> | ||
− | <p>Thermostat including a heating mat and a temperature sensor | + | <p>Thermostat including a heating mat and a temperature sensor - for the maintenance of the optimal temperature inside the reactor bottle, a basic thermostat system was built:</p> |
− | + | ||
<ul class="list-group"> | <ul class="list-group"> | ||
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Arduino nano:</b> | + | <b>Arduino nano:</b> Running a temperature measuring code (DallasTemperature.h and OneWire.h)</li> |
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>DS18B20 digital temperature sensor:</b> | + | <b>DS18B20 digital temperature sensor:</b> Placed inside a glass tube that was inserted inside the reactor |
bottle and filled with distilled water. The glass tube was built by melting the opening of a glass | bottle and filled with distilled water. The glass tube was built by melting the opening of a glass | ||
− | burette over a bunsen burner until it was closed and air-tight | + | burette over a bunsen burner until it was closed and air-tight </li> |
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>12W heating mat:</b> | + | <b>12W heating mat:</b> Stuck on a small piece of aluminium and placed beneath the reactor bottle</li> |
<li class="list-group-item"> | <li class="list-group-item"> | ||
− | <b>Relay module:</b> | + | <b>Relay module:</b> Suited for common microcontrollers</li> |
</ul> | </ul> | ||
</div> | </div> | ||
Line 167: | Line 166: | ||
holds the inside temperature between 29°C and 30°C which was sufficient for our purposes. | holds the inside temperature between 29°C and 30°C which was sufficient for our purposes. | ||
</div> | </div> | ||
− | <div class=" | + | <div> |
− | + | <img class="section-image" src="https://static.igem.org/mediawiki/2017/thumb/9/98/Setup.png/800px-Setup.png" alt="[Thermostat setup]"> | |
</div> | </div> | ||
<div class="section-sub-text container"> | <div class="section-sub-text container"> | ||
− | <b> | + | <b>Fig. 6:</b> The basic set-up for thermostat of the reactor medium. The heating mat kept the temperature |
of the reactor medium roughly at 30°C. Since magnetic stirring was used the temperature swings were minimal. | of the reactor medium roughly at 30°C. Since magnetic stirring was used the temperature swings were minimal. | ||
</div> | </div> |
Latest revision as of 02:33, 2 November 2017
BIOREACTOR
In order to habitate our ‘ strain’, a bioreactor was needed offering optimal conditions. Magnetic stirring, a thermostat and a construction that keeps the optical density of the bacterial culture in range, had to be built.
Ports on top of the reactor bottle
- Temperature Sensor: Opening for a glass tube with a temperature sensor suspended in distilled water
- pH Sensor: Wide opening for the pH-Sensor (DFRobot pH sensor)
- Port 1: Silicone tubing inlet for dilution of the reactor medium, from a peristaltic pump that pumped fresh sterile medium
- Port 2: Glass tubing that reached to the bottom of the reactor bottle used to pump out medium for OD measuring
- Port 3: Inlet for silicone tubing (acidic solution)
- Port 4: Inlet for silicone tubing (basic solution)
- Port 5: Silicone tubing outlet - the tubing was placed deep inside the reactor bottle used to pump out medium to the heating block and the fluorescence chamber
Fig. 1: Top view of the reactor bottle cap. A 500 ml lab bottle with GL 80 opening was the main equipment for the reactor. Several holes were drilled into the cap and metal threads placed inside them.
OD Maintenance
To keep the optical density of the reactor medium at values that are beneficial for good fluorescence signals, an "OD maintenance
system" was built. This consists of two arduinos, an H-bridge module, two peristaltic pumps, a bottle with sterile
medium and a waste bottle. The setup uses two "Arduino nanos" - one measuring the OD and the other controlling
the peristaltic pumps.
OD Measuring Device
The OD measuring device was built by 3D-printing a case that surrounds a regular UV-cuvette. This case has an opening on
one side for the 600 nm LED and on the other side for the light-sensor. A hole was drilled into the bottom of the
UV-cuvette and sillicone tubing was fitted inside. The tubing was sealed with 2-compound glue to be air-tight.
A 3D-printed cap was put on top of the casing that also had a hole for a second piece of silicone tubing. To
protect the OD-chamber from any outside light, another case was modeled and 3D-printed. The OD-chamber was fitted
inside this white chamber and cables and tubing were glued to it.
Fig. 2: The parts that were used to assemble the OD-measuring chamber.
The assembled OD-case can be seen in figure 3. Inside one of the openings, a LED with approximately 600 nm and in the other opening, a light sensor (“TSL 235R-sensor”) was placed
at the side and the light sensor (“TSL 235R-sensor”) inside the other opening. An isolation tape was wrapped around
the OD-chamber to keep everything in place and to protect the sensor from outside light.
Fig. 3: The assembled OD-chamber, the 600 nm LED and the photo resistor are pointing at each other. The emitting
light of the LED can travel through the cuvette.
Fig. 4: A 3D-printed casing was used to protect the OD-chamber from any outside light sources.
OD Maintenance Set-Up
Hardware:
- Pump 1: Used to pump out medium from the reactor bottle into the OD-chamber and finally to the waste bottle
- Pump 2: Used to dilute the reactor medium with fresh sterile medium, if required
- Pump 3: Used to pump out reactor medium through the heating block and the fluorescence chamber into another waste bottle
- Arduino 1: Arduino controlling the H-Bridge module that had the peristaltic pumps attached
- Arduino 2: Arduino running the OD-measuring code, sending GPIO signals to Arduino 1, if necessary
Fig. 5: Top view of the whole OD-maintenance setup. A bottle of fresh sterile medium and a waste bottle
were connected to the peristaltic pumps 1 and 2.
Arduino 2 was used to run the "Aachen final.ino", an Arduino code used by the 2015 iGEM team Aachen to measure the optical
density of a medium with the "TSL 235R-sensor". Before use, the system had to be calibrated with samples
of a known OD (measured with a laboratory OD-device). The output value was transformed into real OD-values
for better control of the experiment. Then a "switch case" code was written using this output value to
decide whether fresh medium was needed to dilute the reactor medium or if a defined pause was required for
the next measuring cycle. The Arduino 2 communicated with Arduino 1 via GPIO signals.
For a measuring cycle the coding on the Arduino 1 was designed as follow: After 20 minutes had passed, a small amount of
medium was pumped out of the reactor and through the OD-chamber from below. Then a 5 second delay was used
for any bubbles inside the chamber to dissociate. A delay ensured Arduino 2 to measure the optical density
in the meantime. Then the code was waiting for GPIO signals of Arduino 2 that triggered the pump 2 if necessary.
Our experiments showed that the optimal optical density for proper fluorescence signals was at an OD600 of 0.3.
The OD-maintenance system was set to this value and was able to keep the OD600 at ~ 0.3 over a long period of
time (or until there was no fresh medium left). Whenever an OD600 bigger than 0.3 was reached, approximately 5 ml of fresh
sterile medium was pumped into the reactor bottle.
One problem that came up was that the liquid level inside the reactor bottle - it should stay the constant over longer periods of
time. Since liquid was pumped out of the reactor bottle every 20 minutes for OD and fluorescence measurements by the other pump, the liquid levels dropped relatively fast and the reactor bottle was empty pretty
quick in first trials. The solution was to measure the volumes transferred by the peristaltic pumps for specific
running times. Then it was possible to adjust the liquid level inside the reactor bottle by changing the
Arduino code since the estimated volumes were known. Every pumped out volume of reactor medium was replaced
with the same amount of fresh sterile medium after this adjustment.
Thermostat
Thermostat including a heating mat and a temperature sensor - for the maintenance of the optimal temperature inside the reactor bottle, a basic thermostat system was built:
- Arduino nano: Running a temperature measuring code (DallasTemperature.h and OneWire.h)
- DS18B20 digital temperature sensor: Placed inside a glass tube that was inserted inside the reactor bottle and filled with distilled water. The glass tube was built by melting the opening of a glass burette over a bunsen burner until it was closed and air-tight
- 12W heating mat: Stuck on a small piece of aluminium and placed beneath the reactor bottle
- Relay module: Suited for common microcontrollers
The relay module and the heating mat was connected to a 12V energy source. The controller pins of the relay module were triggered
by the arduino nano, whenever the inside temperature of the reactor medium went higher than 30°C. This caused
the relay module to stop the energy supply to the heating mat. Several test runs showed that this set-up
holds the inside temperature between 29°C and 30°C which was sufficient for our purposes.
Fig. 6: The basic set-up for thermostat of the reactor medium. The heating mat kept the temperature
of the reactor medium roughly at 30°C. Since magnetic stirring was used the temperature swings were minimal.