Difference between revisions of "Team:Grenoble-Alpes/pipetting module"

 
(46 intermediate revisions by 4 users not shown)
Line 8: Line 8:
 
<style>
 
<style>
 
#welcome{
 
#welcome{
background-image: url("https://static.igem.org/mediawiki/2018/e/e1/T--Grenoble-Alpes--selection_bg.jpg");
+
background-image: url("https://static.igem.org/mediawiki/2018/7/7f/T--Grenoble-Alpes--pipettingwelcomePic.jpeg");
 
}
 
}
 
#text-container {
 
#text-container {
Line 15: Line 15:
 
margin-top:calc(50vh - 39px);}
 
margin-top:calc(50vh - 39px);}
 
#overlay {
 
#overlay {
 +
opacity: 0.3;
 
z-index:0;
 
z-index:0;
 
height:calc(100vh - 21px);
 
height:calc(100vh - 21px);
Line 41: Line 42:
 
<div id="welcome">
 
<div id="welcome">
 
<div id="overlay"></div>
 
<div id="overlay"></div>
<p id="titre-image">FLUORESCENCE MODULE</p>
+
<p id="titre-image">PIPETTING MODULE</p>
 
</div>
 
</div>
 
<div id="sous-menu">
 
<div id="sous-menu">
 
<ul>
 
<ul>
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes">HOME</a>
+
</li>
+
 
 
 
<li>
 
<li>
<a href="https://2018.igem.org/Team:Grenoble-Alpes/project" >PROJECT </a>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/Description" id="current-nav">PROJECT </a>
 
<ul>
 
<ul>
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/biology">BIOLOGY</a><ul><li>
+
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/biology">BIOLOGY</a></li>
<a href="https://2018.igem.org/Team:Grenoble-Alpes/selection" id="current-menu">SELECTION</a>
+
 
 +
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/Hardware" id="current-menu">ENGINEERING</a><ul><li>
 +
<a href="https://2018.igem.org/Team:Grenoble-Alpes/pipetting_module" id="current-el">PIPETTING MODULE</a>
 
</li><li>
 
</li><li>
<a href="https://2018.igem.org/Team:Grenoble-Alpes/phage_lysis">PHAGE LYSIS AND EXTRACTION</a>
+
 
</li><li>
+
                                                <a href="https://2018.igem.org/Team:Grenoble-Alpes/fluorescence_module">FLUORESCENCE MODULE</a>
<a href="https://2018.igem.org/Team:Grenoble-Alpes/construction">CONSTRUCTION</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/hybridation">HYBRIDATION</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/conservation">CONSERVATION</a>
+
</li></ul></li>
+
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/engineering" >ENGINEERING</a><ul><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/pipetting_module">PIPETTING MODULE</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/fluorescence_module">FLUORESCENCE MODULE</a>
+
 
</li><li>
 
</li><li>
 
<a href="https://2018.igem.org/Team:Grenoble-Alpes/temperature_module">TEMPERATURE MODULE</a>
 
<a href="https://2018.igem.org/Team:Grenoble-Alpes/temperature_module">TEMPERATURE MODULE</a>
Line 72: Line 63:
 
<a href="https://2018.igem.org/Team:Grenoble-Alpes/purification_module">PURIFICATION MODULE</a>
 
<a href="https://2018.igem.org/Team:Grenoble-Alpes/purification_module">PURIFICATION MODULE</a>
 
</li></ul></li>
 
</li></ul></li>
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/proof_of_concept">PROOF OF CONCEPT</a></li>
+
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/Demonstrate">DEMONSTRATE</a></li></ul>
</ul>
+
</li>
+
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/modeling">
+
MODELING
+
</a>
+
</li>
+
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/human_practices">HUMAN PRACTICES</a>
+
</li>
+
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/safety">SAFETY & SECURITY</a>
+
</li>
+
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/ressources">RESSOURCES</a>
+
 
 
</li>
+
</li></ul>
</ul>
+
 
</div>
 
</div>
{{Grenoble-Alpes}}
+
<div id="text-container">
  
<html lang="en">
 
<head>
 
<meta name="viewport" content="width=device-width, initial-scale=1">
 
<LINK rel="stylesheet" type="text/css" href="https://2018.igem.org/Template:Grenoble-Alpes/CSS"  />
 
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
 
<style>
 
#welcome{
 
background-image: url("https://static.igem.org/mediawiki/2018/e/e1/T--Grenoble-Alpes--selection_bg.jpg");
 
}
 
#text-container {
 
padding:3vh;
 
box-sizing:border-box;
 
margin-top:calc(50vh - 39px);}
 
#overlay {
 
z-index:0;
 
height:calc(100vh - 21px);
 
}
 
#welcome {height:calc(50vh - 21px);top:0;
 
}
 
#titre-image {
 
color:white;
 
z-index:3;
 
font-size:6em!important;
 
font-weight:1000px;
 
margin-left:30%;
 
margin-top:30vh;
 
padding-right: 20px;
 
border-right: white solid 4px;}
 
  
p{    font-family: "calibri","Arial",Helvetica,sans-serif!important;
+
<video poster="https://static.igem.org/mediawiki/2018/0/0c/T--Grenoble-Alpes--pipettingVideoposter.png" id="video-machine" playsinline controls muted>
    font-size: 1.5em!important;
+
<source src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--pipettingVideo.mp4" type="video/mp4" id="video"></video>
    margin: 1vh;}
+
<br>
#text-container ul{font-size:1.4em}
+
<h3></h3><h3></h3><h3><font size="6"><center><font color="#19c1ff"><FONT id="optitl">HOW TO CONTROL THE PIPETTE ?</font></font></center></font></h3>
</style>
+
  
</head>
+
<div style="padding:5px; background-color:#ffffff; border:2px solid #19c1ff; -moz-border-radius:9px; -khtml-border-radius:9px; -webkit-border-radius:9px; border-radius:9px;">
<body>
+
<div style="font-size: 3em; float: left; width: 40px; text-align: center; margin-right: 5px; height: 20px; padding:3px;"></div>
<div id="container">
+
<div id="welcome">
+
<div id="overlay"></div>
+
<p id="titre-image">FLUORESCENCE MODULE</p>
+
</div>
+
<div id="sous-menu">
+
<ul>
+
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes">HOME</a>
+
</li>
+
+
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/project" >PROJECT </a>
+
<ul>
+
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/biology">BIOLOGY</a><ul><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/selection" id="current-menu">SELECTION</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/phage_lysis">PHAGE LYSIS AND EXTRACTION</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/construction">CONSTRUCTION</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/hybridation">HYBRIDATION</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/conservation">CONSERVATION</a>
+
</li></ul></li>
+
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/engineering" >ENGINEERING</a><ul><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/pipetting_module">PIPETTING MODULE</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/fluorescence_module">FLUORESCENCE MODULE</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/temperature_module">TEMPERATURE MODULE</a>
+
</li><li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/purification_module">PURIFICATION MODULE</a>
+
</li></ul></li>
+
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/proof_of_concept">PROOF OF CONCEPT</a></li>
+
</ul>
+
</li>
+
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/modeling">
+
MODELING
+
</a>
+
</li>
+
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/human_practices">HUMAN PRACTICES</a>
+
</li>
+
<li><a href="https://2018.igem.org/Team:Grenoble-Alpes/safety">SAFETY & SECURITY</a>
+
</li>
+
<li>
+
<a href="https://2018.igem.org/Team:Grenoble-Alpes/ressources">RESSOURCES</a>
+
+
</li>
+
</ul>
+
</div>
+
<div id="text-container">
+
<p>In our Top10 competent bacteria, we previously inserted, thanks to a bacterial transformation process, the pSB1C3-BBa_J04450 backbone that contains a gene coding for mRFP1. Hence, when the bacteria will express this gene, they will start producing fluorescence, which is related to the presence of the pathogenic bacterium. </p><p>
+
The fluorescence expressed by the Top10 comes from the mRFP1 protein, whose spectrum is given in figure 1. </p>
+
  
<br>
+
<p>In our system, we need to pipette automatically different volumes to execute our biological process. </p><p>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 1: Excitation (left) and emission (right) mRFP1 spectra    </figcaption></center></figure>
+
The solution we chose is to use an electronic pipette Biohit e10. The main advantage is that after removing the cap of the pipette, we can solder wires to the electronic card to control the different buttons of the pipette and it will work by itself! </p>
 +
<p> The button functions are described in the following figure:</p>
 +
<div><figure><center><img src="https://static.igem.org/mediawiki/2018/7/71/T--Grenoble-Alpes--pipettingFIg1.png" style="width:70vh"><figcaption> Figure 1:Soldering of the pipette and Figure 2: Pipette Biohit e10 [1] </figcaption></center></figure>
 
<br>
 
<br>
  
<p>This fluorescence is detected thanks to our home-made unit which is shown here:</p>
+
<p>To make the pipette work, we need a power supply of 5 Volts and 1.5 Ampers at least. Wires are connected from an Arduino card (microcontroller) to the buttons to control them later.  </p>
  
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 2: Exploded view of the fluorescence sensor prototype, life-size    </figcaption></center></figure>
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/5/56/T--Grenoble-Alpes--pipettingFIgx.png" style="width:70vh"><figcaption> Figure 3: Pipette electronic system </figcaption></center></figure>
 
<br>
 
<br>
 +
</div></div>
 +
<br>
 +
<h3></h3><h3></h3><h3><font size="6"><center><font color="#19c1ff"><FONT id="optitl">HOW TO MOVE THE PIPETTE ?</font></font></center></font></h3>
  
<h2><font color=#ffe100>Light pathway through the fluorescence sensor</font></h2>
 
  
<h3>Excitation light</font></h3>
+
<div style="padding:5px; background-color:#ffffff; border:2px solid #19c1ff; -moz-border-radius:9px; -khtml-border-radius:9px; -webkit-border-radius:9px; border-radius:9px;">
 +
<div style="font-size: 3em; float: left; width: 40px; text-align: center; margin-right: 5px; height: 20px; padding:3px;"></div>
  
<p>To excite the fluorophore, it is necessary to use a light which emission spectrum is the narrower possible. Therefore, LEDs are much appreciated as their emission spectrum are usually very narrow. Moreover, they are easy to supply (they just need a resistance to protect them and keep the light intensity constant) and very small. We used 565 nm  LNJ309GKGAD LEDs (Panasonic) whose spectrum is given in Figure 3. </p>
+
<p> We needed a pipetting system moving vertically above the samples on the circular plate. For that, we used a linear guide with a lead screw and a motor allowing to move the pipette vertically with a good precision. All the pieces, like the guiding bars, the coupler and the lead screw have been bought on a professional website [2] to guarantee us a fluid and precise movement. It provides the precision required to pipette at the wanted depth in the Eppendorf tubes. The precision reached is about one-tenth of mm. </p><p>
 +
This linear guide system has been fixed on a wooden plate between two aluminum bars. The plate has been first engraved with a laser-cutting machine to mark the positions to drill the holes for the screws at the right position.</p><p>
 +
