Our project aims to control the concentration of living bacteria in a culture. To do so, we created a genetic network but to control the cell culture without employing any human means we needed to create a device. We have thus to create a means of communication from cell to machine and from machine to cell. To create the first one, we chose the red fluorescence protein KillerRed as a reporter protein. The first condition that our device needs to fulfill is to generate fluorescence thanks to a light source and a couple of excitation and emission filters and be able to measure its intensity. With these conditions our bacteria will be able to talk to our device. Then for the other way, the machine needs to send messages to the bacteria in order for them to know what to do – produce KillerRed or die. This is possible thanks to the inducible promoter and the property of KillerRed. Therefore our device must emit red light to induce the KillerRed production and white light to generate ROS with KillerRed. That means our device will be able to emit light to different wavelengths. But thanks to the modeling we know that the number of living cells can be controlled by the intensity of the white light, this is another condition our machine needs to satisfy. Firstly we will explain the choice of the different components, then the several experiences we did to find the most accurate parameters for each part of the device – the photodiode, Arduino, florescence measurement, the electronic circuit, the servomotor and of course the box.
The components
To record light intensity, we were inspired by the E. glometer of the Cambridge team of iGEM 2010.
We use a similar photodiode (TSL230RD) – the same as the TSL230RP-LF but as a surface mounted device (SMD) – and an Arduino Uno. Arduino is a single-board microcontroller created to make electronics more accessible. The main asset of the photodiode is that the output can be either a pulse train or a square wave (50% duty cycle) with its frequency directly proportional to light intensity. Since we are using a microcontroller, it is easy to calculate the frequency with the digital input of the microchip thanks to high or low level detection and we will have a better resolution because low frequencies are easier to measure than low voltages at low light levels. For the optical part we use a LED lamp and a cube filter from a fluorescence microscope with excitation and emission filters and an adjustable lens. The LED lamp was chosen so that e didn't have to buy high-power LEDS and build a card with heat sinks. This lamp illuminates with 520 lumens in a 40° cone under 12V and 6W. The low voltage was chosen as a safety measure and the small angle to avoid losing too much light. The excitation filter is a green interferential filter to excite the red fluorescent protein and the red emission filter is only a colored filter to collect all the red light in order to have a more precise measure. In the cube there is also a dichroic mirror that reflects all the green light and transmits all the red light. This mirror enables us to separate the photodiode from the light source completely.
The photodiode
Before measuring with the photodiode, we need to know if the photodiode works as indicated in the datasheet. The photodiode was plugged in on a 5V stabilized power supply.
A member of the team working on the photodiode
For the same amount of light, we measure the frequency at the output of the photodiode for a pulse train or a square wave (50% duty cycle). According to the datasheet, when using a pulse train the linear relation between the frequency and the irrandiance is given by 1kHz=1µW/cm². When using a square wave (50% duty cycle) it is 1kHz=2µW/cm². This is what we can see on the figure #.
Oscillograms showing the two different mode of the photodiode.The first oscillogramm shows the pulse train mode and the second the 50% duty cycle mode
Since this frequency will be calculated by the Arduino controller, it may cause some trouble to the program to use a pulse train because the duration of the pulse is always 500ns and can be missed by the controller. The square wave (50% duty cycle) seems to be a better solution because of the 50% duty cycle. It means that the pulse duration depend on the frequency. Its duration is equal to 1/2f and since the light intensity we want to measure will be low this type of signal can be easily detected by Arduino.
Arduino
Arduino is used to translate the frequency given by the photodiode in irrandiance that gives us the light intensity. The algorithm is quite simple. It counts the number of high levels (samples) and the duration of the measurement (length) and with these two elements it makes this calculation:
Irradiance=frequency/(frequency scaling)= samples/(frequency scaling × length)
To know if this program works, a function generator was plug in one of the digital input of Arduino instead of the photodiode. By changing the frequency of the square signal sent by the generator and measuring several times the frequency with Arduino and compare the measures to the frequency given by an oscilloscope, we can calculate the accuracy of the program.
If the algorithm is right, the curve should follow the equation x=y, which means that Arduino and the oscilloscope measure the same frequencies.
Characterization of the algorithm in Arduino
The first graph shows us the reponse of Arduino in pulse train mode, the second one shows us the response of Arduino in 50% duty circle mode, and the last one gives us the standard deviation of the 50% duty circle mode
According to the experience, the pulse train is not a good option since the curve doesn’t follow at all the x=y curve. Only three points are shown here because the others are worst. On the other hand, the 50% duty cycle seems to work better, at least for the low frequency. For frequencies under 35kHz the curve fits the equation y=x. However after this critical frequency, the algorithm seems to break down and follows the equation y=1/2x before being useless for frequencies over 100kHz. This phenomenon may be explain by the time of the while loop. In the end of this loop the program needs to get back to the beginning of the loop, it is fast but since the frequency is higher it may be not fast enough that’s why the program misses one pulse out of two and shed light on the curves y=1/2x. The curve of the standard deviation divided by the average shows us that around the critical frequency the program is not efficient at all, that makes us believe this is the right explanation. But this graph displays something else, the program for low frequencies and afterwards for low light intensities is very precise. The errors are under 0.5%. And the number of pulse measured is 100. That means that the device can make a measure every 5 min and this is absolutely enough for measuring a biological system.
Now we need to know if the device is efficient enough to measure low light intensity like fluorescence.
Fluorescence Measurement
TALK'E coli: C2M part
on the left: the real device, on the right: functional schematic
The light from the LED lamp goes through the green excitation filter and illuminate the sample thanks to a dichroic mirror. Then the red fluorescent protein is now excited and re-emits red light that goes through a lens that concentrate it on the photodiode.
Electronic circuit
Servomotor
Since we are only using 3 different wavelengths, green for the fluorescence, red for inducing KillerRed and white light to kill the cell, we just need 3 slots. To be easier to calculate, we assign the first slot to the first position and the third slot to the last position.
On the left, the first position of the servomotor and on the right, the second position of the servomotor
The data:
L: distance between the center of the servomotor S and the center of the hole in the box A (6.5cm)
h: height from A to S (2cm)
R: radius of the filter and also the hole in the box (1cm)
X: distance between one part of the arm and the filter rack (0.2cm)
b: distance between the beginning of the filter rack and the filter (0.2cm) – 2b is the distance between each filters
What we want to know:
a: radius of the servomotor
l: length of the arm that moves the filter rack
It is known that:
That means:
To have enough power to push and pull the filter rack the angle α need to be bigger than 45°, that means: