Difference between revisions of "Team:Fudan-TSI/Hardware"

m
m
 
(44 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Fudan-TSI}}<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
+
{{Fudan-TSI}}<!-- jquery loaded by HQ 1.12.4 -->
<html lang="en">
+
<html></p></div></div></div><meta name="viewport" content="width=device-width, initial-scale=1"><meta charset="UTF-8">
<!--
+
  <link rel="stylesheet" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/materialize.css&action=raw&ctype=text/css">
This html document is created by Tian Huang for Team Fudan iGEM 2018.
+
  <link rel="stylesheet" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-font-awesome.css&action=raw&ctype=text/css" />
We make it compatible on laptop and mobile devices by using Materialize 1.0.0-rc.2.
+
  <link rel="stylesheet" type="text/css" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-css.css&action=raw&ctype=text/css" />
-->
+
<style>
<!-- LC check on 2018-10-18 -->
+
/*****************************************************************************/
<head>
+
/* DEFAULT WIKI SETTINGS */
    <meta charset="UTF-8">
+
/*****************************************************************************/
 
+
  #home_logo, #sideMenu { display:none; }
    <!-- CSS -->
+
  #sideMenu, #top_title, .patrollink { display:none; }
    <link rel="stylesheet" type="text/css" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-css.css&action=raw&ctype=text/css" />
+
  #content { margin-left: 0; padding:0px; width:100%; }
 