The vertical movement of the pipette is realized by a motor controlled with an Arduino microcontroller. </p>
  
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 3: LED emission spectrum - peak at 565 nm </figcaption></center></figure>
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/3/38/T--Grenoble-Alpes--pipettingFIg3.png" style="width:70vh"><figcaption> Figure 4: guide system of the pipette
 +
  </figcaption></center></figure>
 
<br>
 
<br>
  
<p>It is a small and cheap LED, which light is not that bright, but sufficiently focused to excite the bacteria as it is showcased in Figure 4:</p>
+
</div>
 
+
<br>
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 4: Fluorescence of a sample of TOP10 bacteria expressing the mRFP1 protein  </figcaption></center></figure>
+
 
<br>
 
<br>
 +
<h3></h3><h3></h3><h3><font size="6"><center><font color="#19c1ff"><FONT id="optitl">HOW TO FIX THE PIPETTE ON A LINEAR GUIDE ?</font></font></center></font></h3>
  
<p>If the red circle is not obvious enough on your screen, you may check the histogram of the picture in the “Learn more” section; each picture is associated to its histogram, which displays the number of pixels having the same intensity given as the grey level. It is a very useful tool in image processing to avoid being abused by our eyes. Concerning the camera, it does not face such problems, it sees the picture as it is. 
+
<div style="padding:5px; background-color:#ffffff; border:2px solid #19c1ff; -moz-border-radius:9px; -khtml-border-radius:9px; -webkit-border-radius:9px; border-radius:9px;">
</p>
+
<div style="font-size: 3em; float: left; width: 40px; text-align: center; margin-right: 5px; height: 20px; padding:3px;"></div>
<br>
+
<p>We printed a piece in 3D to hold the pipette and to fix it to the linear guide.</p><p>
<h3>Filtering</font></h3>
+
A piece designed on a Computer-Aided Design (CAD) software and printed 3D is fixed on the linear guide and holds the pipette. The dimensions have been measured carefully to fit perfectly with the pipette. Some foam rubber is added to get a better fixation of the pipette with higher pressure forces.</p>
<p>Before reaching the camera, it is mandatory for the incoming light to be filtered, that is to say to get rid of all the background light, mainly coming from the LEDs. A simple way to do it is to use what is called an optical filter. This device can, depending on its characteristics, filter the light to keep some colors and turn others off. This filter is highly recommended to reduce the noise level. For instance, our filter is theoretically able to switch off completely the yellowish-green LEDs (Figure 5):</p>
+
  
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption> Figure 5: Transmission curve of the filter [3]</figcaption></center></figure>
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/ee/T--Grenoble-Alpes--pipettingFIg4.png"  style="width:70vh"><figcaption> Figure 5: pipette fixation </figcaption></center></figure>
 
<br>
 
<br>
  
<p>The cut-off wavelength of the filter is 605 nm. It however transmits light of a little lower wavelength, but the light LED intensity is so low at the right end of the curve that it is totally filtered, as Figure 6 shows it:</p>
+
<p>One issue of this system was to take a pipette tip on the circular plate with the pipette. The pipette had to go down, insert in the tip and push a bit to attach. However, the force required to push was too strong and instead of inserting in the tip, the pipette was detaching from the 3D-printed holding piece. This problem was solved by drilling a hole at the back of the 3D-printed piece. With a screw passing through this hole and nuts, the pipette is now perfectly fixed.</p>
 +
 
 +
</div>
 +
 
  
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption> Figure 6: Picture of the filter’s efficiency. The LED is positioned in place of the sample. Its light is totally filtered.</figcaption></center></figure>
+
<h2></h2><h2><center><font color=#19c1ff>LEARN MORE</font></center></h2>
 +
<div class="collapse slide">
 +
<h2><font size="5">About the pipette choice</font></h2>
 
<br>
 
<br>
 
+
<div style="padding:3px; padding-left:6px; border-left:4px solid #d0d0d0; background-color:#ffffff; margin-left:20px; font-s">
<p>The picture in Figure 6 is completely dark. It means that the LED light cannot be seen by the camera. It is a primordial condition to confirm to make sure that no light is captured by the camera under control measurement, which is actually the case as Figure 7 shows it:</p>
+
<p>In the first stage of the project development, we thought of 3 main ideas to realize the functions of the pipetting module.</p>
 +
<br>
 +
<p><b>A simple syringe, whose piston is connected to a motor. </b></p><p>
 +
The use of a simple syringe with a motor pulling or pushing the piston has the advantage of being an affordable solution. However, we cannot control how much we really pull or push the piston with our motor: if our stepper motor misses a step, it would be very difficult for us to notice it. Hence, there is no repeatability of the biological process possible. </p>
  
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption> Figure 7: Non transformed Top10 picture </figcaption></center></figure>
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/4/44/T--Grenoble-Alpes--pipettingFIg15.png"><figcaption> Figure 7 : A simple syringe [3] </figcaption></center></figure>
 
<br>
 
<br>
 +
<p><b>A regular pipette with an “artificial thumb” that would control it</b></p>
 +
<p>Another system would have been to use a regular pipette and create a mechanical system able to push and turn the button to pipette and change the volume. The challenge here is to get enough precision on the system to pipette the right volume.
 +
We realized that it would have needed too much time to create such a system with at least one stepper motor, and many mechanics.  Moreover, there was still with the uncertainty that we could reach the needed precision. Hence, we had to find another way to make our pipetting module. </p>
  
<p>This proves that the light that is detected by the camera comes from fluorescence only, which makes the processing easier. </p>
 
 
<br>
 
<br>
<h3>Detecting fluorescence</font></h3>
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/b/b1/T--Grenoble-Alpes--pipettingFIg8.png"><figcaption> Figure 8 : Regular mechnical pipettes [4] </figcaption></center></figure>
 +
