Difference between revisions of "Team:NCKU Tainan/Software"

 
(45 intermediate revisions by 5 users not shown)
Line 219: Line 219:
 
     width: 22rem;
 
     width: 22rem;
  
 +
}
 +
@media only screen and (max-width: 995px) {
 +
  #sideNav {
 +
    display:none;
 +
 
 +
  }
 +
  section.resume-section-coverphoto {
 +
    min-height: 94vh;
 
}   
 
}   
 +
  section.resume-section {
 +
    padding-left: 16.8vw;
 +
    padding-right: 3rem;
 +
    padding-top: 1rem;
 +
    padding-bottom: 1rem;
 +
    display: flex;
 +
    align-items: center;
 +
    max-width: 80vw;
 +
}
 +
.hrmar{
 +
  margin: 0 2rem 0 0;
 +
}
 +
 
 +
 
 +
 +
 +
@media only screen and (max-width: 400px) {
 +
  .headtitle {
 +
    font-size: 2.5rem !important;
 +
 
 +
  }
 +
 +
 +
 
 
</style>
 
</style>
 
<body>
 
<body>
Line 256: Line 288:
 
             <div class="resume-section-content" id="pdescription">
 
             <div class="resume-section-content" id="pdescription">
 
                 <div id="h1-title">
 
                 <div id="h1-title">
                     <h1 class="mb-0 pl-2" >
+
                     <h1 class="mb-0 pl-2 headtitle" >
 
                         Software
 
                         Software
 
                         <!--<span class="text-primary">Taylor</span>-->
 
                         <!--<span class="text-primary">Taylor</span>-->
Line 273: Line 305:
 
                 <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                 <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                         <p>   For every iGEM team, modeling is a necessary part to link wet team experimental results and dry team theories together. In most of the cases, we need to simulate the behavior of chemicals or bacteria, such as distribution or concentration of them. Scientists often utilize partial differentiation equations (PDEs) to describe those target substances’ behavior. However, PDEs usually don’t have solutions due to the lack of strategies to deal with them since the governing equation, say the heat equation, is usually involved in the distance and the time passed by, which implies it to be a function that has 2 variables. Here, we introduce a method that might help future iGEM teams to deal with PDEs—<b>double Laplace transform</b>.</p>
+
                         <p> For every iGEM team, modeling is a crucial part to link wet team experimental results and dry team theories together. In most of the cases, we need to <b>simulate the behavior of chemicals or bacteria, such as distribution or concentration</b> of them. Scientists often utilize <b>partial differential equations (PDEs)</b> , namely differential equations containing two or more variables, to describe the target substances’ behavior. However, PDEs usually don’t have solutions due to the lack of strategies to deal with them. Here, we introduce a method that might help future iGEM teams to deal with PDEs—<b>double Laplace transform</b>.</p>
 
                     </div>
 
                     </div>
 
                   </div>
 
                   </div>
Line 279: Line 311:
 
                 <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                 <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                         <p>   The definition of the single-variable Laplace transform, which is what we normally adopted, is listed below:</p>
+
                         <p> The definition of the single-variable Laplace transform, which is what we normally adopted, is defined as below:</p>
 
                   </div>
 
                   </div>
 
                   </div>
 
                   </div>
Line 286: Line 318:
 
                 <div class="col-lg ">
 
                 <div class="col-lg ">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
                 <a href="https://static.igem.org/mediawiki/2020/9/98/T--NCKU_Tainan--MissingFunc2.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/9/98/T--NCKU_Tainan--MissingFunc2.png" alt="" title="" style="width:100%"></a>
+
                 <a href="https://static.igem.org/mediawiki/2020/9/98/T--NCKU_Tainan--MissingFunc2.png" target="_blank" style="width:100%"><img src="https://static.igem.org/mediawiki/2020/9/98/T--NCKU_Tainan--MissingFunc2.png" alt="" title="" style="width:100%"></a>
 
                 </figure>
 
                 </figure>
 +
                 
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>
Line 293: Line 326:
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                         <p>   The definition of the double-variable Laplace transform (or, double Laplace transform) has a similar form, listed below:</p>
+
                         <p> The definition of the double-variable Laplace transform (or, double Laplace transform) has a similar form as single-variable Laplace transform:</p>
 
                   </div>
 
                   </div>
 
                   </div>
 
                   </div>
Line 300: Line 333:
 
                 <div class="col-lg ">
 
                 <div class="col-lg ">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
                 <a href="https://static.igem.org/mediawiki/2020/3/37/T--NCKU_Tainan--MissingFunc1.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/3/37/T--NCKU_Tainan--MissingFunc1.png" alt="" title="" style="width:100%"></a>
+
                 <a href="https://static.igem.org/mediawiki/2020/3/37/T--NCKU_Tainan--MissingFunc1.png" target="_blank" style="width:100%"><img src="https://static.igem.org/mediawiki/2020/3/37/T--NCKU_Tainan--MissingFunc1.png" alt="" title="" style="width:100%"></a>
 
                 </figure>
 
                 </figure>
 +
                 
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>
Line 307: Line 341:
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                         <p>   Notice that for single variable Laplace transform, the x domain is defined: { x | x > 0 }, so analogously, the domain of double Laplace transform, (x, y), is defined to be in the first quadrant, namely { (x, y) | x, y > 0 }.</p>
+
                         <p> Notice that for single variable Laplace transform, the x domain is defined: { x | x > 0 }, so analogously, the domain of double Laplace transform, (x, y), is defined to be in the first quadrant, namely { (x, y) | x, y > 0 }.</p>
 
                   </div>
 
                   </div>
 
                   </div>
 
                   </div>
Line 313: Line 347:
 
                 <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                 <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                         <p>   The general properties of double Laplace transform are listed below [1]:</p>
+
                         <p> The general properties of double Laplace transform are listed below <sup>[<a href = "#ref4" class = "linklink">1</a>]</sup>:</p>
 
                   </div>   
 
                   </div>   
 
                   </div>  
 
                   </div>  
              <div class="container-fluid p-0">
+
              <div class="container-fluid p-0">
                <div class="row no-gutters">
+
                <div class="row no-gutters">
                <div class="col-lg ">
+
                <div class="col-lg ">
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
+
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
                <a href="https://static.igem.org/mediawiki/2020/a/a2/T--NCKU_Tainan--soft_table.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/a/a2/T--NCKU_Tainan--soft_table.png" alt="" title="" style="width:100%"></a>
+
 
                </figure>
+
                <a href="https://static.igem.org/mediawiki/2020/a/a2/T--NCKU_Tainan--soft_table.png" target="_blank" style="width:70%"><img src="https://static.igem.org/mediawiki/2020/a/a2/T--NCKU_Tainan--soft_table.png" alt="" title="" style="width:100%"></a>
                </div>
+
                </figure>
                </div>
+
                    <figcaption class="caption-design" style="margin-bottom: 1rem;">Fig. 1A. Table of double Laplace transform properties.</figcaption>
 +
                </div>
 +
                </div>
 
                 </div>  
 
                 </div>  
 
                
 
                
               <h4 class="mb-3">Solving Partial Differential Equations</h4>   
+
               <h4 class="mb-3">Application of Double Laplace Transform: Solving Partial Differential Equations</h4>   
 
                 <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                 <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                         <p>   We performed a solution to one example of a partial differential equation using double Laplace transform.</p>
+
                         <p> We performed a solution to one example of a partial differential equation using double Laplace transform.</p>
 
                   </div>   
 
                   </div>   
 
                   </div>  
 
                   </div>  
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                       <p><b>Problem :</b></p>
+
                       <p> Find the general solution of the equation below:</p>
 
                   </div>   
 
                   </div>   
 
                   </div>  
 
                   </div>  
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                       <p>Solve the equation</p>
+
                        
 
                   </div>   
 
                   </div>   
 
                   </div>  
 
                   </div>  
Line 346: Line 382:
 
                 <div class="col-lg ">
 
                 <div class="col-lg ">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
                 <a href="https://static.igem.org/mediawiki/parts/8/84/T--NCKU_Tainan--a.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/parts/8/84/T--NCKU_Tainan--a.png" alt="" title="" style="width:100%"></a>
+
                 <a href="https://static.igem.org/mediawiki/2020/8/81/T--NCKU_Tainan--E1.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/8/81/T--NCKU_Tainan--E1.png" alt="" title="" style="width:100%"></a>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>  
 
                 </div>  
                
+
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                    <div class="flex-grow-1">                     
 +
                      <p> With boundary and initial conditions:</p>
 +
                  </div> 
 +
                  </div>
 
              
 
              
 
               <div class="container-fluid p-0">
 
               <div class="container-fluid p-0">
Line 357: Line 397:
 
                 <div class="col-lg ">
 
                 <div class="col-lg ">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
                 <a href="https://static.igem.org/mediawiki/parts/b/b4/T--NCKU_Tainan--b.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/parts/b/b4/T--NCKU_Tainan--b.png" alt="" title="" style="width:100%"></a>
+
                 <a href="https://static.igem.org/mediawiki/2020/7/77/T--NCKU_Tainan--E2.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/7/77/T--NCKU_Tainan--E2.png" alt="" title="" style="width:100%"></a>
 +
                </figure>
 +
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 +
                <a href="https://static.igem.org/mediawiki/2020/3/33/T--NCKU_Tainan--E3.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/3/33/T--NCKU_Tainan--E3.png" alt="" title="" style="width:100%"></a>
 +
                </figure>
 +
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 +
                <a href="https://static.igem.org/mediawiki/2020/6/6b/T--NCKU_Tainan--E4.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/6/6b/T--NCKU_Tainan--E4.png" alt="" title="" style="width:100%"></a>
 +
                </figure>
 +
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 +
                <a href="https://static.igem.org/mediawiki/2020/3/39/T--NCKU_Tainan--E5.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/3/39/T--NCKU_Tainan--E5.png" alt="" title="" style="width:100%"></a>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
Line 363: Line 412:
 
                 </div>  
 
                 </div>  
 
                
 
                
                <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
+
                  <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                    <div class="flex-grow-1">                     
 +
                      <p> By adopting double Laplace transform method, we can transform the original equation:</p>
 +
                  </div> 
 +
                  </div>
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                       <p>with</p>
+
                        
 
                   </div>   
 
                   </div>   
 
                   </div>  
 
                   </div>  
Line 373: Line 427:
 
                 <div class="col-lg ">
 
                 <div class="col-lg ">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
                 <a href="https://static.igem.org/mediawiki/parts/1/1a/T--NCKU_Tainan--c.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/parts/1/1a/T--NCKU_Tainan--c.png" alt="" title="" style="width:100%"></a>
+
                 <a href="https://static.igem.org/mediawiki/2020/c/c2/T--NCKU_Tainan--E7.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/c/c2/T--NCKU_Tainan--E7.png" alt="" title="" style="width:100%"></a>
 +
                </figure>
 +
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 +
                <a href="https://static.igem.org/mediawiki/2020/7/73/T--NCKU_Tainan--E6.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/7/73/T--NCKU_Tainan--E6.png" alt="" title="" style="width:100%"></a>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>  
 
                 </div>  
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
+
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                       <p><b>Solution :</b></p>
+
                       <p> Solving F:</p>
                  </div> 
+
                  </div>
+
            <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
+
                    <div class="flex-grow-1">                     
+
                      <p>Taking the double Laplace transform of both side of the equation.</p>
+
 
                   </div>   
 
                   </div>   
 
                   </div>  
 
                   </div>  
 +
           
 
                 <div class="container-fluid p-0">
 
                 <div class="container-fluid p-0">
 
                 <div class="row no-gutters">
 
                 <div class="row no-gutters">
 
                 <div class="col-lg ">
 
                 <div class="col-lg ">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
                 <a href="https://static.igem.org/mediawiki/parts/6/61/T--NCKU_Tainan--d.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/parts/6/61/T--NCKU_Tainan--d.png" alt="" title="" style="width:100%"></a>
+
                 <a href="https://static.igem.org/mediawiki/2020/5/58/T--NCKU_Tainan--E8.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/5/58/T--NCKU_Tainan--E8.png" alt="" title="" style="width:100%"></a>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>  
 
                 </div>  
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
+
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                       <p>with</p>
+
                       <p> By operating inverse double Laplace transform on F, we can get the solution of C:</p>
 
                   </div>   
 
                   </div>   
 
                   </div>  
 
                   </div>  
                <div class="container-fluid p-0">
+
             
 +
              <div class="container-fluid p-0">
 
                 <div class="row no-gutters">
 
                 <div class="row no-gutters">
 
                 <div class="col-lg ">
 
                 <div class="col-lg ">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
                 <a href="https://static.igem.org/mediawiki/parts/8/82/T--NCKU_Tainan--e.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/parts/8/82/T--NCKU_Tainan--e.png" alt="" title="" style="width:100%"></a>
+
                 <a href="https://static.igem.org/mediawiki/2020/e/e5/T--NCKU_Tainan--E9.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/e/e5/T--NCKU_Tainan--E9.png" alt="" title="" style="width:100%"></a>
                <a href="https://static.igem.org/mediawiki/parts/f/f9/T--NCKU_Tainan--f.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/parts/f/f9/T--NCKU_Tainan--f.png" alt="" title="" style="width:100%"></a>
+
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>
 
                 </div>  
 
                 </div>  
 +
              <h4 class="mb-3">Let Computer Calculate: Development of MATLAB Program to Conduct Double Laplace Transform</h4>
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                <div class="flex-grow-1">                     
 +
                      <p> We have demonstrated that double Laplace transform is a useful tool to deal with PDEs. However, double Laplace transform is not easy to calculate, since the process involves integrations that might not end up with a certain answer. Therefore, development of the program that can conduct double Laplace transform will be very helpful in solving PDEs.</p>
 +
                </div> 
 +
              </div> 
 +
          <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                <div class="flex-grow-1">                     
 +
                      <p> MATLAB has a function called “laplace(F,x,s)” that can conduct a normal Laplace transform. However, if the function is not transformable, then the function cannot get the result. During the development of our models, we have built two MATLAB programs that has the function below:</p>
 +
                </div> 
 +
              </div>
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                    <div class="flex-grow-1">
 +
                    <ol class="mb-4">
 +
                        <li><p><b>Conducting double Laplace transform of PDEs.</b></p></li>
 +
                      <li><p><b>Making Laplace transform estimation of those who cannot be directly transformed by MATLAB’s function.</b></p></li>
 +
                    </ol>
 +
                    </div>   
 +
                  </div>
 
                
 
                
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
+
           
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                <div class="flex-grow-1">                     
 +
                      <p> What’s more, we make these two programs available on the internet with well documentation. Below is the link of the two programs:</p>
 +
                </div> 
 +
              </div>
 +
                
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                <div class="flex-grow-1">                     
 +
                  <p> On Github:<a href="https://github.com/iGem-NCKU-Tainan/EyekNOw2020" alt="" target="_blank"> Double_Laplace_Transform_and_Laplace_Estimation</a></p>
 +
                </div> 
 +
              </div>
 +
             
 +
              <h4 class="mb-3">Demonstration: Numerical Laplace Transform Estimator</h4>
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                      <p>taking the inverse Laplace transform with respect to q gives</p>
+
                        <p> <b>Code</b></p>
                   </div>
+
                    </div>                    
                  </div>  
+
                </div>
        <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
+
              <div style="overflow: auto; width:100%; height:250px; background-color:#272625; border:3px solid #a6a6a6;">
 +
                    <script src="https://gist.github.com/Sam-Sun-Medical/b38a782131edb604d8122eb586213924.js"></script>
 +
              </div>  
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                      <p>taking the inverse Laplace transform with respect to p gives the solution</p>
+
                        <p> <b>Result</b></p>
                  </div>
+
                    </div>                   
                   </div>  
+
                </div>
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
               <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 
                     <div class="flex-grow-1">                       
 
                     <div class="flex-grow-1">                       
                      <p>from the property of convolution, we obtained the solution.</p>
+
                        <p> Figures below show the running result of Numerical Laplace Transform Estimator. We plot out the approximation of target function's Laplace transformation utilize our program, and the real solution of target function's Laplace transformation. Result shows that our approximation is very close to the real situation. </p>
                   </div>   
+
                    </div>                    
                   </div>  
+
                </div>
 +
              <div class="container-fluid p-0">
 +
                <div class="row no-gutters">
 +
                <div class="col-lg ">
 +
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 +
                <a href="https://static.igem.org/mediawiki/2020/9/95/T--NCKU_Tainan--Estimator_Final.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/9/95/T--NCKU_Tainan--Estimator_Final.png" alt="" title="" style="width:100%"></a>
 +
                </figure>
 +
                  <figcaption class="caption-design">Fig. A. Approximation of target function's Laplace transformation made by Estimator. We take n = 2000 steps to make this approximation.</figcaption>
 +
                </div>
 +
                </div>
 +
                </div>
 +
              <br><div class="container-fluid p-0">
 +
                <div class="row no-gutters">
 +
                <div class="col-lg ">
 +
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 +
                <a href="https://static.igem.org/mediawiki/2020/e/e2/T--NCKU_Tainan--Real_Final.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/e/e2/T--NCKU_Tainan--Real_Final.png" alt="" title="" style="width:100%"></a>
 +
                </figure>
 +
                  <figcaption class="caption-design">Fig. B. Real solutions of target function's Laplace transformation. Calculation conducted by MATLAB built-in function.</figcaption>
 +
                </div>
 +
                </div>
 +
                </div>
 +
             
 +
              <br><h4 class="mb-3">Demonstration: Double Laplace Transform PDE Solver</h4>
 +
         
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                <div class="flex-grow-1">                     
 +
                  <p> <b>Code</b></p>
 +
                </div>   
 +
              </div>
 +
              <div style="overflow: auto; width:100%; height:250px; background-color:#272625; border:3px solid #a6a6a6;">
 +
                    <script src="https://gist.github.com/Sam-Sun-Medical/bc3f1ead4cff3d0d0e89751e07b4f41a.js"></script>
 +
              </div>
 +
             
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                <div class="flex-grow-1">                     
 +
                   <p> <b>Result</b></p>
 +
                </div>
 +
              </div>
 +
              <div class="d-flex flex-column flex-md-row justify-content-between mb-2">
 +
                    <div class="flex-grow-1">                     
 +
                        <p> Figure below shows the running result of Double Laplace Transform PDE Solver. By applying initial conditions, boundary conditions and target PDE, we sucessfully plot out the double Laplace transform of target function. Result shows that the program can act as PDE solver. </p>
 +
                    </div>                 
 +
                </div>
 +
             
 +
              <div class="container-fluid p-0">
 +
                <div class="row no-gutters">
 +
                <div class="col-lg ">
 +
                <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 +
                <a href="https://static.igem.org/mediawiki/2020/5/54/T--NCKU_Tainan--AtLast.png" target="_blank" style="width:80%"><img src="https://static.igem.org/mediawiki/2020/5/54/T--NCKU_Tainan--AtLast.png" alt="" title="" style="width:100%"></a>
 +
                </figure>
 +
                <figcaption class="caption-design">Fig. C. Double Laplace transform of target function by only providing PDE, initial conditions and boundary conditions.</figcaption>
 +
                </div>
 +
                </div>
 +
              </div>
 +
             
 +
             
 
             </div>
 
             </div>
 
         </section>
 
         </section>
Line 447: Line 591:
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <a href="https://static.igem.org/mediawiki/2020/5/51/T--NCKU_Tainan--soft_app.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/5/51/T--NCKU_Tainan--soft_app.png" alt="" title="" style="width:100%"></a>
 
                 <a href="https://static.igem.org/mediawiki/2020/5/51/T--NCKU_Tainan--soft_app.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/5/51/T--NCKU_Tainan--soft_app.png" alt="" title="" style="width:100%"></a>
                 <figcaption class="caption-design">Fig. 1. App OverviewThingSpeak</figcaption>
+
                 <figcaption class="caption-design">Fig. 1. App overviewThingSpeak.</figcaption>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
Line 462: Line 606:
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <a href="https://static.igem.org/mediawiki/2020/5/56/T--NCKU_Tainan--Soft_think.png " target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/5/56/T--NCKU_Tainan--Soft_think.png " alt="" title="" style="width:100%"></a>
 
                 <a href="https://static.igem.org/mediawiki/2020/5/56/T--NCKU_Tainan--Soft_think.png " target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/5/56/T--NCKU_Tainan--Soft_think.png " alt="" title="" style="width:100%"></a>
                 <figcaption class="caption-design">Fig. 2. ThingSpeak Homepage</figcaption>
+
                 <figcaption class="caption-design">Fig. 2. ThingSpeak homepage.</figcaption>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
Line 474: Line 618:
 
                       <li><p>Click <b>Channels > My Channels</b>. Create a new channel.</p></li>
 
                       <li><p>Click <b>Channels > My Channels</b>. Create a new channel.</p></li>
 
                         <li><p>Check the boxes next to Fields 1–3. Enter these channel setting values:</p></li>  
 
                         <li><p>Check the boxes next to Fields 1–3. Enter these channel setting values:</p></li>  
                       <p style="position: relative;left: 2rem;">Name : Eye Screen</p>
+
                       <p style="position: relative;left: 2rem;">Name: Eye Screen</p>
                       <p style="position: relative;left: 2rem;">Field 1 : IOP (mV)</p>
+
                       <p style="position: relative;left: 2rem;">Field 1: IOP (mV)</p>
 
                       <li><p>Click <b>Save Channel</b> at the bottom of the settings.</p></li>
 
                       <li><p>Click <b>Save Channel</b> at the bottom of the settings.</p></li>
 
                       <li><p>Click API Keys tab and copy the <b>write URL</b>.</p></li>
 
                       <li><p>Click API Keys tab and copy the <b>write URL</b>.</p></li>
Line 486: Line 630:
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <a href="https://static.igem.org/mediawiki/2020/c/cb/T--NCKU_Tainan--API.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/c/cb/T--NCKU_Tainan--API.png" alt="" title="" style="width:100%"></a>
 
                 <a href="https://static.igem.org/mediawiki/2020/c/cb/T--NCKU_Tainan--API.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/c/cb/T--NCKU_Tainan--API.png" alt="" title="" style="width:100%"></a>
                 <figcaption class="caption-design">Fig. 3. ThingSpeak Setting ( API Keys > Write URL )</figcaption>
+
                 <figcaption class="caption-design">Fig. 3. ThingSpeak setting ( API Keys > write URL ).</figcaption>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
Line 497: Line 641:
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <a href="https://static.igem.org/mediawiki/2020/d/dd/T--NCKU_Tainan--soft_all.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/d/dd/T--NCKU_Tainan--soft_all.png" alt="" title="" style="width:100%"></a>
 
                 <a href="https://static.igem.org/mediawiki/2020/d/dd/T--NCKU_Tainan--soft_all.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/d/dd/T--NCKU_Tainan--soft_all.png" alt="" title="" style="width:100%"></a>
                 <figcaption class="caption-design">Fig. 4. Eye Cloud </figcaption>
+
                 <figcaption class="caption-design">Fig. 4. Eye cloud.</figcaption>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>
Line 525: Line 669:
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <figure class="d-flex flex-column justify-content-center align-items-center px-lg-3">
 
                 <a href="https://static.igem.org/mediawiki/2020/5/5a/T--NCKU_Tainan--soft_data.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/5/5a/T--NCKU_Tainan--soft_data.png" alt="" title="" style="width:100%"></a>
 
                 <a href="https://static.igem.org/mediawiki/2020/5/5a/T--NCKU_Tainan--soft_data.png" target="_blank" style="width:60%"><img src="https://static.igem.org/mediawiki/2020/5/5a/T--NCKU_Tainan--soft_data.png" alt="" title="" style="width:100%"></a>
                 <figcaption class="caption-design">Fig. 5. Daily Measurement Records</figcaption>
+
                 <figcaption class="caption-design">Fig. 5. Daily measurement records.</figcaption>
 
                 </figure>
 
                 </figure>
 
                 </div>
 
                 </div>

Latest revision as of 02:37, 28 October 2020


Software

Cloud service connecting you and me

Software in Modeling

Description

For every iGEM team, modeling is a crucial part to link wet team experimental results and dry team theories together. In most of the cases, we need to simulate the behavior of chemicals or bacteria, such as distribution or concentration of them. Scientists often utilize partial differential equations (PDEs) , namely differential equations containing two or more variables, to describe the target substances’ behavior. However, PDEs usually don’t have solutions due to the lack of strategies to deal with them. Here, we introduce a method that might help future iGEM teams to deal with PDEs—double Laplace transform.

Definition

The definition of the single-variable Laplace transform, which is what we normally adopted, is defined as below:

The definition of the double-variable Laplace transform (or, double Laplace transform) has a similar form as single-variable Laplace transform:

Notice that for single variable Laplace transform, the x domain is defined: { x | x > 0 }, so analogously, the domain of double Laplace transform, (x, y), is defined to be in the first quadrant, namely { (x, y) | x, y > 0 }.

Properties

The general properties of double Laplace transform are listed below [1]:

Fig. 1A. Table of double Laplace transform properties.

Application of Double Laplace Transform: Solving Partial Differential Equations

We performed a solution to one example of a partial differential equation using double Laplace transform.

Find the general solution of the equation below:

With boundary and initial conditions:

By adopting double Laplace transform method, we can transform the original equation:

Solving F:

By operating inverse double Laplace transform on F, we can get the solution of C:

Let Computer Calculate: Development of MATLAB Program to Conduct Double Laplace Transform

We have demonstrated that double Laplace transform is a useful tool to deal with PDEs. However, double Laplace transform is not easy to calculate, since the process involves integrations that might not end up with a certain answer. Therefore, development of the program that can conduct double Laplace transform will be very helpful in solving PDEs.

MATLAB has a function called “laplace(F,x,s)” that can conduct a normal Laplace transform. However, if the function is not transformable, then the function cannot get the result. During the development of our models, we have built two MATLAB programs that has the function below:

  1. Conducting double Laplace transform of PDEs.

  2. Making Laplace transform estimation of those who cannot be directly transformed by MATLAB’s function.

What’s more, we make these two programs available on the internet with well documentation. Below is the link of the two programs:

Demonstration: Numerical Laplace Transform Estimator

Code

Result

Figures below show the running result of Numerical Laplace Transform Estimator. We plot out the approximation of target function's Laplace transformation utilize our program, and the real solution of target function's Laplace transformation. Result shows that our approximation is very close to the real situation.

Fig. A. Approximation of target function's Laplace transformation made by Estimator. We take n = 2000 steps to make this approximation.

Fig. B. Real solutions of target function's Laplace transformation. Calculation conducted by MATLAB built-in function.

Demonstration: Double Laplace Transform PDE Solver

Code

Result

Figure below shows the running result of Double Laplace Transform PDE Solver. By applying initial conditions, boundary conditions and target PDE, we sucessfully plot out the double Laplace transform of target function. Result shows that the program can act as PDE solver.

Fig. C. Double Laplace transform of target function by only providing PDE, initial conditions and boundary conditions.

Software in APP

Description

In order to create a personalized IOP tracking system, we designed an app - Eye Cloud that works with Eye Screen. Eye Cloud not only displays the IOP value on the phone through the Bluetooth connection but also upload each measurement value to ThingSpeak’s personal account that is convenient for long-term tracking and observation. In addition, it can also be used as a tool for large-scale data collection to assist the development of Eye kNOw or other research related to intraocular pressure.

App Design

Fig. 1. App overviewThingSpeak.

ThingSpeak is an IoT analytics platform service that allows us to aggregate, visualize, and analyze live data streams in the cloud. We can easily send data to ThingSpeak from Eye Screen, allowing users to upload and record IOP value through a URL (your personal API Keys)

Fig. 2. ThingSpeak homepage.
  1. Sign up for ThingSpeak.

  2. Click Channels > My Channels. Create a new channel.

  3. Check the boxes next to Fields 1–3. Enter these channel setting values:

  4. Name: Eye Screen

    Field 1: IOP (mV)

  5. Click Save Channel at the bottom of the settings.

  6. Click API Keys tab and copy the write URL.

Fig. 3. ThingSpeak setting ( API Keys > write URL ).

User manual of Eye Cloud

Fig. 4. Eye cloud.
  1. This is the homepage of Eye Cloud, with our lovely logo. Click the “START” button to start.

  2. Then the next screen will ask if you have applied for a ThingSpeak account.

  3. Click “Yes! Ready to start” button to next page and wait for your IOP receiving.

    Click “No, click to apply” button to link to ThingSpeak homepage.

    Click “No,thanks” button to start directly

  4. Click “Bluetooth ” button to connect with Eye Screen when reaching this page.

  5. Bluetooth connection screen.

After the IOP value shows on the screen, click the “Record” button to upload data to your ThingSpeak’s personal account, monitoring daily or monthly measurement records.

Fig. 5. Daily measurement records.
 

References

  1. Debnath L. The Double Laplace Transforms and Their Properties with Applications to Functional, Integral and Partial Differential Equations. International Journal of Applied and Computational Mathematics. 2015;2(2):223-241.