+
  .judges-will-not-evaluate { border: 4px solid #e4dede; padding: 2% !important; width: 92%!important; }
    <!-- Font-awesome icons 4.7.0 -->
+
/* css clean * */
    <link rel="stylesheet" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-font-awesome.css&action=raw&ctype=text/css" />
+
  #FudanTSIBody li { list-style: none; }
 
+
    <!-- Materialize 1.0.0-rc.2 (Material Design like) -->
+
    <link rel="stylesheet" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/materialize.css&action=raw&ctype=text/css">
+
 
+
    <!-- Clear default CSS settings; CSS reset -->
+
    <style>
+
        *{margin: 0;padding: 0;list-style: none;}
+
        /* via: https://blog.csdn.net/weixin_41014370/article/details/79523637 */
+
 
+
        /** 清除内外边距 **/
+
        body, h1, h3, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
+
        dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
+
        pre, /* text formatting elements 文本格式元素 */
+
        form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
+
        th, td /* table elements 表格元素 */ {
+
            margin: 0;
+
            padding: 0;
+
        }
+
 
+
        /** 设置默认字体 **/
+
 
+
        /* @@@@ h1, h3, h3, h4, h5, h6 { font-size: 100%; }*/
+
        address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
+
        code, kbd, pre, samp { font-family: courier new, courier, monospace; } /* 统一等宽字体 */
+
        /* @@@@ small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */
+
 
+
        /** 重置列表元素 **/
+
        ul, ol { list-style: none; }
+
 
+
        /** 重置文本格式元素 **/
+
        a { text-decoration: none; }
+
        a:hover { text-decoration: underline; }
+
 
+
 
+
        /** 重置表单元素 **/
+
        legend { color: #000; } /* for ie6 */
+
        fieldset, img { border: 0; } /* img 搭车:让链接里的 img 无边框 */
+
        button, input, select, textarea { font-size: 100%; } /* 使得表单元素在 ie 下能继承字体大小 */
+
        /* 注:optgroup 无法扶正 */
+
 
+
        /** 重置表格元素 **/
+
        table { border-collapse: collapse; border-spacing: 0; }
+
 
     </style>
 
     </style>
     <title>2019 Team:Fudan-TSI Hardware</title>
+
     <title>Hardware | 2019 iGEM Team:Fudan-TSI</title>
 
</head>
 
</head>
 
 
<body>
 
<body>
<!-- Fudan div at igem.org -->
+
<div id="FudanTSIdivWrapper"><div id="FudanTSIBody">
<div id="FudanWrapper" class="white">
+
  <header>
    <div id="FudanBody" class="white orangeBg">
+
  <div id="emptyBar" style="position:relative;width: 100%;"></div><nav id="topNav" class="black z-depth-0_5"><div class="nav-wrapper"><div id="teamLogo" class="brand-logo"> <a href="/Team:Fudan-TSI" target="_self"><img alt="2019 team logo" src="https://static.igem.org/mediawiki/2019/d/d3/T--Fudan-TSI--HomepageLogo.gif"></a></div><ul id="nav-mobile" class="right">
        <header>
+
            <!-- empty bar -->
+
            <div id="emptyBar" style="position:relative;width: 100%;"></div>
+
  
            <!-- Navigation bar 2019-9-15 -->
+
    <li class="hide-on-med-and-down"><a class="dropdown-trigger" data-target="dropdown1">Project</a></li><li class="hide-on-med-and-down"><a class="dropdown-trigger" data-target="dropdown2">Results</a></li><li class="hide-on-med-and-down"><a class="dropdown-trigger" data-target="dropdown3">Model</a></li><li class="hide-on-med-and-down"><a class="dropdown-trigger" data-target="dropdown4">Parts</a></li><li class="hide-on-med-and-down"><a class="dropdown-trigger" data-target="dropdown5">Human&nbsp;practices</a></li><li class="hide-on-med-and-down"><a class="dropdown-trigger" data-target="dropdown6">Team</a></li>
            <nav id="topNav" class="white z-depth-0_5">
+
    <li class="hide-on-med-and-down"><a href="/Team:Fudan-TSI/Judging">Judging</a></li>
                <div class="nav-wrapper">
+
    <li> <a id="navList" data-target="slide-out" class="waves-effect waves-light sidenav-trigger right"> <i class="fa fa-navicon" style="font-size: 24px"></i> </a></li></ul></div> </nav>
                    <div id="teamLogo" class="brand-logo">
+
  <!-- Dropdown and List elements in navigation bar -->
                        <a href="/Team:Fudan-TSI" target="_self"><img alt="2019 team logo" src="https://static.igem.org/mediawiki/2019/3/3c/T--Fudan-TSI--Logo0.gif"></a>
+
  <ul id="dropdown1" class="dropdown-content">
                    </div>
+
      <li><a href="/Team:Fudan-TSI/Description">Background</a></li>
                    <ul id="nav-mobile" class="right orangeBorder">
+
      <li><a href="/Team:Fudan-TSI/Design">Design</a></li>
                        <li>
+
      <li><a href="/Team:Fudan-TSI/Experiments">Experiments</a></li>
                            <a id="navList" data-target="slide-out" class="waves-effect waves-light sidenav-trigger right">
+
      <li><a href="/Team:Fudan-TSI/Applied_Design">Applied&nbsp;design</a></li>
                                <i class="fa fa-navicon" style="font-size:24px"></i>
+
  </ul>
                            </a>
+
  <ul id="dropdown2" class="dropdown-content">
                        </li>
+
      <li><a href="/Team:Fudan-TSI/Demonstrate#ReverseTranscription">Reverse&nbsp;transcription</a></li>
                    </ul>
+
      <li><a href="/Team:Fudan-TSI/Demonstrate#Recombination">Recombination</a></li>
                </div>
+
      <li><a href="/Team:Fudan-TSI/Demonstrate">Demonstration</a></li>
            </nav>
+
      <li><a href="/Team:Fudan-TSI/Measurement">Measurement</a></li>
            <!-- Dropdown and List elements in navigation bar -->
+
      <li><a href="/Team:Fudan-TSI/Notebook">Notebook</a></li>
            <!-- Slide-out navigator contents 2019-9-15 -->
+
  </ul>
            <ul id="slide-out" class="sidenav">
+
  <ul id="dropdown3" class="dropdown-content">
                <li style="padding: 0"><div class="sidenavBanner">
+
      <li><a href="/Team:Fudan-TSI/Model">Modeling</a></li>
                    <div class="background">
+
      <li><a href="/Team:Fudan-TSI/Software">Software</a></li>
                    </div>
+
      <li><a href="/Team:Fudan-TSI/Hardware">Hardware</a></li>
                    <p class="flow-text" style="width:100%;text-align:center"><span class="white-text">Hardware</span></p>
+
  </ul>
                </div></li>
+
  <ul id="dropdown4" class="dropdown-content">
                <li>
+
      <li><a href="/Team:Fudan-TSI/Basic_Part">Basic&nbsp;parts</a></li>
                    <ul class="collapsible expandable">
+
      <li><a href="/Team:Fudan-TSI/Composite_Part">Composite&nbsp;parts</a></li>
                        <li class="onThisPageNav"><span>On this page</span></li>
+
      <li><a href="/Team:Fudan-TSI/Improve">Part&nbsp;improvement</a></li>
                        <li class="onThisPageNav"><a href="#section1">div with id section1</a></li>
+
      <li><a href="/Team:Fudan-TSI/Part_Collection">Part&nbsp;collection</a></li>
                        <li class="onThisPageNav"><a href="#section2">div with id section2</a></li>
+
  </ul>
                        <li class="onThisPageNav"><a href="#section3">div with id section3</a></li>
+
  <ul id="dropdown5" class="dropdown-content">
                        <li class="onThisPageNav"><span>Team: Fudan-TSI</span></li>
+
      <li><a href="/Team:Fudan-TSI/Public_Engagement">Public&nbsp;engagement</a></li>
<li><div class="collapsible-header"><span>Project</span></div>
+
      <li><a href="/Team:Fudan-TSI/Human_Practices#IntegratedHumanPractice">Integrated&nbsp;HP</a></li>
    <div class="collapsible-body"><ul>
+
      <li><a href="/Team:Fudan-TSI/Collaborations">Collaborations</a></li>
        <li><a href="/Team:Fudan-TSI/Description">Background</a></li>
+
      <li><a href="/Team:Fudan-TSI/Safety">Safety</a></li>
        <li><a href="/Team:Fudan-TSI/Design">Design</a></li>
+
  </ul>
        <li><a href="/Team:Fudan-TSI/Applied_Design">Applied Design</a></li>
+
  <ul id="dropdown6" class="dropdown-content">
        <li><a href="/Team:Fudan-TSI/Experiments">Experiments</a></li>
+
      <li><a href="/Team:Fudan-TSI/Team">Members</a></li>
        <li><a href="/Team:Fudan-TSI/Judging">Judging</a></li>
+
      <li><a href="/Team:Fudan-TSI/Attributions">Attributions</a></li>
    </ul></div>
+
      <li><a href="/Team:Fudan-TSI/Team#Acknowledge">Acknowledge</a></li>
</li>
+
      <li><a href="/Team:Fudan-TSI/Heritage">Heritage</a></li>
<li><div class="collapsible-header"><span>Results</span></div>
+
  </ul>
    <div class="collapsible-body"><ul>
+
        <li><a href="/Team:Fudan-TSI/Results#ReverseTranscription">Reverse Transcription</a></li>
+
        <li><a href="/Team:Fudan-TSI/Results#Recombination">Recombination</a></li>
+
        <li><a href="/Team:Fudan-TSI/Demonstrate">Demonstration</a></li>
+
        <li><a href="/Team:Fudan-TSI/Measurement">Measurement</a></li>
+
        <li><a href="/Team:Fudan-TSI/Notebook">Notebook</a></li>
+
    </ul></div>
+
</li>
+
<li><div class="collapsible-header"><span>Model</span></div>
+
    <div class="collapsible-body"><ul>
+
        <li><a href="/Team:Fudan-TSI/Model">Modeling</a></li>
+
        <li><a href="/Team:Fudan-TSI/Software">Software</a></li>
+
        <li><a href="/Team:Fudan-TSI/Hardware">Hardware</a></li>
+
    </ul></div>
+
</li>
+
<li><div class="collapsible-header"><span>Parts</span></div>
+
    <div class="collapsible-body"><ul>
+
        <li><a href="/Team:Fudan-TSI/Basic_Part">Basic parts</a></li>
+
        <li><a href="/Team:Fudan-TSI/Composite_Part">Composite parts</a></li>
+
        <li><a href="/Team:Fudan-TSI/Improve">Improved parts</a></li>
+
        <li><a href="/Team:Fudan-TSI/Part_Collection">Part collection</a></li>
+
    </ul></div>
+
</li>
+
<li><div class="collapsible-header"><span>Outreach</span></div>
+
    <div class="collapsible-body"><ul>
+
        <li><a href="/Team:Fudan-TSI/Public_Engagement">Education &amp; Public engagement</a></li>
+
        <li><a href="/Team:Fudan-TSI/Integrated_Human_Practice">Integrated human practice</a></li>
+
        <li><a href="/Team:Fudan-TSI/Collaborations">Collaborations</a></li>
+
        <li><a href="/Team:Fudan-TSI/Safety">Safety</a></li>
+
    </ul></div>
+
</li>
+
<li><div class="collapsible-header"><span>Team</span></div>
+
    <div class="collapsible-body"><ul>
+
        <li><a href="/Team:Fudan-TSI/Team">Members</a></li>
+
        <li><a href="/Team:Fudan-TSI/Attributions">Attributions</a></li>
+
        <li><a href="https://2018.igem.org/Team:Fudan/Heritage" target=_blank>Heritage</a></li>
+
    </ul></div>
+
</li>
+
                    </ul><!-- .expandable -->
+
                </li>
+
                <li><div class="placeHolder"></div></li>
+
            </ul>
+
        </header>
+
  
        <div id="pageContent" style="">
 
  
 +
  <ul id="slide-out" class="sidenav">
 +
    <li style="padding: 0"><div class="sidenavBanner">
 +
      <div class="background"></div>
 +
      <p class="flow-text" style="width:100%;text-align:center"><span class="white-text">Hardware</span></p>
 +
    </div></li>
 +
    <li>
 +
      <ul class="collapsible expandable">
 +
        <li class="onThisPageNav"><span>On this page</span></li>
 +
        <li class="onThisPageNav"><a href="#section1">Motivation</a></li>
 +
        <li class="onThisPageNav"><a href="#section2">Demonstration</a></li>
 +
        <li class="onThisPageNav"><a href="#section3">Future work</a></li>
  
            <div id="contentBanner" class="figureBanner orangeBg">
+
        <li><span class="pageSidebar">Team: Fudan-TSI</span></li><li><div class="collapsible-header"><span class="pageSidebar">Project</span></div><div class="collapsible-body"><ul><li><a class="pageSidebar" href="/Team:Fudan-TSI/Description">Background</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Design">Design</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Experiments">Experiments</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Applied_Design">Applied design</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Judging">Judging</a></li></ul></div></li><li><div class="collapsible-header"><span class="pageSidebar">Results</span></div><div class="collapsible-body"><ul><li><a class="pageSidebar" href="/Team:Fudan-TSI/Demonstrate#ReverseTranscription">Reverse transcription</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Demonstrate#Recombination">Recombination</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Demonstrate">Demonstration</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Measurement">Measurement</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Notebook">Notebook</a></li></ul></div></li><li><div class="collapsible-header active"><span class="pageSidebar">Model</span></div><div class="collapsible-body"><ul><li><a class="pageSidebar" href="/Team:Fudan-TSI/Model">Modeling</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Software">Software</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Hardware">Hardware</a></li></ul></div></li><li><div class="collapsible-header"><span class="pageSidebar">Parts</span></div><div class="collapsible-body"><ul><li><a class="pageSidebar" href="/Team:Fudan-TSI/Basic_Part">Basic parts</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Composite_Part">Composite parts</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Improve">Part improvement</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Part_Collection">Part collection</a></li></ul></div></li><li><div class="collapsible-header"><span class="pageSidebar">Human practices</span></div><div class="collapsible-body"><ul><li><a class="pageSidebar" href="/Team:Fudan-TSI/Public_Engagement">Public engagement</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Human_Practices#IntegratedHumanPractice">Integrated HP</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Collaborations">Collaborations</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Safety">Safety</a></li></ul></div></li><li><div class="collapsible-header"><span class="pageSidebar">Team</span></div><div class="collapsible-body"><ul><li><a class="pageSidebar" href="/Team:Fudan-TSI/Team">Members</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Attributions">Attributions</a></li><li><a class="pageSidebar" href="/Team:Fudan-TSI/Heritage">Heritage</a></li></ul></div></li>
                <div class="row"><!-- below for smaller screen, duplicate h1 and span -->
+
      </ul><!-- .expandable -->
                    <div class="col s12 hide-on-med-and-up">
+
    </li>
                        <h1>Hardware</h1>
+
    <li><div class="placeHolder"></div></li>
                    </div>
+
  </ul>
                    <div class="col s12 hide-on-med-and-up">
+
  </header>
                        <span>tba tba</span>
+
                    </div>
+
                </div><!-- above for smaller screen, duplicate h1 and span -->
+
                <div id="figureBannerTitle" class="hide-on-small-only">
+
                    <h1>Hardware</h1>
+
                    <p class="flow-text"><span>tba tba</span></p>
+
                </div>
+
                <div class="hide-on-small-only">
+
                    <img alt="2018 team Fudan title attributions" src="https://static.igem.org/mediawiki/2018/5/5f/T--Fudan--title_attri.jpg">
+
                    <svg width="10" height="10" xmlns="http://www.w3.org/2000/svg" style="position:absolute; left:0;top:0; width: 4%;height: 100%;">
+
                        <defs>
+
                            <linearGradient y2="0%" x2="100%" y1="0%" x1="0%" id="blackgraleft">
+
                                <stop stop-color="rgb(0,0,0)" stop-opacity="1" offset="0%"/>
+
                                <stop stop-color="rgb(0,0,0)" stop-opacity="0" offset="100%"/>
+
                            </linearGradient>
+
                        </defs>
+
                        <g>
+
                            <rect id="svg_1" fill="url(#blackgraleft)" height="100%" width="100%"/>
+
                        </g>
+
                    </svg>
+
                    <svg width="10" height="10" xmlns="http://www.w3.org/2000/svg" style="position:absolute; right:0;top:0; width: 4%;height: 100%;">
+
                        <defs>
+
                            <linearGradient y2="0%" x2="100%" y1="0%" x1="0%" id="blackgraright">
+
                                <stop stop-color="rgb(0,0,0)" stop-opacity="0" offset="0%"/>
+
                                <stop stop-color="rgb(0,0,0)" stop-opacity="1" offset="100%"/>
+
                            </linearGradient>
+
                        </defs>
+
                        <g>
+
                            <rect id="svg_2" fill="url(#blackgraright)" height="100%" width="100%"/>
+
                        </g>
+
                    </svg>
+
                </div>
+
            </div>
+
  
            <!-- main content of the page -->
+
  <div id="pageContent">
            <div class="container">
+
      <div id="contentBanner" class="figureBanner">
                <!-- side navigator of page content -->
+
          <div class="row">
                <main style="margin: 0;">
+
              <div class="col s12 hide-on-med-and-up">
                    <div class="section container scrolSpy" id="section1">
+
                  <h1><br/>Hardware</h1>
                        <h2>greatbay 文字</h2>
+
              </div>
                        <p class="flow-text">
+
          </div>
Hardware
+
          <div class="hide-on-small-only">
 +
<style>
 +
#demo {width:100%;height:100%;position:relative;z-index:-100;}
 +
#demo svg {width:100%;height:100%;position:fixed;}
 +
#demo svg g {mix-blend-mode:lighten;}
 +
#demo svg polygon {stroke:none;fill:white;}
 +
</style>
 +
<div id="pageCover">
 +
  <svg id="demo" viewBox="0 0 1600 600" preserveAspectRatio="xMidYMid slice">
 +
        <defs>
 +
        <linearGradient id="grad1" x1="0" y1="0" x2="1" y2="0" color-interpolation="sRGB">
 +
          <stop id="stop1a" offset="0%" stop-color="#12a3b4"></stop>
 +
          <stop id="stop1b" offset="100%" stop-color="#ff509e"></stop>
 +
        </linearGradient>
 +
        <linearGradient id="grad2" x1="0" y1="0" x2="1" y2="0" color-interpolation="sRGB">
 +
          <stop id="stop2a" offset="0%" stop-color="#e3bc13"></stop>
 +
          <stop id="stop2b" offset="100%" stop-color="#00a78f"></stop>
 +
        </linearGradient>
 +
        </defs>
 +
        <rect id="rect1" x="0" y="0" width="1600" height="600" stroke="none" fill="url(#grad1)"></rect>
 +
        <rect id="rect2" x="0" y="0" width="1600" height="600" stroke="none" fill="url(#grad2)"></rect>
 +
  </svg>
 +
</div><!-- #pageCover -->
 +
<script src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/bkg&action=raw&ctype=text/javascript"></script>
 +
        <script>
 +
      //////////////////////////////
 +
      // Demo Functions
 +
      //////////////////////////////
 +
      function bkgFunction(showStats) {
 +
        // stats
 +
        if (showStats) {
 +
        var stats = new Stats();
 +
        stats.domElement.style.position = 'absolute';
 +
        stats.domElement.style.left = '0';
 +
        stats.domElement.style.top = '0';
 +
        document.body.appendChild(stats.domElement);
 +
        requestAnimationFrame(function updateStats(){
 +
          stats.update();
 +
          requestAnimationFrame(updateStats);
 +
        });
 +
        }
 +
        // init
 +
        var svg = document.getElementById('demo');
 +
        tesselation.setup(svg);
 +
        gradients.setup();
 +
        var lastTransitionAt, transitionDelay = 10000, transitionDuration = 3000;
 +
        function playNextTransition() {
 +
        tesselation.next(transitionDuration);
 +
        gradients.next(transitionDuration);
 +
        };
 +
        function tick(time) {
 +
        if (!lastTransitionAt || time - lastTransitionAt > transitionDelay) {
 +
          lastTransitionAt = time;
 +
          playNextTransition();
 +
        }
 +
        window.requestAnimationFrame(tick);
 +
        }
 +
        window.requestAnimationFrame(tick);
 +
      }
 +
      //////////////////////////////
 +
      // Delaunay Triangulation
 +
      //////////////////////////////
 +
      var calcDelaunayTriangulation = (function() {
 +
        var EPSILON = 1.0 / 1048576.0;
 +
        function getSuperT(vertices) {
 +
        var xMin = Number.POSITIVE_INFINITY, yMin = Number.POSITIVE_INFINITY,
 +
          xMax = Number.NEGATIVE_INFINITY, yMax = Number.NEGATIVE_INFINITY,
 +
          i, xDiff, yDiff, maxDiff, xCenter, yCenter;
 +
        for(i = vertices.length; i--; ) {
 +
          if(vertices[i][0] < xMin) xMin = vertices[i][0];
 +
          if(vertices[i][0] > xMax) xMax = vertices[i][0];
 +
          if(vertices[i][1] < yMin) yMin = vertices[i][1];
 +
          if(vertices[i][1] > yMax) yMax = vertices[i][1];
 +
        }
 +
        xDiff = xMax - xMin;
 +
        yDiff = yMax - yMin;
 +
        maxDiff = Math.max(xDiff, yDiff);
 +
        xCenter = xMin + xDiff * 0.5;
 +
        yCenter = yMin + yDiff * 0.5;
 +
        return [
 +
          [xCenter - 20 * maxDiff, yCenter - maxDiff],
 +
          [xCenter, yCenter + 20 * maxDiff],
 +
          [xCenter + 20 * maxDiff, yCenter - maxDiff]
 +
        ];
 +
        }
 +
        function circumcircle(vertices, i, j, k) {
 +
        var xI = vertices[i][0], yI = vertices[i][1],
 +
          xJ = vertices[j][0], yJ = vertices[j][1],
 +
          xK = vertices[k][0], yK = vertices[k][1],
 +
          yDiffIJ = Math.abs(yI - yJ), yDiffJK = Math.abs(yJ - yK),
 +
          xCenter, yCenter, m1, m2, xMidIJ, xMidJK, yMidIJ, yMidJK, xDiff, yDiff;
 +
        // bail condition
 +
        if(yDiffIJ < EPSILON){
 +
          if (yDiffJK < EPSILON){
 +
            throw new Error("Can't get circumcircle since all 3 points are y-aligned");
 +
          }
 +
        }
  
  
Video: This is the last episode of our documentary series. We draw out, model and demonstrate our final design.
+
        // calc circumcircle center x/y, radius
 +
        m1  = -((xJ - xI) / (yJ - yI));
 +
        m2  = -((xK - xJ) / (yK - yJ));
 +
        xMidIJ = (xI + xJ) / 2.0;
 +
        xMidJK = (xJ + xK) / 2.0;
 +
        yMidIJ = (yI + yJ) / 2.0;
 +
        yMidJK = (yJ + yK) / 2.0;
 +
        xCenter = (yDiffIJ < EPSILON) ? xMidIJ :
 +
          (yDiffJK < EPSILON) ? xMidJK :
 +
          (m1 * xMidIJ - m2 * xMidJK + yMidJK - yMidIJ) / (m1 - m2);
 +
        yCenter  = (yDiffIJ > yDiffJK) ?
 +
          m1 * (xCenter - xMidIJ) + yMidIJ :
 +
          m2 * (xCenter - xMidJK) + yMidJK;
 +
        xDiff = xJ - xCenter;
 +
        yDiff = yJ - yCenter;
 +
        // return
 +
        return {i: i, j: j, k: k, x: xCenter, y: yCenter, r: xDiff * xDiff + yDiff * yDiff};
 +
        }
 +
        function dedupeEdges(edges) {
 +
        var i, j, a, b, m, n;
 +
        for(j = edges.length; j; ) {
 +
          b = edges[--j]; a = edges[--j];
 +
          for(i = j; i; ) {
 +
          n = edges[--i]; m = edges[--i];
 +
          if(a === m){
 +
            if (b===n){
 +
              edges.splice(j, 2); edges.splice(i, 2);
 +
              break;
 +
            }
 +
          }
 +
          if(a === n){
 +
            if (b===m){
 +
              edges.splice(j, 2); edges.splice(i, 2);
 +
              break;
 +
            }
 +
          }
 +
          }
 +
        }
 +
        }
 +
        return function(vertices) {
 +
        var n = vertices.length,
 +
          i, j, indices, st, candidates, locked, edges, dx, dy, a, b, c;
 +
        // bail if too few / too many verts
 +
        if(n < 3 || n > 2000)
 +
          return [];
 +
        // copy verts and sort indices by x-position
 +
        vertices = vertices.slice(0);
 +
        indices = new Array(n);
 +
        for(i = n; i--; )
 +
          indices[i] = i;
 +
        indices.sort(function(i, j) {
 +
          return vertices[j][0] - vertices[i][0];
 +
        });
 +
        // supertriangle
 +
        st = getSuperT(vertices);
 +
        vertices.push(st[0], st[1], st[2]);
 +
        // init candidates/locked tris list
 +
        candidates = [circumcircle(vertices, n + 0, n + 1, n + 2)];
 +
        locked = [];
 +
        edges = [];
 +
        // scan left to right
 +
        for(i = indices.length; i--; edges.length = 0) {
 +
          c = indices[i];
 +
          // check candidates tris against point
 +
          for(j = candidates.length; j--; ) {
 +
          // lock tri if point to right of circumcirc
 +
          dx = vertices[c][0] - candidates[j].x;
 +
          if (dx > 0.0){
 +
            if(dx * dx > candidates[j].r){
 +
              locked.push(candidates[j]);
 +
            candidates.splice(j, 1);
 +
            continue;
 +
            }
 +
          }
  
GBC Documentary P5
 
  
Last Episode
+
          // point outside circumcirc = leave candidates
Check Full Playlist
+
          dy = vertices[c][1] - candidates[j].y;
 +
          if(dx * dx + dy * dy - candidates[j].r > EPSILON)
 +
            continue;
 +
          // point inside circumcirc = break apart, save edges
 +
          edges.push(
 +
            candidates[j].i, candidates[j].j,
 +
            candidates[j].j, candidates[j].k,
 +
            candidates[j].k, candidates[j].i
 +
          );
 +
          candidates.splice(j, 1);
 +
          }
 +
          // new candidates from broken edges
 +
          dedupeEdges(edges);
 +
          for(j = edges.length; j; ) {
 +
          b = edges[--j];
 +
          a = edges[--j];
 +
          candidates.push(circumcircle(vertices, a, b, c));
 +
          }
 +
        }
 +
        // close candidates tris, remove tris touching supertri verts
 +
        for(i = candidates.length; i--; )
 +
          locked.push(candidates[i]);
 +
        candidates.length = 0;
 +
        for(i = locked.length; i--; )
 +
          if(locked[i].i < n){
 +
            if(locked[i].j < n){
 +
              if(locked[i].k < n){
 +
                candidates.push(locked[i].i, locked[i].j, locked[i].k);
 +
              }
 +
            }
 +
          }
  
  
Thanks all for watching! The previous episode is about incorporating ‘Value Sensitive Design’ into the safety concerns of this hardware.
+
        // done
 +
        return candidates;
 +
        };
 +
      })();
 +
      var tesselation = (function() {
 +
        var svg, svgW, svgH, prevGroup;
 +
        function createRandomTesselation() {
 +
        var wW = window.innerWidth;
 +
        var wH = window.innerHeight;
 +
        var gridSpacing = 250, scatterAmount = 0.75;
 +
        var gridSize, i, x, y;
 +
        if (wW / wH > svgW / svgH) { // window wider than svg = use width for gridSize
 +
          gridSize = gridSpacing * svgW / wW;
 +
        } else { // window taller than svg = use height for gridSize
 +
          gridSize = gridSpacing * svgH / wH;
 +
        }
 +
        var vertices = [];
 +
        var xOffset = (svgW % gridSize) / 2, yOffset = (svgH % gridSize) / 2;
 +
        for (x = Math.floor(svgW/gridSize) + 1; x >= -1; x--) {
 +
          for (y = Math.floor(svgH/gridSize) + 1; y >= -1; y--) {
 +
          vertices.push(
 +
            [
 +
            xOffset + gridSize * (x + scatterAmount * (Math.random() - 0.5)),
 +
            yOffset + gridSize * (y + scatterAmount * (Math.random() - 0.5))
 +
            ]
 +
          );
 +
          }
 +
        }
 +
        var triangles = calcDelaunayTriangulation(vertices);
 +
        var group = document.createElementNS('http://www.w3.org/2000/svg','g');
 +
        var polygon;
 +
        for(i = triangles.length; i; ) {
 +
          polygon = document.createElementNS('http://www.w3.org/2000/svg','polygon');
 +
          polygon.setAttribute('points',
 +
          vertices[triangles[--i]][0] + ',' + vertices[triangles[i]][1] + ' ' +
 +
          vertices[triangles[--i]][0] + ',' + vertices[triangles[i]][1] + ' ' +
 +
          vertices[triangles[--i]][0] + ',' + vertices[triangles[i]][1]
 +
          );
 +
          group.appendChild(polygon);
 +
        }
 +
        return group;
 +
        }
 +
        return {
 +
        setup: function(svgElement) {
 +
          svg = svgElement;
 +
          var vb = svg.getAttribute('viewBox').split(/\D/g);
 +
          svgW = vb[2];
 +
          svgH = vb[3];
 +
        },
 +
        next: function(t) {
 +
          var toRemove, i, n;
 +
          t /= 1000;
 +
          if(prevGroup){
 +
            if(prevGroup.children){
 +
              if(prevGroup.children.length){
 +
                toRemove = prevGroup;
 +
                n = toRemove.children.length;
 +
                for (i = n; i--; ) {
 +
                  TweenMax.to(toRemove.children[i], t*0.4, {opacity: 0, delay: t*(0.3*i/n)});
 +
                }
 +
                TweenMax.delayedCall(t * (0.7 + 0.05), function(group) { svg.removeChild(group); }, [toRemove], this);
 +
              }
 +
            }
 +
          }
  
 +
          var g = createRandomTesselation();
 +
          n = g.children.length;
 +
          for (i = n; i--; ) {
 +
          TweenMax.fromTo(g.children[i], t*0.4, {opacity: 0}, {opacity: 0.3 + 0.25 * Math.random(), delay: t*(0.3*i/n + 0.3), ease: Back.easeOut});
 +
          }
 +
          svg.appendChild(g);
 +
          prevGroup = g;
 +
        }
 +
        }
 +
      })();
 +
      //////////////////////////////
 +
      // Gradients
 +
      //////////////////////////////
 +
      var gradients = (function() {
 +
        var grad1, grad2, showingGrad1;
 +
        // using colors from IBM Design Colors this time
 +
        var colors = [ // 14 colors - use 3-5 span
 +
        '#3c6df0', // ultramarine50
 +
        '#12a3b4', // aqua40
 +
        '#00a78f', // teal40
 +
        '#00aa5e', // green40
 +
        '#81b532', // lime30
 +
        '#e3bc13', // yellow20
 +
        '#ffb000', // gold20
 +
        '#fe8500', // orange30
 +
        '#fe6100', // peach40
 +
        '#e62325', // red50
 +
        '#dc267f', // magenta50
 +
        '#c22dd5', // purple50
 +
        '#9753e1', // violet50
 +
        '#5a3ec8'  // indigo60
 +
        ];
 +
        function assignRandomColors(gradObj) {
 +
        var rA = Math.floor(colors.length * Math.random());
 +
        var rB = Math.floor(Math.random() * 3) + 3; // [3 - 5]
 +
        rB = (rA + (rB * (Math.random() < 0.5 ? -1 : 1)) + colors.length) % colors.length;
 +
        gradObj.stopA.setAttribute('stop-color', colors[rA]);
 +
        gradObj.stopB.setAttribute('stop-color', colors[rB]);
 +
        }
 +
        return {
 +
        setup: function() {
 +
          showingGrad1 = false;
 +
          grad1 = {
 +
          stopA: document.getElementById('stop1a'),
 +
          stopB: document.getElementById('stop1b'),
 +
          rect:  document.getElementById('rect1')
 +
          };
 +
          grad2 = {
 +
          stopA: document.getElementById('stop2a'),
 +
          stopB: document.getElementById('stop2b'),
 +
          rect:  document.getElementById('rect2')
 +
          };
 +
          grad1.rect.style.opacity = 0;
 +
          grad2.rect.style.opacity = 0;
 +
        },
 +
        next: function(t) {
 +
          t /= 1000;
 +
          var show, hide;
 +
          if (showingGrad1) {
 +
          hide = grad1;
 +
          show = grad2;
 +
          } else {
 +
          hide = grad2;
 +
          show = grad1;
 +
          }
 +
          showingGrad1 = !showingGrad1;
 +
          TweenMax.to(hide.rect, 0.55*t, {opacity: 0, delay: 0.2*t, ease: Sine.easeOut});
 +
          assignRandomColors(show);
 +
          TweenMax.to(show.rect, 0.65*t, {opacity: 1, ease: Sine.easeIn});
 +
        }
 +
        };
 +
      })();
 +
      //////////////////////////////
 +
      // Start
 +
      //////////////////////////////
 +
      bkgFunction();
 +
    </script>
 +
              <div style="position:absolute;top:100px;left:9%"><center><img style="height:120px;width:auto" alt="cover hardware" src="https://static.igem.org/mediawiki/2019/a/a7/T--Fudan-TSI--coverHardware.gif" /></center></div>
 +
          </div>
 +
      </div>
  
 +
<!--////////////////////////////////////////////////////
 +
      do not edit above, if must BE CAREFUL
 +
  //////////////////////////////////////////////////////-->
 +
      <div class="container">
 +
          <!-- side navigator of page content -->
 +
          <ul id="pageContentNav" class="hide-on-med-and-down z-depth-0">
 +
              <li class="onThisPageNav"><a href="#section1">Motivation</a></li>
 +
              <li class="onThisPageNav"><a href="#section2">Demonstration</a></li>
 +
              <li class="onThisPageNav"><a href="#section3">Future&nbsp;work</a></li>
 +
          </ul>
 +
          <!-- main content of the page -->
 +
          <main><article>
  
 +
<div id="section1" class="section container scrolSpy">
 +
<p class="flow-text">To track bacteria growth on the plate and observe the fluorescence recovery from nonsense mutation due to continuous mutagenesis, we devised this hardware - the Fluorescence Tracker. It provides continuous, hands-off recording of the growth of plate colonies as well as fluorescent protein expression. For users of our mutagenesis system, with the help of our hardware, they could plate, and then monitor all plates together to increase the likelihood of spotting bacteria colonies with recovered fluorescence at the earliest time point. After discussions with our PI, we improved our hardware by adding remote access through TeamViewer, which allows visualizing the dynamic changes on smartphones. Although the current hardware is only suitable for monitoring fluorescence recovery, it could be easily modified to monitor bacteria colonies growing out of any antibiotic plate. Our hardware allows us to come to lab knowing that a plate with desired colonies is waiting for us.</p>
  
Introduction
+
  <h2>Motivation</h2>
 +
  <p class="flow-text">In our experimental setup, we decided to demonstrate whether desired mutations of our gene of interest occurs by viewing whether the stop codon ahead of the real stop codon of the mRNA of eGFP is mutated into a non-stop codon. This means that after removing IPTG and aTc from the bacteria that have been used to induce mutation, we should coat the plate and keep track on the color of each colony that forms on the plate.</p>
 +
  <p class="flow-text">However, as the mutation rate of our system might not be high enough, we prefer to coat quite a few plates to increase the probability that at least 1 colony can express eGFP. Finally, we should put them under the fluorescence microscope one by one. Those steps render the experiments laborious. As a result, we built this Fluorescence Tracker hardware to automatically track the fluorescence change with cell growth. The Fluorescence Tracker is composed of a camera and an Arduino board connected to the computer and is controlled by a software called Micro-Manager. The Arduino board is connected to a flashlight that can emit R/G/B light to stimulate the fluorescence of eGFP. The camera is used to record the cell growth and the change in fluorescence.</p>
 +
  <p class="flow-text">Finally, using the mobile App from TeamViewer which view the computer on your mobile phone, you can have access to view the fluorescence of any plates anywhere and anytime.</p>
 +
</div>
  
Having noticed it is the difficulty in capturing cats that largely impeded the executive of TNR (Trap, Neuter, Release), we realized that the feline-attracting characteristic of nepetalactone could be of great help (For more details on why nepetalactone appeals felines, see Project Background). Compared to cage traps and usual food lure, the pleasant scent of nepetalactone in catnip would appear to cats less of a pitfall, therefore more easily let down the guard of stray cats. With this need clearly identified, we devised a brand new hardware, which can attract and seize stray cats when needed, provides cats with comfortable and secure shelter, and contains an auto-feeder to reduce the workload of the volunteered caregivers. With a beautiful wish that this device would be the promised land for the roaming cats, we named it ‘Kitty Wonderland’.
+
<div id="section2" class="section container scrolSpy">
 +
  <h2>Demonstration</h2>
 +
  <p class="flow-text">Our Fluorescence Tracker is a hardware for potential users of our mutagenesis system to easily track whether the mutated protein has been expressed or not. Here we provide a step-by-step guide to using this hardware.</p>
 +
  <p class="flow-text">Step 1. Download and install the correct version of Micro-Manager from <a href="https://micro-manager.org/wiki/Micro-Manager_Version_Archive" target="_blank">its official website</a> according to your depending on your own computer setup (MacOS/Win-32/Win-64 are available). Old 1.4 releases are recommended.</p>
  
 +
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/8/82/T--Fudan-TSI--HFig1.gif" />
 +
  </div>
  
Most of the features and their corresponding functions of the Kitty Wonderland are identified in Figures 1, which demonstrate the final version and the separate sections of our Kitty Wonderland. The functions and adaptations of every component will be discussed and explained comprehensively later in the Design.
+
  <p class="flow-text">Step 2. Double click on the Micro-Manager icon to start the software.</p>
 +
  <p class="flow-text">Step 3. Load Micro-Manager startup configuration file (.cfg files) that controls the camera and the Arduino board (the file openCV.cfg shown here only controls the camera). The file arduino_LED.cfg controls both the camera and the Arduino board. Both cfg files are available upon request.</p>
  
Figure 1. The 3D Modeling Figure of the whole structure, The Base, The House and The Roof of Kitty Wonderland.
+
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/4/4c/T--Fudan-TSI--HFig3.gif" />
 +
  </div>
  
 +
  <p class="flow-text">The setup of our hardware is shown in the following picture. We developed the configuration script arduino_LED.cfg can control both the camera and the Arduino board. However, due to the lack of a filter glass, when projecting the light to the plate that has colonied by <i>E. coli</i> expressing fluorescence protein, the images recorded by the camera was far below expectation. Due to lacking a motorized drive, we are not able to switch between appropriate filter glasss, what we shown here could be improved.</p>
  
Before we came up with the idea of the design of this final version, we gathered and analyzed information and advice from specialists, officials and residence. Corresponding evaluations and modifications have been done to compare our hardware with the existing solutions and improve the possible performance of our design, as explained in the next section.
+
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/6/6d/T--Fudan-TSI--HAddition.gif" />
 +
  </div>
  
Evaluations and Improvements
+
  <p class="flow-text">Step 4. Click on the Multi-D Acq. icon to open multi-dimensional acquisition window.</p>
  
Animal lovers in various communities have installed many simple shelters with food and water supplies under their apartments. The price of these simple shelters are cheap (Most of the shelters are made of paperboard plastics) and these shelters are tiny and light so it is very easy to transport and carry them. However, they are not waterproof and therefore could only be placed under the roof where only a confined space is available (Figure 2). Since these shelters only serve to provide stray cats with foods, no cat will be captured and therefore no sterilization could be done. In order to solve the stray cats problem thoroughly, capture and neuter are the priorities and certain number of cats needs to be sterilized to inhibit the surge of stray cats population before further measures are undertaken.
+
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/d/d7/T--Fudan-TSI--HFig4.gif" />
 +
  </div>
  
In addition, many rescue parties of cats and dogs have already adopted modified cages which serve purely to trap stray cats and dogs (Figure 2). However, this method presents issues and concerns due to the fact that those cages don’t actually offer any benefits to cats and dogs but trap anything enters the cage immediately. Therefore, cats and dogs are becoming increasingly indifferent to those steel cages, which not only fail to demonstrate their functions but also pose threats to the animal. Besides, the sharp and harsh appearance of those steel cages doesn’t appeal to cat and dog at all. Pedestrian and residence will also find those cages very abrupt and unattractive, thus having negative attitudes towards the actions of the rescue team. None of these is helpful in taking care of cats and dogs and rescuing them effectively, not to mention the aim of emphasizing the problem of stray cats and dogs to the public and encouraging every citizen to get involve in the rescue.
+
  <p class="flow-text">Step 5. After Step 4, a setting window will pop up. Tick the Time Points box to set how many pictures you want to take and the intervals of taking these pictures. Suppose we decide to record for 12 hours, we only need to type 144 in the text box behind Number and set 5 min in the text box behind Interval.</p>
  
 +
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/e/e8/T--Fudan-TSI--HFig5.gif" />
 +
  </div>
  
Figure 2. The investigation of the current solutions of stray cats problem.
+
  <p class="flow-text">Step 6. Tick the Save images box to save the pictures to a local folder. Finally, click the Acquire! icon to start the automatic image acuiring process. Now you can see your plate if it is placed right under the camera.</p>
  
 +
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/b/bc/T--Fudan-TSI--HFig6.gif" />
 +
  </div>
  
Design
+
  <p class="flow-text">Step 7. Click on the green magnifier icon to zoom in for a better view.</p>
  
Our Kitty Wonderland is made of wooden boards and some extra components like the camera and electric fan which enhance the functionality of the Kitty Wonderland. We select wooden boards instead of plastics or steels because wood is more nature and intimate to cat and it also has outstanding properties like relatively light and heat-insulated. Paintings, drawings and crafts could also be applied easily to the wooden boards to improve the appearance of our hardware. During the construction of the Kitty Wonderland, we simply nail all the components and wooden boards together.
+
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/archive/9/98/20191017193505%21T--Fudan-TSI--SHFig7.gif" />
 +
  </div>
  
The design of Kitty Wonderland is quiet complex, so the whole structure is broken down into three individual parts which are further explained. We name these three parts The Base, The House and The Roof respectively.
+
  <p class="flow-text">Step 8. If you want to access the recording device when you are not in the, you can use the software TeamViewer to connect your mobile phone and your computer, as is shown in the following figure. The picture is the screen shot from the mobile phone.</p>
  
The pictures of The Base and The House are shown in Figure 3. The Base is consists of a wooden box with a lid, a 3D printed pedestal and a PVC tube of 90 cm long. In consideration of the protection and safety of battery and other appliance, we make the wooden box and cover the bottom of it with plastic, so the box is made waterproof and can protect the electric appliance inside the box. This wooden box could also provide a foundation and elevation for the main house which is placed on top of it, so our design could be placed on the streets where no shelter against rain is present and the House will not be submerged by heavy rain or flood. The plastic pedestal in nailed at the bottom of the Base and it is designed for the consolidation of the PVC tube, which runs all the way to the top of The House. The PVC pipe has two functions: To immobilized the house and to protect the wiring. Electrical appliance like the camera and the electric fan are installed on the top of the House. In order to connect the wires between the battery and the appliance without imposing potential danger on the cats and damaging the appearance of Kitty Wonderland, we apply this PVC tube into our design to allow wires go through it. Since the PVC tube runs through The Base and The House (The lid of The Base and the bottom of The House both have a hole with the diameter of the PVC tube in the middle), it connects and stabilizes the whole structure.
+
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/e/e8/T--Fudan-TSI--HFig8.gif" />
 +
  </div>
 +
</div>
  
 
+
<div id="section3" class="section container scrolSpy">
Figure 3. Demonstration of the appearance and design of The Base and The House of Kitty Wonderland
+
  <h2>Future work</h2>
 
+
  <p class="flow-text">At present, we just proved that our recording setup could work properly. However, for lack of critical devices, we haven't come up with a good solution to record the fluorescence. Moreover, this system can only work for one plate, but there will be a lot of plates that need to be tracked in R-Evolution. As a result, we should further build a device that can record many plates with high resolution.</p>
 
+
Right on top of The Base is The House. The House is the place where cats enjoy their lives. Two sliding electric doors are installed on the inner opposite sides of the House, and each door is controlled by a motor. After a cat enters the House, what happens is the sensor above the door detects the cat and the sensor sends signal to the central controller in The Roof or in The Base, which then activates the motors and closes the door. The door could also be adjusted to remain open, so the Kitty Wonderland becomes a habitat of cats and will not capture the cats if necessary. An inverted camera is also installed at one top corner of The House to monitor the conditions inside the House for recording and safety purposes (For more detailed safety considerations, see Application and Safety below). The chemical of our final production, the nepetalactol, and the foods inside the auto-feeder are used to further attract and entertain the cats. The nepetalactol is placed inside the essence oil container which is situated on the top of The House. The wooden board of the top is processed so that a total of 49 ventilation holes with diameter of 2 cm are created. These holes allow gas exchange to occur, and they also allow the wires from the motors and sensors inside The House to reach The Roof safely and easily. Through the ventilation holes, the fragrance of nepetalactol could easily diffuse down into The House where its enthusiastic consumers live and play. The foods and water inside the House also allow cats to stay for a long period of time. All together, these treats will make our design a paradise for cats.
+
 
+
The final section of our design is The Roof, as shown with the whole structure in Figure 4. In the 3D Modeling Figure, the demonstration on the left is the bottom view of The Roof. An inverted electric fan is fixed on the roof. Its function is to strengthen the air flow though our design and facilitate the diffusion of nepetalactol inside the essence oil container, so distant stray cats are also guided by the fragrance of the oil to our Kitty Wonderland. Since there are electric wires and appliance under the Roof, the lateral sides of the Roof are sealed in consideration of the safety of cats as well as the appearance of the design. Thirteen ventilation pores are made on two sealed sides to allow air flow through our design. The Roof is fixed on the top of The House by bolts and nuts, which allow us to remove The Roof and add nepetalactol quiet easily.
+
 
+
 
+
Figure 4. 3D Modeling Figure of The roof (Picture 1) and the demonstration of the detailed design of The Roof. The final structure of our Hardware in shown in picture 4
+
 
+
 
+
All sections are combined to produce the complete structure of our hardware. In practise, the Base Lid will be placed on top of The Base under The House to provide an extra shielding for the electric appliance (Figure 4).
+
 
+
After recognizing the functions of each component of our design, a brief description of the scenario of implementing our Kitty Wonderland is written below for your further understanding.
+
 
+
 
+
Application and Safety
+
 
+
Our design will be placed on flat ground. Direct exposure to intense sunshine or heavy rain should be avoided as much as possible in consideration of the conditions of battery and other electrical appliance in the Base, in spite of the heat insulation and waterproof properties of the Base. The electric fan under the roof will spread the fragrance of the essence oil, which would fascinate the cats and guide them to our design. Foods and water will be placed inside the House in advance to treat and ease the cats. After a cat enters the House, the motion of the cat will be detected immediately by the sensor which then sends a signal to the electric door through the controller. If necessary, the electric door will shut down so that the cat is remained in our design and awaits the arrival of professionals. The whole process will be recorded by the camera inside the house for future reference and safety consideration. If there is an emergency, the workers nearby will be acknowledged through the camera immediately and they could then remotely control the electric door and release the cats.
+
 
+
Apart from the camera, the electric fan and the nepetalactol under the roof is completely isolated from the range of activity of the cats. Two sealed sides of The Roof mainly serve to keep the cats away from these potential danger, even though the fan is working at very low power and the wires are sealed. The wiring inside the House, as well as the gears and racks of the electric door, are also covered with tapes and metal shielding to prevent cat from touching these components. The tapes and metal shielding are removed in the pictures and 3D Modeling Figures above for explicit demonstration of our design. The position of the hardware should also be away from places with crowds and harsh weather. Long-term heating by sunlight might result in battery failure, so we place the battery under the structure and insulate it by using another wooden box. Our recommended position of the hardware is place where vegetation and shades are available, like a park or sides of a trail, and definitely where cats are playing.
+
                        </p>
+
 
+
                        <h2>title</h2>
+
                        <p class="flow-text">
+
                            Fangfei Ye is responsible for all <a href="/Team:Fudan-TSI/Design_Intention" target="_blank">art design</a>, which includes our team logo, team flag, team uniform (Dr. Cai gave comments), team name card, brochures, our posters, as well as materials related to our human practice events.
+
                        </p>
+
                    </div>
+
 
+
                    <div class="section container scrolSpy" id="section2">
+
                      <div class="figureHolder">
+
                          <p class="flow-text">PCR and subcloning were performed using standard methods. Detailed primer sequences are <a href="/Team:Fudan-TSI/Primers">provided</a>. All constructs were verified by Sanger sequencing.
+
                          </p>
+
                          <p class="flow-text">Cells were cultured in DMEM supplemented with 10% FBS (HyClone), 100 U/ml penicillin, 100 μg/ml streptomycin and 1x GlutaMax (Gibco). Transient transfections were performed using Lipofectamine 2000 (Invitrogen) and Opti-MEM (Gibco). Viral packaging, infection and fluorescence-activated cell sorting were performed using standard methods.
+
                          </p>
+
                          <p class="flow-text">Images, unless otherwise indicated, were captured using an inverted epifluorescence microscope (IX-81, Olympus) and a sCMOS camera (pixel size = 0.3222 &mu;m; Zyla 5.5, Andor; 20x objective N.A.  0.75) and were controlled by <a href="http://www.micro-manager.org/" target=_blank>Micro-Manager software</a>.
+
                          </p>
+
                          <p class="flow-text">All statistical analysis was performed using Prism (Graphpad) and <a href="http://rsbweb.nih.gov/ij/developer/macro/macros.html" target=_blank>ImageJ</a>. All experiments were independently performed in triplicates; unless otherwise indicated. Images were combined and annotated in Powerpoint for presentation. Representative images are shown.
+
                          </p>
+
                      </div>
+
-
+
                      <div class="tableHolder">
+
                          <table>
+
                              <tr>
+
                                  <th>Our protocols as PDF files</th><th>&nbsp;</th>
+
                                  <th>Download</th>
+
                              </tr>
+
                              <tr>
+
                                  <td>Be a Good Lab Member</td><td><i>GoodLabPractices.pdf</i></td>
+
                                  <td><a href="https://2018.igem.org/File:T--Fudan--GoodLabPractices.pdf" target="_blank"><i class="fa fa-download"></i></a></td>
+
                              </tr>
+
                              <tr>
+
                                  <td>Molecular Cloning</td><td><i>MolecularCloning.pdf</i></td>
+
                                  <td><a href="https://2018.igem.org/File:T--Fudan--MolecularCloning.pdf" target="_blank"><i class="fa fa-download"></i></a></td>
+
                              </tr>
+
                              <tr>
+
                                  <td>Tissue Culture</td><td><i>CellCulture.pdf</i></td>
+
                                  <td><a href="https://2018.igem.org/File:T--Fudan--CellCulture.pdf" target="_blank"><i class="fa fa-download"></i></a></td>
+
                              </tr>
+
                              <tr>
+
                                  <td>Make a Stable Cell Line</td><td><i>MakeStableCellLine.pdf</i></td>
+
                                  <td><a href="https://2018.igem.org/File:T--Fudan--MakeStableCellLine.pdf" target="_blank"><i class="fa fa-download"></i></a></td>
+
                              </tr>
+
                              <tr>
+
                                  <td>Cell Sorting</td><td><i>FACS.pdf</i></td>
+
                                  <td><a href="https://2018.igem.org/File:T--Fudan--FACS.pdf" target="_blank"><i class="fa fa-download"></i></a></td>
+
                              </tr>
+
                              <tr>
+
                                  <td>Cell Staining</td><td><i>FixStain.pdf</i></td>
+
                                  <td><a href="https://2018.igem.org/File:T--Fudan--FixStain.pdf" target="_blank"><i class="fa fa-download"></i></a></td>
+
                              </tr>
+
                              <tr>
+
                                  <td>Time-lapse Live-cell Imaging</td><td><i>TimeLapseImaging.pdf</i></td>
+
                                  <td><a href="https://2018.igem.org/File:T--Fudan--TimeLapseImaging.pdf" target="_blank"><i class="fa fa-download"></i></a></td>
+
                              </tr>
+
                          </table>
+
                      </div>
+
                      <p style="color:grey">
+
                          For practical reasons, all full-length protocols are in Chinese.
+
                      </p>
+
                  </div>
+
 
+
                    <div class="section container scrolSpy" id="section3">
+
                        <h2>title</h2>
+
                        <p class="flow-text">
+
                            content content
+
                        </p>
+
 
+
                        <h2>title</h2>
+
                        <p class="flow-text">
+
                            Fangfei Ye is responsible for all <a href="/Team:Fudan-TSI/Design_Intention" target="_blank">art design</a>, which includes our team logo, team flag, team uniform (Dr. Cai gave comments), team name card, brochures, our posters, as well as materials related to our human practice events.
+
                        </p>
+
                    </div>
+
 
+
                </main>
+
            </div>
+
 
+
            <!--Abstract on content page-->
+
            <div id="abstractContent" class="z-depth-2">
+
                <a href="#!"><img alt="project summary" src="https://static.igem.org/mediawiki/2018/9/96/T--Fudan--X.svg"></a>
+
                <div class="container">
+
                    <h4 style="margin:0;padding:10px 0;">Project Summary</h4>
+
                    <p class="flow-text" style="margin:0">Mutation library generation is critical for biological and medical research, but current methods cannot mutate a specific sequence continuously without manual intervention. Here we present a toolbox for <i>in vivo</i> continuous mutation library construction. First, the target DNA is transcribed into RNA. Next, our reverse transcriptase reverts RNA into cDNA, during which the target is randomly mutated by enhanced error-prone reverse transcription. Finally, the mutated version replaces the original sequence through recombination. These steps will be carried out iteratively, generating a random mutation library of the target with high efficiency as mutations accumulate along with bacterial growth. Our toolbox is orthogonal and provides a wide range of applications among various species. R-Evolution could mutate coding sequences and regulatory sequences, which enables the <i>in vivo</i> evolution of individual proteins or multiple targets at a time, promotes high-throughput research, and serves as a foundational advance to synthetic biology.
+
                    </p>
+
                </div>
+
            </div>
+
 
+
            <!-- Floating Btns -->
+
            <div class="floatingBtn">
+
                <a href="#!" id="abstractBtn" class="btn">
+
                    <i class="fa fa-sticky-note" style="font-size:30px;line-height:50px"></i>
+
                </a>
+
                <a href="#FudanWrapper" class="btn">
+
                    <i class="fa fa-angle-up" style="font-size:48px;line-height:45px"></i>
+
                </a>
+
            </div>
+
 
+
            <!-- Footer with sponsors and contact methods -->
+
            <footer id="FudanFooter" class="page-footer grey">
+
                <div class="container">
+
                    <div class="row">
+
                        <div id="sponsor" class="col m3 s12 row">
+
                            <a href="https://2019.igem.org/Team:Fudan-TSI"><img alt="2018 Team:Fudan logo white" class="col s3 m6 l3" style="position:relative; padding: 0.5em 0.3rem; margin:-0.15rem 0; left: -0.45rem;" src="https://static.igem.org/mediawiki/2019/7/7f/T--Fudan-TSI--Logo0-crop-grey.png">
+
                            </a><a href="http://www.fudan.edu.cn/en/" target="_blank"><img class="col s3 m6 l3" alt="Fudan University" src="https://static.igem.org/mediawiki/2018/f/f7/T--Fudan--schoolLogo.png">
+
                        </a><a href="http://life.fudan.edu.cn/" target="_blank"><img class="col s3 m6 l3" style="margin-bottom: 4%;/* 该图比其他小一点,排版需要 */" alt="School of Life Sciences, Fudan University" src="https://static.igem.org/mediawiki/2018/1/1d/T--Fudan--schoolOfLifeSciencesIcon.png">
+
                        </a><a href="http://www.yfc.cn/en/" target="_blank"><img class="col s3 m6 l3" style="padding: 0.15rem 0.9rem;" alt="Yunfeng Capital" src="https://static.igem.org/mediawiki/2018/e/e2/T--Fudan--yunfengLogo.png">
+
                        </a>
+
                            <h3 class="col s12" style="text-align: left; color: rgba(255, 255, 255, 0.8); font-size:12.5px">R-Evolution: an <i>in vivo</i> sequence-specific toolbox for continuous mutagenesis</h3>
+
                        </div>
+
                        <div id="usefulLinks" class="col m9 s12 row">
+
                            <div class="col s12 l6 row">
+
                                <div class="col s12 m4">
+
                                  <span><a href="/Team:Fudan-TSI/Description">Project</a></span>
+
                                    <ul>
+
                                        <li><a href="/Team:Fudan-TSI/Description">Background</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Design">Design</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Applied_Design">Applied Design</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Experiments">Experiments</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Judging">Judging</a></li>
+
                                    </ul>
+
                                </div>
+
                                <div class="col s12 m4">
+
                                    <span><a href="/Team:Fudan-TSI/Results">Results</a></span>
+
                                    <ul>
+
                                        <li><a href="/Team:Fudan-TSI/Results#ReverseTranscription">Reverse Transcription</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Results#Recombination">Recombination</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Demonstrate">Demonstration</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Measurement">Measurement</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Notebook">Notebook</a></li>
+
                                    </ul>
+
                                </div>
+
                                <div class="col s12 m4 active">
+
                                    <span><a href="/Team:Fudan-TSI/Model">Model</a></span>
+
                                    <ul>
+
                                        <li><a href="/Team:Fudan-TSI/Model">Modeling</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Software">Software</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Hardware">Hardware</a></li>
+
                                    </ul>
+
                                </div>
+
                            </div>
+
                            <div class="col s12 l6 row">
+
                                <div class="col s12 m4">
+
                                  <span><a href="/Team:Fudan-TSI/Parts">Parts</a></span>
+
                                    <ul>
+
                                        <li><a href="/Team:Fudan-TSI/Basic_Part">Basic parts</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Composite_Part">Composite parts</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Improve">Improved parts</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Part_Collection">Part collection</a></li>
+
                                    </ul>
+
                                </div>
+
                                <div class="col s12 m4">
+
                                  <span><a href="/Team:Fudan-TSI/Human_Practices">Outreach</a></span>
+
                                    <ul>
+
                                        <li><a href="/Team:Fudan-TSI/Public_Engagement">Education &amp; Public engagement</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Integrated_Human_Practice">Integrated human practice</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Collaborations">Collaborations</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Safety">Safety</a></li>
+
                                    </ul>
+
                                </div>
+
                                <div class="col s12 m4">
+
                                  <span><a href="/Team:Fudan-TSI/Team">Team</a></span>
+
                                    <ul>
+
                                        <li><a href="/Team:Fudan-TSI/Team">Members</a></li>
+
                                        <li><a href="/Team:Fudan-TSI/Attributions">Attributions</a></li>
+
                                        <li><a href="https://2018.igem.org/Team:Fudan/Heritage" target=_blank>Heritage</a></li>
+
                                        <li><a href="/Team:Fudan-TSI">&copy; 2019</a></li>
+
                                    </ul>
+
                                </div>
+
                                <div class="col s12 m4">&nbsp;</div>
+
                            </div>
+
                        </div>
+
                    </div>
+
                </div>
+
                <div class="footer-copyright">
+
                    <div class="container">
+
                        <div class="contactUS row">
+
                          <div class="col s12 m6 l4"><i class="fa fa-location-arrow"></i> Life Sci Bldg, 2005 Songhu Rd, Shanghai
+
                          </div><div class="col s12 m6 l2"><i class="fa fa-fax"></i> +86-21-31246727
+
                          </div><div class="col s12 m6 l2"><i class="fa fa-envelope-o"></i> igem@fudan.edu.cn
+
                          </div><div class="col s12 m6 l4"><i class="fa fa-twitter"></i> <i class="fa fa-wechat"></i> Fudan_iGEM
+
                          </div>
+
                        </div>
+
                    </div>
+
                </div>
+
            </footer>
+
 
+
        </div>
+
    </div>
+
 
</div>
 
</div>
  
 +
<!--////////////////////////////////////////////////////
 +
      do not edit below, if must BE CAREFUL
 +
  //////////////////////////////////////////////////////-->
 +
      </article></main></div><!-- end of side navigator and main of the page -->
  
<!-- Javascript files -->
+
<!-- Floating Btns, Footer with sponsors -->
<!-- Materialize 1.0.0-rc.2 -->
+
      <div class="floatingBtn"> <a href="#FudanTSIdivWrapper" class="btn"> <i class="fa fa-angle-up" style="font-size:48px;line-height:45px"></i> </a></div> <footer id="FudanTSIfooter" class="page-footer blue-grey darken-1"><div class="container"><div class="row"><div id="sponsor" class="col m3 s12 row"> <a href="https://2019.igem.org/Team:Fudan-TSI"><img alt="2019 Team:Fudan-TSI logo white" class="col s3 m6 l3" style="position:relative; padding: 0.45em 0.3rem; margin:-0.15rem 0; left: -0.45rem;" src="https://static.igem.org/mediawiki/2019/0/0f/T--Fudan-TSI--LogoGrey.gif"> </a><a href="http://www.fudan.edu.cn/en/" target="_blank"><img class="col s3 m6 l3" alt="Fudan University" src="https://static.igem.org/mediawiki/2018/f/f7/T--Fudan--schoolLogo.png"> </a><a href="http://life.fudan.edu.cn/" target="_blank"><img class="col s3 m6 l3" style="margin-bottom: 4%;/* fig should be smaller, 2018 ht */" alt="School of Life Sciences, Fudan University" src="https://static.igem.org/mediawiki/2018/1/1d/T--Fudan--schoolOfLifeSciencesIcon.png"> </a><a href="http://www.yfc.cn/en/" target="_blank"><img class="col s3 m6 l3" style="padding: 0.15rem 0.9rem;" alt="Yunfeng Capital" src="https://static.igem.org/mediawiki/2018/e/e2/T--Fudan--yunfengLogo.png"> </a><h3 class="col s12" style="text-align:left;font-size:12.5px">R-Evolution: an <i>in vivo</i> sequence-specific toolbox for continuous mutagenesis</h3></div><div id="footerNavList" class="col m9 s12 row"><div class="col s12 l6 row"><div class="col s12 m4"> <span><a href="/Team:Fudan-TSI/Description">Project</a></span><ul><li><a href="/Team:Fudan-TSI/Description">Background</a></li><li><a href="/Team:Fudan-TSI/Design">Design</a></li><li><a href="/Team:Fudan-TSI/Experiments">Experiments</a></li><li><a href="/Team:Fudan-TSI/Applied_Design">Applied design</a></li><li><a href="/Team:Fudan-TSI/Judging">Judging</a></li></ul></div><div class="col s12 m4"> <span><a href="/Team:Fudan-TSI/Demonstrate">Results</a></span><ul><li><a href="/Team:Fudan-TSI/Demonstrate#ReverseTranscription">Reverse transcription</a></li><li><a href="/Team:Fudan-TSI/Demonstrate#Recombination">Recombination</a></li><li><a href="/Team:Fudan-TSI/Demonstrate">Demonstration</a></li><li><a href="/Team:Fudan-TSI/Measurement">Measurement</a></li><li><a href="/Team:Fudan-TSI/Notebook">Notebook</a></li></ul></div><div class="col s12 m4 active"> <span><a href="/Team:Fudan-TSI/Model">Model</a></span><ul><li><a href="/Team:Fudan-TSI/Model">Modeling</a></li><li><a href="/Team:Fudan-TSI/Software">Software</a></li><li><a href="/Team:Fudan-TSI/Hardware">Hardware</a></li></ul></div></div><div class="col s12 l6 row"><div class="col s12 m4"> <span><a href="/Team:Fudan-TSI/Parts">Parts</a></span><ul><li><a href="/Team:Fudan-TSI/Basic_Part">Basic parts</a></li><li><a href="/Team:Fudan-TSI/Composite_Part">Composite parts</a></li><li><a href="/Team:Fudan-TSI/Improve">Part improvement</a></li><li><a href="/Team:Fudan-TSI/Part_Collection">Part collection</a></li></ul></div><div class="col s12 m4"> <span><a href="/Team:Fudan-TSI/Human_Practices">Outreach</a></span><ul><li><a href="/Team:Fudan-TSI/Public_Engagement">Public engagement</a></li><li><a href="/Team:Fudan-TSI/Human_Practices#IntegratedHumanPractice">Integrated HP</a></li><li><a href="/Team:Fudan-TSI/Collaborations">Collaborations</a></li><li><a href="/Team:Fudan-TSI/Safety">Safety</a></li></ul></div><div class="col s12 m4"> <span><a href="/Team:Fudan-TSI/Team">Team</a></span><ul><li><a href="/Team:Fudan-TSI/Team">Members</a></li><li><a href="/Team:Fudan-TSI/Attributions">Attributions</a></li><li><a href="/Team:Fudan-TSI/Team#Acknowledge">Acknowledge</a></li><li><a href="/Team:Fudan-TSI/Heritage">Heritage</a></li></ul></div><div class="col s12 m4">&nbsp;</div></div></div></div></div><div class="footer-copyright"><div class="container"><div class="contactUS row"><div class="col s12 m6 l4"><i class="fa fa-location-arrow"></i> Life Sci Bldg, 2005 Songhu Rd, Shanghai</div><div class="col s12 m6 l2"><i class="fa fa-fax"></i> +86-21-31246727</div><div class="col s12 m6 l2"><i class="fa fa-envelope-o"></i> igem@fudan.edu.cn</div><div class="col s12 m6 l4"><i class="fa fa-twitter"></i> <i class="fa fa-wechat"></i> Fudan_iGEM</div></div></div></div> </footer>
<script src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/materialize.js&action=raw&ctype=text/javascript"></script>
+
</div></div></div><!-- #pageContent #FudanTSIBody #FudanTSIdivWrapper -->
  
<!-- Javascript -->
+
<script src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/materialize.js&action=raw&ctype=text/javascript"></script><!-- Materialize 1.0.0-rc.2 -->
 
<script src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-js.js&action=raw&ctype=text/javascript"></script>
 
<script src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-js.js&action=raw&ctype=text/javascript"></script>
 
 
</body>
 
</body>
 
</html>
 
</html>

Latest revision as of 05:57, 16 November 2019

Hardware | 2019 iGEM Team:Fudan-TSI


Hardware

cover hardware

To track bacteria growth on the plate and observe the fluorescence recovery from nonsense mutation due to continuous mutagenesis, we devised this hardware - the Fluorescence Tracker. It provides continuous, hands-off recording of the growth of plate colonies as well as fluorescent protein expression. For users of our mutagenesis system, with the help of our hardware, they could plate, and then monitor all plates together to increase the likelihood of spotting bacteria colonies with recovered fluorescence at the earliest time point. After discussions with our PI, we improved our hardware by adding remote access through TeamViewer, which allows visualizing the dynamic changes on smartphones. Although the current hardware is only suitable for monitoring fluorescence recovery, it could be easily modified to monitor bacteria colonies growing out of any antibiotic plate. Our hardware allows us to come to lab knowing that a plate with desired colonies is waiting for us.

Motivation

In our experimental setup, we decided to demonstrate whether desired mutations of our gene of interest occurs by viewing whether the stop codon ahead of the real stop codon of the mRNA of eGFP is mutated into a non-stop codon. This means that after removing IPTG and aTc from the bacteria that have been used to induce mutation, we should coat the plate and keep track on the color of each colony that forms on the plate.

However, as the mutation rate of our system might not be high enough, we prefer to coat quite a few plates to increase the probability that at least 1 colony can express eGFP. Finally, we should put them under the fluorescence microscope one by one. Those steps render the experiments laborious. As a result, we built this Fluorescence Tracker hardware to automatically track the fluorescence change with cell growth. The Fluorescence Tracker is composed of a camera and an Arduino board connected to the computer and is controlled by a software called Micro-Manager. The Arduino board is connected to a flashlight that can emit R/G/B light to stimulate the fluorescence of eGFP. The camera is used to record the cell growth and the change in fluorescence.

Finally, using the mobile App from TeamViewer which view the computer on your mobile phone, you can have access to view the fluorescence of any plates anywhere and anytime.

Demonstration

Our Fluorescence Tracker is a hardware for potential users of our mutagenesis system to easily track whether the mutated protein has been expressed or not. Here we provide a step-by-step guide to using this hardware.

Step 1. Download and install the correct version of Micro-Manager from its official website according to your depending on your own computer setup (MacOS/Win-32/Win-64 are available). Old 1.4 releases are recommended.

Step 2. Double click on the Micro-Manager icon to start the software.

Step 3. Load Micro-Manager startup configuration file (.cfg files) that controls the camera and the Arduino board (the file openCV.cfg shown here only controls the camera). The file arduino_LED.cfg controls both the camera and the Arduino board. Both cfg files are available upon request.

The setup of our hardware is shown in the following picture. We developed the configuration script arduino_LED.cfg can control both the camera and the Arduino board. However, due to the lack of a filter glass, when projecting the light to the plate that has colonied by E. coli expressing fluorescence protein, the images recorded by the camera was far below expectation. Due to lacking a motorized drive, we are not able to switch between appropriate filter glasss, what we shown here could be improved.

Step 4. Click on the Multi-D Acq. icon to open multi-dimensional acquisition window.

Step 5. After Step 4, a setting window will pop up. Tick the Time Points box to set how many pictures you want to take and the intervals of taking these pictures. Suppose we decide to record for 12 hours, we only need to type 144 in the text box behind Number and set 5 min in the text box behind Interval.

Step 6. Tick the Save images box to save the pictures to a local folder. Finally, click the Acquire! icon to start the automatic image acuiring process. Now you can see your plate if it is placed right under the camera.

Step 7. Click on the green magnifier icon to zoom in for a better view.

Step 8. If you want to access the recording device when you are not in the, you can use the software TeamViewer to connect your mobile phone and your computer, as is shown in the following figure. The picture is the screen shot from the mobile phone.

Future work

At present, we just proved that our recording setup could work properly. However, for lack of critical devices, we haven't come up with a good solution to record the fluorescence. Moreover, this system can only work for one plate, but there will be a lot of plates that need to be tracked in R-Evolution. As a result, we should further build a device that can record many plates with high resolution.