<br>
  
<p>All of these pictures were taken with the camera that we used in our module. It is a Pi noIR Camera V2 [4]. This camera is perfectly suited to our application, as it can be easily controlled by a little computer called a Raspberry Pi [5] that also monitors the touch screen. Moreover, this camera has the same performance as a middle-class smartphone, to give an idea of the quality of the pictures. </p>
+
<p><b>An electronic pipette connected to our Arduino microcontroller</b></p>
+
<p>Finally, we decided to use an electronic pipette and simply connect the physical buttons to our microcontroller (Arduino). By sending an electronic signal, we can trigger the pipette buttons and let the internal system of the electronic pipette handle the actual pipetting. </p><p>
<p>Eventually, calculating the overall intensity on each picture gives the linear graph Figure 8: </p>
+
This method allows us to have a guaranteed accuracy on our pipetting (the same as if we were manually triggering the different buttons of the pipette). The primary goal of this module is to be precise, and an electronic pipette connected to our Arduino is the best way to obtain this accuracy. Below, one can find the specifications of the pipettes with the systematic and random errors in function of the volume.</p>
  
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption> Figure 8: Overall luminance as a function of the fluorescent bacteria optical density at 600 nm </figcaption></center></figure>
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/a/af/T--Grenoble-Alpes--pipettingFIg9.png" style="width:60vh"><figcaption> Figure 9 : Specifications of the eLine pipettes that we possess [5]
 +
</figcaption></center></figure>
 
<br>
 
<br>
  
<div style="padding:5px; background-color:#b2b1a6; border:2px solid #b2b1a6; -moz-border-radius:9px; -khtml-border-radius:9px; -webkit-border-radius:9px; border-radius:9px;">
+
<p>For us, the big advantage of some electronic pipette models is that even the tip ejection is electronically controlled and saves us from adding another mechanical system. </p><p>
<div style="font-size: 3em; float: left; width: 40px; text-align: center; margin-right: 5px; height: 20px; padding:3px;">
+
One drawback of electronic pipettes is their price: count at least 600€ for a new one. However, those devices work on battery that tends to stop working before the rest. As a result, a lot of functioning second-hand electronic pipette without a battery can be found on the internet. We were lucky to have partners who gave us electronic pipettes for free. We first worked on the pipette Biohit e10 that can pipette up to 10μL but to execute the biological process entirely with only one pipette, the ideal volume range is from 10μL to 300μL.</p><p>
</div>
+
We bought a first Biohit e300 pipette from the US that somehow stopped working from one day to another. Then we stopped looking because this model was sold out everywhere. We asked a partner company if they had any pipette, and they had the same model, but also non-functional. And here is the nice story, we saw that one electronic component was burnt and we managed to replace it with the component of the other pipette.
<h3><font color="#ffe100"><font size="4">CONCLUSION</font></font></h3>
+
To sum up, from to broken pipettes, we built one working pipette.</p>
  
<p><font color="white">As a conclusion, here are some advice you should follow if you need to create your own fluorescence sensor, to avoid painful troubles:</p><p>
+
</div></div>
- Unless you have a photomultiplier available with the appropriate supply, make a camera your first choice before a photosensitive device, such as a photoresistance or a photodiode. The fluorescence analysis is highly limited by the fluorescence intensity. It is easier to see fluorescence than detect it. Hence, with a photosensitive device, the minimal sensitivity will not suit your application. Photosensitive devices are helpful when you try to do quantitative measurements, as they directly link the light intensity to their output, but it is meaningless if you cannot detect a low-level fluorescence. If a photosensitive sensor is mandatory for your application, you should use an optic fiber to focus the light to the sensor with no losses. </p><p>
+
  
- Be careful of the material you work with. The plastic you use, for instance, might be fluorescent as well, making your results wrong. The material might also reflect the excitation light to the sensor when you expected it to be confined. </p><p>
+
<div class="collapse slide">
 +
<h2><font size="5">About the pipette choice</font></h2>
 +
<br>
 +
<div style="padding:3px; padding-left:6px; border-left:4px solid #d0d0d0; background-color:#ffffff; margin-left:20px; font-s">
  
- Look carefully at the characteristics of the excitation light. The brighter the better it is to boost the fluorescence intensity, obviously, but it is not enough. A high angle of vision (more than 100°) can be interesting to illuminated a large surface, but beware not to illuminate your sensor. A small angle of vision would ensure that it does not happen but the resulting light intensity would be usually lower. </p><p>
+
   <p> An electronic pipette is composed of 3 main parts:</p>
 +
<p>- A motorized syringe</p>
 +
<p>- A microcontroller</p>
 +
<p>- A power supply</p>
 +
<p>The first step for us was to connect our pipette to a power supply in order to get rid of the batteries. The batteries used by those pipettes deliver a 4.8V nominal tension, we therefore simply had to connect the battery connectors of the pipette to a 5V power supply in order to make it work. (the power supply needs to be a bit higher than the nominal tension, as the nominal tension is the minimal tension supplied by batteries and is therefore interpreted as a “low battery” by the device).</p>
 +
   
 +
    <p>The second step was to open up the pipette in order to reveal the physical switches that a normal user would press, we did not succeed in doing this step properly and had to actually saw a bit of plastic to reveal the switches. We then proceeded to solder every switch to cables.    </p><p>
 +
    Finally, in order to trigger the switches, we used a simple optocoupler.</p>
  
- For the sake of reducing the noise level, as usual, you should consider using an excitation light with a lower central wavelength than the optimal one in case the excitation spectrum of the fluorescent protein overflows on the emission spectrum, and hence taking advantage of the excitation spectrum spreading (taking a higher cutoff wavelength longpass filter works as well). </font></p>
+
<br>
 
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/b/b1/T--Grenoble-Alpes--pipettingFIg10.png"><figcaption> Figure 9 : Electronic scheme of an electrocoupler [5] and electronic circuit to control a button [5]
</div>
+
</figcaption></center></figure>
 
<br>
 
<br>
  
<div style="padding:3px; padding-left:6px; border-left:4px solid #d0d0d0; background-color:#f1f1f1; margin-left:20px; font-s">
+
<p>This is how an optocoupler works: We send a current through the diode that will emit some light. On the other side, a phototransistor receives the light and converts it into a current that will finally close the circuit from the 5V to the GND of the button like a switch and like that trigger the button.</p>
  
<h2><center><font color=#ffe100>Learn more</font></center></h2>
 
<br>
 
  
<h3About the geometry adopted</h3>
 
  
<p>One problem in fluorescence analysis, which might seem anecdotal but is actually primordial, is the geometry. Depending on the position of the light sensor, the sample or the light source, the results can vary a lot. The geometry adopted, which is equivalent to the epifluorescence, places the camera on a perpendicular axis to the light source (Figure 9): </p>
+
</div></div>
  
 +
<div class="collapse slide">
 +
<h2><font size="5">About how to initialize the pipette position </font></h2>
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 9: Block diagram of the fluorescence sensor  </figcaption></center></figure>
+
<div style="padding:3px; padding-left:6px; border-left:4px solid #d0d0d0; background-color:#ffffff; margin-left:20px; font-s">
 +
<p>An initialisation of the pipette position is needed to have a program that can realise the biological process entirely. It is also really important for the safety of the machine to avoid the pipette going too low or too high which risks to damage several parts of the machine.</p><p>
 +
To do this initialization, we are using a magnetic switch and a magnet. When the magnet – moving with the pipette – gets close enough to the magnetic switch, the output electric tension of the switch changes its value from 0V to 5V. There is a small span at which the tension is at 5V and the informatics code finds the extremities of it and moves the pipette so that the magnet is at the middle.</p>
 +
 
 
<br>
 
<br>
 +
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e5/T--Grenoble-Alpes--pipettingFIg11.png"><figcaption> Figure 11: Magnetic switch and a magnet
  
<p>In practice, the prototype looks like in Figure 2. It is just the prototype that was used for the experiments, the parts do not suit the final device. However, this prototype was designed to look alike the final device as much as possible. In particular, a sliding part was printed in order to place the fluorescent sample at the exact same location for each experiment to ensure its repeatability. Holes were drilled in the sample holder to place the LED as close as possible to the sample and orthogonally to the camera to minimize the noise level. </p>
+
</figcaption></center></figure>
 
+
<br>
<h3>About the camera performances</h3>
+
</div></div>
<p>The camera is located above the sample. It means that the top surface of the sample is pictured, displaying a circle (Figure 10): </p>
+
  
 +
<div class="collapse slide">
 +
<h2><font size="5">About the Arduino code </font></h2>
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 10: Fluorescence picture  </figcaption></center></figure>
+
<div style="padding:3px; padding-left:6px; border-left:4px solid #d0d0d0; background-color:#ffffff; margin-left:20px; font-s">
<br>
+
+
<p>As you can see, the picture is not that clear. Despite its very high resolution (8 MPx) which ranks it among the high-quality smartphones (8 to 12 MPx usually), the Depth Of Field (DOF) is of 1m which limits the quality of the pictures. The DOF is the minimal distance to get unblurred objects on a picture [6]. The nearer an object is to the DOF, the sharper the details are. Yet, in a fluorescence detection application, the light sensor should be as near as possible to the fluorescent sample to capture as much light as possible. Here is why a lens is used: to get the smoothest pictures in spite of this camera’s impairment. </p><p>
+
  
Why using this camera and not another one with a better DOF then? First of all, it is the first camera we had in hands and we could work with it quickly. Moreover, it is a user-friendly camera, adapted to the Raspberry Pi we already planned to use to monitor the touchscreen. The hardware has some characteristics, but they can be easily adjusted through the software, thanks to the Pillow library (Python). The advantage of Pillow over OpenCV, a classic image processing library, on Raspbian is that it is easier to install. Yet, if you feel brave enough to install OpenCV [7], let us advise you to do so, as OpenCV's functions are faster than Pillow’s. We decided not to install OpenCV as we do not have any speed constraint. </p><p>
+
<p>An Arduino program allows the system, and more precisely the pipette module to work entirely automatically.  It contains different sections. One part contains the functions to move the pipette up and down controlling the motor of the linear guide. Another part contains the functions to control the buttons of the pipette and to set the parameters like the aspirated volume, the absorption and dispensing speeds. All these functions can be found in the Annex part.</p><p>
 +
There is a function that took a bit more time to write than the others. It is the function triggerButton_Delay.</p><p>
 +
Well, you know that sometimes when you keep pushing on a button, the value displayed on the screen increments faster. That is the case for the Biohit e10 pipette. That is to say, at first when we push the button up or down to change the volume, it goes really slowly and then after a certain time, it starts to go faster at a constant speed. To clarify, it is much faster to keep pushing on the button than to push it many times in a row. As pipetting is probably the most repeated action in our biological process, the implementation of a function that computes the delay we have to keep triggering the button allows us to reduce a bit the time of realization of the whole process.</p><p>
 +
So to change the volume from one value to one another, the delay the button has to be triggered can be estimated. To do so, we did several tests with different delays and wrote in a table the associated shifts for the volume. After that, a linear regression gives the function that links the shift in volume to the delay we keep triggering the button.</p>
  
Finally, the camera is still able to detect low fluorescent light, even when the human eye struggles with. It can then be useful to plot the histogram of a picture. A histogram classifies pixels having the same value, that is to say, having the same color. For instance, there is no doubt that the sample Figure 3 is fluorescent thanks to its histogram (Figure 11):</p>
+
<br>
 +
<figure><center><img src="https://static.igem.org/mediawiki/2018/7/7e/T--Grenoble-Alpes--pipettingFIg12.png"><figcaption> Figure 12 calibration table
  
<br>
+
  </figcaption></center></figure>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 11: Fluorescent sample histogram </figcaption></center></figure>
+
 
<br>
 
<br>
  
<p>The greatest bar is at 0, which is normal as the picture is mainly dark, but others pixels have a grey level greater than 0 which means they are colored. And this color can come from fluorescence only as it is explained hereinabove. As a comparison, Figure 12 displays the histogram of Figure 7, a non-fluorescent sample:</p>
+
<p>To do the linear regression, we used only the values above a threshold at which the rapidity is stable, that’s to say 150 *(0.01μL).</p>
  
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 12: Non fluorescent sample histogram
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/6/64/T--Grenoble-Alpes--pipettingFIg13.png"><figcaption> Figure 13: calibration curve and linear regression (for a volume shift > 150*(0.01μL))
Here, absolutely all the pixels are dark as they all have a grey level of 0.
+
  </figcaption></center></figure>
+
<br>
+
  
<h3><center>About the image processing</center></h3>
 
<p>All the mentioned functions are available at the link given in reference [8]. </p>
 
<h3><B>1. Shortcoming light detection compensation</h3></B>
 
<p>It was explained earlier that fluorescence light only is detected by the camera, and it is very true. Yet, we are not sheltered to unexpected hardware degradation. For instance, a door that cannot be closed correctly may let ambient light gets to the camera, reducing the fluorescence level on the picture. To prevent that, the subtract() function from the ImageChops module is used with fluorescent and non-fluorescent pictures as arguments. Figure 13 shows an example of what this function does: </p>
 
  
<br>
+
</figcaption></center></figure>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 13: Sample picture before correction (left) and after correction (right)
+
  </figcaption></center></figure>
+
 
<br>
 
<br>
  
<p>The right picture is a little darker than the left one. Subtracting a picture from another is what this function does. As no fluorescence is expressed with non-fluorescent bacteria, the captured light with such a sample can be noisy only. Hence subtracting a fluorescent picture to a control picture enables to keep the fluorescence contribution only. </p>
+
<p>The function obtained gives the delay associated with a volume shift. To verify this function we did some tests with the delays found by the function and the volume shift obtained has always been the one wanted. Hence, this part has been validated.</p>
 
+
<h3><B>2. The fluorescence intensity</h3></B>
+
 
+
<p>This intensity is calculated thanks to the RGBtoLuminance() function, by summing the grey level of each pixel. The grey level is obtained from the RGB code by a relationship based on the human eye’s sensitivity [9]:</p>
+
 
+
<center><font size="4">G=0.299R+0.587G+0.114B</font></center>
+
 
+
<p>By the way, it is to notice that the pictures are beforehand converted into 3D arrays containing the RGB code of each pixel thanks to the getTabPxl() function to enable the analysis. </p>
+
 
+
<p>Finally, plotting the fluorescence intensity as a function of the optical density of the samples gives the graph Figure 8. The curve follows an affine function (good determination coefficient), which is coherent as the sensor should reach a limit of sensitivity.</p><p>
+
This graph can be compared to the one obtained with the Tristar [LB 941] microplate reader (Figure 14): </p>
+
  
 
<br>
 
<br>
<figure><center><img src="https://static.igem.org/mediawiki/2018/e/e9/T--Grenoble-Alpes--select_figure4.png"><figcaption>Figure 14: Calibration curve of the Tristar microplate reader  </figcaption></center></figure>
+
<figure><center><img src="https://static.igem.org/mediawiki/2018/0/0d/T--Grenoble-Alpes--pipettingFIg14.png"><figcaption> Figure 14: delays computed for specific volume shifts and tests to validate the function obtained </figcaption></center></figure>
 
<br>
 
<br>
 
+
</div></div>
<p>The curve is much more linear. It is not surprising as the sensitivity of a professional microplate reader is expected to be much better than a handmade one. It is however comforting that the shapes look almost the same. </p>
+
 
+
+
<h3><B>3. The fitted curve</h3></B>
+
<p>Figure 8 displays 2 curves: the experimental and the fitted ones. An easy way to get a fitted curve with Python is using the linregress() function which returns, among other data, the theoretical coefficients of the curve and the determination coefficient of the fit. It is therefore necessary, as for any fit actually, to know what shape the experimental curve should have. A first feeling would be to think that fluorescence is proportional to the number of fluorescent bacteria; the more present bacteria are, the more fluorescent the sample should be. This hypothesis is confirmed by the Tristar’s calibration curve Figure 14 and retrieved on our fluorescence unit’s calibration curve, although the curves are affine rather than linear. This result is, in fact, consistent as fluorescence detection is limited by the performances of the device. A linear curve would mean that fluorescence from a single bacterium could be detected. It is a performance that any fluorescence sensor tries to get closer but it can harshly be reached, especially with a cheap unit. </p>
+
 
+
 
+
</div>
+
  
 
<br>
 
<br>
 
<div style="padding:3px; padding-left:6px; border:1px dotted #d0d0d0; border-left:4px solid #d0d0d0; margin-left:20px;">
 
<div style="padding:3px; padding-left:6px; border:1px dotted #d0d0d0; border-left:4px solid #d0d0d0; margin-left:20px;">
 
<h3><font size="5">REFERENCES</font></h3>
 
<h3><font size="5">REFERENCES</font></h3>
<p>[1] Spectra from the online fluorescent protein database: https://www.fpbase.org/protein/mrfp1/</p>
 
<p>[2] Spectrum from the LNJ309GKGAD (Panasonic) datasheet, July 2012, p1 </p>
 
<p>[3] Spectrum from the longpass filter, https://www.edmundoptics.fr/p/50mm-diameter-red-dichroic-filter/10607/#downloads</p>
 
<p>[4] Picamera datasheet: https://www.raspberrypi.org/documentation/hardware/camera/</p>
 
<p>[5] https://www.raspberrypi.org/</p>
 
<p>[6] https://digital-photography-school.com/understanding-depth-field-beginners/</p>
 
<p>[7] https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/</p>
 
<p>[8] lien github </p>
 
<p>[9] https://www.w3.org/TR/AERT/#color-contrast</p>
 
 
</div>
 
 
 
  
 +
<p><font size="3">[1] :  http://www.elkaylabs.com </font></p>
 +
<p><font size="3">[2] : https://www.reprap-france.com</font></p>
 +
<p><font size="3">[3] : http://pngimg.com/download/12381</font></p>
 +
<p><font size="3">[4] : https://pixabay.com/fr/micropipettes-pipettes-conseils-308638/</font></p>
 +
<p><font size="3">[5] : https://www.sartorius.com/_ui/images/h8f/hb6/8876516278302.pdf</font></p>
 +
<p><font size="3">[6] : https://docs-emea.rs-online.com/webdocs/1385/0900766b81385c01.pdf</font></p>
  
 
</div>
 
</div>
 
 
</div>
 
</div>
 
</body>
 
<footer>
 
<a href="mailto:Igem.grenoble.alpes@gmail.com">Igem.grenoble.alpes@gmail.com</a>
 
<div id="icons">
 
<a href="https://www.facebook.com/igemfrancegrenoble/?ref=br_rs"><i class="fab fa-facebook fa-2x"></i></a>
 
<a href="https://twitter.com/igem_grenoble?lang=fr"><i class="fab fa-twitter fa-2x"></i></a>
 
<a href="https://www.linkedin.com/in/igem-grenoble-367974116/?originalSubdomain=fr"><i class="fab fa-linkedin  fa-2x"></i></a>
 
<a href=""></a>
 
</div>
 
 
</footer>
 
</html>
 
 
 
  
 
</div>
 
</div>
Line 391: Line 259:
  
 
</footer>
 
</footer>
 +
<script>$('.collapse').on('click',function(e){
 +
  e.preventDefault();
 +
  $(this).toggleClass('active');
 +
});</script>
 
</html>
 
</html>

Latest revision as of 16:41, 17 October 2018

Template loop detected: Template:Grenoble-Alpes

PIPETTING MODULE


HOW TO CONTROL THE PIPETTE ?

In our system, we need to pipette automatically different volumes to execute our biological process.

The solution we chose is to use an electronic pipette Biohit e10. The main advantage is that after removing the cap of the pipette, we can solder wires to the electronic card to control the different buttons of the pipette and it will work by itself!

The button functions are described in the following figure:

Figure 1:Soldering of the pipette and Figure 2: Pipette Biohit e10 [1]

To make the pipette work, we need a power supply of 5 Volts and 1.5 Ampers at least. Wires are connected from an Arduino card (microcontroller) to the buttons to control them later.


Figure 3: Pipette electronic system


HOW TO MOVE THE PIPETTE ?

We needed a pipetting system moving vertically above the samples on the circular plate. For that, we used a linear guide with a lead screw and a motor allowing to move the pipette vertically with a good precision. All the pieces, like the guiding bars, the coupler and the lead screw have been bought on a professional website [2] to guarantee us a fluid and precise movement. It provides the precision required to pipette at the wanted depth in the Eppendorf tubes. The precision reached is about one-tenth of mm.

This linear guide system has been fixed on a wooden plate between two aluminum bars. The plate has been first engraved with a laser-cutting machine to mark the positions to drill the holes for the screws at the right position.

The vertical movement of the pipette is realized by a motor controlled with an Arduino microcontroller.


Figure 4: guide system of the pipette


HOW TO FIX THE PIPETTE ON A LINEAR GUIDE ?

We printed a piece in 3D to hold the pipette and to fix it to the linear guide.

A piece designed on a Computer-Aided Design (CAD) software and printed 3D is fixed on the linear guide and holds the pipette. The dimensions have been measured carefully to fit perfectly with the pipette. Some foam rubber is added to get a better fixation of the pipette with higher pressure forces.


Figure 5: pipette fixation

One issue of this system was to take a pipette tip on the circular plate with the pipette. The pipette had to go down, insert in the tip and push a bit to attach. However, the force required to push was too strong and instead of inserting in the tip, the pipette was detaching from the 3D-printed holding piece. This problem was solved by drilling a hole at the back of the 3D-printed piece. With a screw passing through this hole and nuts, the pipette is now perfectly fixed.


LEARN MORE

About the pipette choice


In the first stage of the project development, we thought of 3 main ideas to realize the functions of the pipetting module.


A simple syringe, whose piston is connected to a motor.

The use of a simple syringe with a motor pulling or pushing the piston has the advantage of being an affordable solution. However, we cannot control how much we really pull or push the piston with our motor: if our stepper motor misses a step, it would be very difficult for us to notice it. Hence, there is no repeatability of the biological process possible.


Figure 7 : A simple syringe [3]

A regular pipette with an “artificial thumb” that would control it

Another system would have been to use a regular pipette and create a mechanical system able to push and turn the button to pipette and change the volume. The challenge here is to get enough precision on the system to pipette the right volume. We realized that it would have needed too much time to create such a system with at least one stepper motor, and many mechanics. Moreover, there was still with the uncertainty that we could reach the needed precision. Hence, we had to find another way to make our pipetting module.


Figure 8 : Regular mechnical pipettes [4]

An electronic pipette connected to our Arduino microcontroller

Finally, we decided to use an electronic pipette and simply connect the physical buttons to our microcontroller (Arduino). By sending an electronic signal, we can trigger the pipette buttons and let the internal system of the electronic pipette handle the actual pipetting.

This method allows us to have a guaranteed accuracy on our pipetting (the same as if we were manually triggering the different buttons of the pipette). The primary goal of this module is to be precise, and an electronic pipette connected to our Arduino is the best way to obtain this accuracy. Below, one can find the specifications of the pipettes with the systematic and random errors in function of the volume.


Figure 9 : Specifications of the eLine pipettes that we possess [5]

For us, the big advantage of some electronic pipette models is that even the tip ejection is electronically controlled and saves us from adding another mechanical system.

One drawback of electronic pipettes is their price: count at least 600€ for a new one. However, those devices work on battery that tends to stop working before the rest. As a result, a lot of functioning second-hand electronic pipette without a battery can be found on the internet. We were lucky to have partners who gave us electronic pipettes for free. We first worked on the pipette Biohit e10 that can pipette up to 10μL but to execute the biological process entirely with only one pipette, the ideal volume range is from 10μL to 300μL.

We bought a first Biohit e300 pipette from the US that somehow stopped working from one day to another. Then we stopped looking because this model was sold out everywhere. We asked a partner company if they had any pipette, and they had the same model, but also non-functional. And here is the nice story, we saw that one electronic component was burnt and we managed to replace it with the component of the other pipette. To sum up, from to broken pipettes, we built one working pipette.

About the pipette choice


   

An electronic pipette is composed of 3 main parts:

- A motorized syringe

- A microcontroller

- A power supply

The first step for us was to connect our pipette to a power supply in order to get rid of the batteries. The batteries used by those pipettes deliver a 4.8V nominal tension, we therefore simply had to connect the battery connectors of the pipette to a 5V power supply in order to make it work. (the power supply needs to be a bit higher than the nominal tension, as the nominal tension is the minimal tension supplied by batteries and is therefore interpreted as a “low battery” by the device).

       

The second step was to open up the pipette in order to reveal the physical switches that a normal user would press, we did not succeed in doing this step properly and had to actually saw a bit of plastic to reveal the switches. We then proceeded to solder every switch to cables.   

    Finally, in order to trigger the switches, we used a simple optocoupler.


Figure 9 : Electronic scheme of an electrocoupler [5] and electronic circuit to control a button [5]

This is how an optocoupler works: We send a current through the diode that will emit some light. On the other side, a phototransistor receives the light and converts it into a current that will finally close the circuit from the 5V to the GND of the button like a switch and like that trigger the button.

About how to initialize the pipette position


An initialisation of the pipette position is needed to have a program that can realise the biological process entirely. It is also really important for the safety of the machine to avoid the pipette going too low or too high which risks to damage several parts of the machine.

To do this initialization, we are using a magnetic switch and a magnet. When the magnet – moving with the pipette – gets close enough to the magnetic switch, the output electric tension of the switch changes its value from 0V to 5V. There is a small span at which the tension is at 5V and the informatics code finds the extremities of it and moves the pipette so that the magnet is at the middle.


Figure 11: Magnetic switch and a magnet

About the Arduino code


An Arduino program allows the system, and more precisely the pipette module to work entirely automatically.  It contains different sections. One part contains the functions to move the pipette up and down controlling the motor of the linear guide. Another part contains the functions to control the buttons of the pipette and to set the parameters like the aspirated volume, the absorption and dispensing speeds. All these functions can be found in the Annex part.

There is a function that took a bit more time to write than the others. It is the function triggerButton_Delay.

Well, you know that sometimes when you keep pushing on a button, the value displayed on the screen increments faster. That is the case for the Biohit e10 pipette. That is to say, at first when we push the button up or down to change the volume, it goes really slowly and then after a certain time, it starts to go faster at a constant speed. To clarify, it is much faster to keep pushing on the button than to push it many times in a row. As pipetting is probably the most repeated action in our biological process, the implementation of a function that computes the delay we have to keep triggering the button allows us to reduce a bit the time of realization of the whole process.

So to change the volume from one value to one another, the delay the button has to be triggered can be estimated. To do so, we did several tests with different delays and wrote in a table the associated shifts for the volume. After that, a linear regression gives the function that links the shift in volume to the delay we keep triggering the button.


Figure 12 calibration table

To do the linear regression, we used only the values above a threshold at which the rapidity is stable, that’s to say 150 *(0.01μL).


Figure 13: calibration curve and linear regression (for a volume shift > 150*(0.01μL))

The function obtained gives the delay associated with a volume shift. To verify this function we did some tests with the delays found by the function and the volume shift obtained has always been the one wanted. Hence, this part has been validated.


Figure 14: delays computed for specific volume shifts and tests to validate the function obtained


REFERENCES

[1] : http://www.elkaylabs.com

[2] : https://www.reprap-france.com

[3] : http://pngimg.com/download/12381

[4] : https://pixabay.com/fr/micropipettes-pipettes-conseils-308638/

[5] : https://www.sartorius.com/_ui/images/h8f/hb6/8876516278302.pdf

[6] : https://docs-emea.rs-online.com/webdocs/1385/0900766b81385c01.pdf