Difference between revisions of "Team:ZJU-China"

Line 1: Line 1:
 
+
<!DOCTYPE html>
 
+
 
<html>
 
<html>
 
<head>
 
<head>
<meta charset="utf-8" />
+
<style type="text/css">
<title></title>
+
<!--link rel="stylesheet" href="css/style.css" />
+
<link rel="stylesheet" href="css/bootstrap.min.css" />
+
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
+
<link rel="stylesheet" href="css/font-awesome.min.css">
+
<link rel="stylesheet" type="text/css" href="css/zzsc.css">
+
<link rel="stylesheet" type="text/css" href="dist/jquery.vm-carousel.css">
+
<script src="http://getbootstrap.com"></script>
+
<script src="js/modernizr.js"></script-->
+
<style>
+
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption {
+
    margin: 0;
+
    padding: 0;
+
    border: 0;
+
    outline: 0;
+
    font-size: 100%;
+
    vertical-align: baseline;
+
    background: transparent;
+
}
+
  
.logo_2018 {
 
    display: none;
 
}
 
  
.firstHeading {
 
    display: none;
 
  
}
+
</style>
 +
<meta charset="{CHARSET}">
 +
<link rel="stylesheet" type="text/css" href="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/bootstrapCSS&action=raw&ctype=text/css" />
 +
<link rel="stylesheet" type="text/css" href="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/pageCSS&action=raw&ctype=text/css" />
 +
<link rel="stylesheet" type="text/css" href="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/sponsorCSS&action=raw&ctype=text/css" />
 +
<script type="text/javascript" src="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/bootstrapJS&action=raw&ctype=text/javascript"></script>
 +
<script type="text/javascript" src="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/jqueryJS&action=raw&ctype=text/javascript"></script>
 +
<title>Improve Part</title>
 +
<link href="css/font-awesome.min.css" rel="stylesheet">
 +
<link rel="stylesheet" type="text/css" href="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/bootsnavCSS&action=raw&ctype=text/css" />
  
.nav {
+
<style type="text/css">
width: 100%;
+
.igem_content_wrapper {
height: 15%;
+
    width: 100% !important;
position: fixed;
+
left: 0;
+
top: 0;
+
box-shadow: 0px 0px 20px 2px #8fb2c9;
+
-webkit-box-shadow: 0px 0px 20px 2px #8fb2c9;
+
z-index:100;
+
 
}
 
}
  
.center {
+
#HQ_page {
display: -moz-box;
+
    width: 150% !important;
display: -webkit-box;
+
+
-moz-box-pack: center;
+
-webkit-box-pack: center;
+
+
/*-moz-box-align: center;
+
-webkit-box-align: center;*/
+
 
}
 
}
  
li {
+
.firstHeading {
display: -moz-box;
+
  display: none !important;
display: -webkit-box;
+
+
-moz-box-pack: center;
+
-webkit-box-pack:center;
+
 
}
 
}
  
.nav_label {
+
html, body, .globalWrapper {
height: 100%;
+
    width: 100% !important;
font-family: weston;
+
background:rgba(255,255,255, 1);
+
color: #1a94bc;
+
position: relative;
+
left: 0;
+
top: 0;
+
width: 16.667%;
+
float: left;
+
font-size: .8em;
+
text-align: center;
+
display: -moz-box;
+
display: -webkit-box;
+
+
-moz-box-pack: center;
+
-webkit-box-pack:center;
+
 
}
 
}
 
.navP {
 
height: 25%;
 
width: 100%;
 
text-align: center;
 
position: absolute;
 
bottom: 0;
 
padding: 0;
 
margin: 0;
 
left: 0;
 
display: -moz-box;
 
display: -webkit-box;
 
 
-moz-box-pack: center;
 
-webkit-box-pack:center;
 
}
 
 
.navImg {
 
/*position: absolute;*/
 
display: -moz-box;
 
display: -webkit-box;
 
 
 
-moz-box-align: center;
+
.navbar-brand{
-webkit-box-align: center;
+
padding: 29px 15px;
 +
}
 +
nav.navbar.bootsnav{
 +
border: none;
 +
margin-bottom: 150px;
 +
}
 +
.navbar-nav{
 +
float: left;
 +
}
 +
nav.navbar.bootsnav ul.nav > li > a{
 +
color: #828687;
 +
                text-transform: uppercase;
 +
                font-size: .7em;
 +
/*****/ padding: 30px;
 +
}
 +
nav.navbar.bootsnav ul.nav > li:hover{
 +
background: white;
 +
}
 +
.nav > li:after{
 +
content: "";
 +
width: 0;
 +
height: 5px;
 +
background: #494e6b;
 +
position: absolute;
 +
bottom: 0;
 +
left: 0;
 +
transition: all 0.5s ease 0s;
 +
}
 
 
height: 70%;
+
.nav > .logo:after {
width: auto;
+
background: transparent;
background-size: 100% 100%;
+
}
-webkit-background-size: 100% 100%;
+
.nav > .logo:hover {
}
+
background-image: url(https://static.igem.org/mediawiki/2018/b/b0/T--ZJU-China--teamlogo.png) !important;
 +
background: white;
 +
background-size: 100%;
 +
-webkit-background-size: 100%;
 +
}
 +
.logo {
 +
width: 100px !important;
 +
height: 78px;
 +
margin-right: 30px;
 +
background: white;
 +
}
 +
.logo > a{
 +
background: url(https://static.igem.org/mediawiki/2018/b/b0/T--ZJU-China--teamlogo.png) no-repeat;
 +
transform: rotate(45deg);
 +
background-color: white !important;
 +
width: 100px !important;
 +
height: 100px;
 +
background-size: 100%;
 +
-webkit-background-size: 100%;
 +
/*border: #000000 solid 1px;*/
 +
box-shadow: 0 0 10px 3px black;
 +
-webkit-box-shadow: 0 0 10px 3px black;
 +
margin-top: 10px;
 +
margin-left: 10px;
 +
border-radius: 20%;
 +
}
 +
 +
.nav > li:hover:after{
 +
width: 100%;
 +
}
 +
nav.navbar.bootsnav ul.nav > li.dropdown > a.dropdown-toggle:after{
 +
content: "+";
 +
font-family: 'FontAwesome';
 +
font-size: 16px;
 +
font-weight: 500;
 +
position: absolute;
 +
top: 35%;
 +
right: 10%;
 +
transition: all 0.4s ease 0s;
 +
}
 +
nav.navbar.bootsnav ul.nav > li.dropdown.on > a.dropdown-toggle:after{
 +
content: "^";
 +
                font-family: 'FontAwesome';
 +
transform: rotate(180deg);
 +
}
 +
.dropdown-menu.multi-dropdown{
 +
position: absolute;
 +
left: -100% !important;
 +
}
 +
        .dropdown-menu{
 +
                position: absolute;
 +
left:-10%;
 +
        }
 +
nav.navbar.bootsnav li.dropdown ul.dropdown-menu{
 +
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
 +
border: none;
  
.nav_label:hover {
+
}
background: #1A94BC;
+
@media only screen and (max-width:990px){
color: white;
+
nav.navbar.bootsnav ul.nav > li.dropdown > a.dropdown-toggle:after,
}
+
nav.navbar.bootsnav ul.nav > li.dropdown.on > a.dropdown-toggle:after{ content: " "; }
 +
.dropdown-menu.multi-dropdown{ left: 0 !important; }
 +
nav.navbar.bootsnav ul.nav > li:hover{ background: transparent; }
 +
nav.navbar.bootsnav ul.nav > li > a{ margin: 0; }
 +
}
 +
.container {
 +
box-shadow: 0 0 10px 3px black;
 +
-webkit-box-shadow: 0 0 10px 3px black;
 +
}
 +
.navbar-nav {
 +
float: right;
 +
}
 +
.logo {
 +
position: absolute;
 +
left: -7%;
 +
}
  
.links {
+
@media only screen and (min-width: 1024px) {
display: block;
+
/*改变滚动条样式*/
width: inherit;
+
position: absolute;
+
top: 100%;
+
left: 0;
+
box-shadow: 0px 0px 10px 1px #8FB2C9;
+
-webkit-box-shadow: 0px 0px 10px 1px #8FB2C9;
+
background: white;
+
overflow: hidden;
+
display: none;
+
}
+
  
ul {
+
::-webkit-scrollbar
margin: 0;
+
{  
padding: 0;
+
    width: 12px;
 +
    height: 16px;  
 +
    background-color: gray;  
 
}
 
}
.contents h1
 
{
 
font-size:1.8em !important;
 
position:relative;
 
left:25%;
 
  
}
+
::-webkit-scrollbar-track
.contents p
+
{  
{
+
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
font-size:1.3em !important;
+
    border-radius: 10px;
}
+
    background-color: whitesmoke;  
.contents h2
+
}  
{
+
 
font-size:1.5em !important;
+
/*定义滑块 内阴影+圆角*/
position:relative;
+
::-webkit-scrollbar-thumb
left:25%;
+
{  
 +
    border-radius: 10px;  
 +
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);  
 +
    background-color: rgba(0, 0, 0, 0.6);  
 +
}
  
}
+
::-webkit-scrollbar-thumb:hover
 
+
.links ul li {
+
width: 100%;
+
float: left;
+
font-size: 1em;
+
color: initial;
+
padding-left: 10px;
+
}
+
 
+
.links ul li:hover {
+
background: #8FB2C9;
+
color: initial;
+
}
+
 
+
@font-face {
+
font-family: weston;
+
src: url('../fonts/Weston.otf');
+
}
+
 
+
@font-face {
+
font-family: josefinSans;
+
src: url('../fonts/JosefinSans.ttf');
+
}
+
 
+
@font-face {
+
font-family: piron;
+
src: url('../fonts/piron.woff.ttf');
+
}
+
.head_picture
+
{
+
height: 100% !important;
+
width: 100% !important;
+
}
+
.head_picture img
+
 
{
 
{
height: 100%;
+
border-radius: 5px;
width:140%;
+
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
 +
background: rgba(0,0,0,0.4);
 +
}
 
}
 
}
  
.sponsors {
 
height: 26%;
 
width: 100%;
 
/*border: #000000 solid 1px;*/
 
/*position: fixed;*/
 
padding: 0;
 
margin: 0;
 
left: 0;
 
bottom: 0;
 
 
 
}
 
  
.one_slide {
+
</style>
float: left;
+
</head>
width: 25%;
+
<body>
height: 50%;
+
/*border: dashed 1px darksalmon;*/
+
display: -moz-box;
+
display: -webkit-box;
+
+
-moz-box-pack: center;
+
-webkit-box-pack: center;
+
+
-moz-box-align: center;
+
-webkit-box-align: center;
+
/*border: solid 1px black;*/
+
}
+
  
.slide_img{
+
<div class="demo" style="width: 100%; padding: 0em 0; position: fixed; margin: 0; left:0; top: 0; z-index: 999;">
width: 75% !important;
+
<div class="container">
/*height: 80%;*/
+
<div class="row">
/*border: solid 1px black;*/
+
<div class="col-md-12">
overflow: hidden;
+
<nav class="navbar navbar-default navbar-mobile bootsnav">
/*display: -moz-box;
+
<div class="navbar-header">
display: -webkit-box;
+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-menu">
+
<i class="fa fa-bars"></i>
-moz-box-pack: center;
+
</button>
-webkit-box-pack: center;
+
</div>
+
<div class="collapse navbar-collapse" id="navbar-menu">
-moz-box-align: center;
+
<!--<div style="background: url(img/logo.png) no-repeat; height: 100px; width: 100px; background-size: 100% ; position: relative; margin: 0;
-webkit-box-align: center;
+
padding: 0; border: #000000 solid 1px;"></div>-->
border: solid 1px black;*/
+
<ul class="nav navbar-nav" data-in="fadeInDown" data-out="fadeOutUp">
}
+
<li class="logo"><a href="#">
.blank
+
<!--<img src="url(img/logo.png)" />-->
{
+
</a></li>
height: 30%;
+
<li class="dropdown">
width:100%;
+
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project</a>
}
+
<ul class="dropdown-menu">
 +
<li><a href="#">Description</a></li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Design&Results</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Curli</a></li>
 +
<li><a href="#">Tag/Catcher System</a></li>
 +
<li><a href="#">Enzyme</a></li>
 +
<li><a href="#">Logic Gate</a></li>
 +
</ul>
 +
</li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Applied Design</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Overview</a></li>
 +
<li><a href="#">2D print</a></li>
 +
<li><a href="#">Electrode</a></li>
 +
<li><a href="#">Integration</a></li>
 +
<li><a href="#">Roll-out Plan</a></li>
 +
</ul>
 +
</li>
 +
</ul>
 +
</li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Parts</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Overview</a></li>
 +
<li><a href="#">Basic Parts</a></li>
 +
<li><a href="#">Composite Parts</a></li>
 +
<li><a href="#">Improved Parts</a></li>
 +
</ul>
 +
</li>
 +
<li><a href="#">Modeling</a></li>
 +
<li><a href="#">InterLab</a></li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Safety</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Project Safety</a></li>
 +
<li><a href="#">General Safety</a></li>
 +
</ul>
 +
</li>
 +
<li class="dropdown" style="min-width: 250px;">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Human Practice</a>
 +
<ul class="dropdown-menu">
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown" >Silver</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">TED Talk</a></li>
 +
<li><a href="#">Subscriptions</a></li>
 +
</ul>
 +
</li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown" >Gold Integrated</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Academics</a></li>
 +
<li><a href="#">Hospitals</a></li>
 +
<li><a href="#">Bioethics</a></li>
 +
</ul>
 +
</li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown" >Education & Public Engagement</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Science Museum</a></li>
 +
<li><a href="#">Bioart Exhibition</a></li>
 +
</ul>
 +
</li>
 +
<li><a href="#">Collaborations</a></li>
 +
</ul>
 +
</li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Notebook</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Lab Book</a></li>
 +
<li><a href="#">Protocols</a></li>
 +
</ul>
 +
</li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Team</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Members</a></li>
 +
<li><a href="#">Attribution</a></li>
 +
<li><a href="#">Contributions</a></li>
 +
<li><a href="#">Sponsors</a></li>
 +
<!--<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Sub Menu</a>
 +
<ul class="dropdown-menu">
 +
<li><a href="#">Custom Menu</a></li>
 +
<li><a href="#">Custom Menu</a></li>
 +
<li class="dropdown">
 +
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Sub Menu</a>
 +
<ul class="dropdown-menu multi-dropdown">
 +
<li><a href="#">Custom Menu</a></li>
 +
<li><a href="#">Custom Menu</a></li>
 +
<li><a href="#">Custom Menu</a></li>
 +
<li><a href="#">Custom Menu</a></li>
 +
</ul>
 +
</li>
 +
<li><a href="#">Custom Menu</a></li>
 +
</ul>
 +
</li>-->
 +
</ul>
 +
</li>
  
.addr {
+
</ul>
/*position: fixed;*/
+
</div>
position: absolute;
+
</nav>
padding: 0;
+
margin: 0;
+
/*bottom: 0;*/
+
left: 0;
+
top:100% !important;
+
width: 150% !important;
+
height: 1%;
+
background: #1677b3;
+
}
+
 
+
.addr p {
+
display: -moz-box;
+
display: -webkit-box;
+
+
-moz-box-pack: center;
+
-webkit-box-pack: center;
+
-moz-box-align: center;
+
-webkit-box-align: center;
+
+
/*border: 1px solid black;*/
+
font-family: weston;
+
font-size: 1em;
+
/*text-align: center;*/
+
/*position: absolute;*/
+
width: 100%;
+
height: 100%;
+
color: white;
+
}
+
 
+
.addr p a {
+
color: white;
+
}
+
 
+
.addr p a:hover {
+
color: white;
+
text-decoration: underline;
+
}
+
h1,h2
+
{
+
text-align:center;
+
}
+
 
+
.contents p
+
{
+
padding: 0.5cm 3cm;
+
position:relative;
+
left:23%;
+
 
+
}
+
 
+
.picture1
+
{
+
padding-left: 10%;
+
padding-bottom: 5%;
+
}
+
.picture2
+
{
+
padding-bottom: 5%;
+
padding-top: 5%;
+
}
+
.picture3
+
{
+
padding-left: 25%;
+
padding-bottom: 5%;
+
}
+
.picture4
+
{
+
padding-left: 15%;
+
}
+
</style>
+
<style type="text/css"-->
+
+
  .vmc-centered{ padding: 10px 0; }
+
  .vmc-centered img { transition: all 0.3s ease; }
+
  .vmc-centered .vmc_active img { transform: scale(1.2); }
+
</style>
+
 
+
</head>
+
<body><!--script src="/demos/googlegg.js"></script-->
+
<!--navigator-->
+
<!--div class="nav">
+
<div class="nav_label center" id="logo">
+
<div class="navImg" style="background-image: url(https://static.igem.org/mediawiki/2018/2/20/T--ZJU-China--home--wetlab--blue.png);" img='url(https://static.igem.org/mediawiki/2018/2/20/T--ZJU-China--home--wetlab--blue.png)'></div>
+
<p class="navP">LOGO</p>
+
 
</div>
 
</div>
<div class="nav_label center">
+
</div>
<div class="navImg" style="background-image: url(img/ZJUChina_home_project_blue.png);" img='url(img/ZJUChina_home_project_blue.png)' imgHover='url(img/ZJUChina_home_project_white.png)'></div>
+
</div>
<p class="navP">Project</p>
+
<div class="links center">
+
<ul>
+
<li>Overview</li>
+
<li>design</li>
+
<li>final results</li>
+
<li>achievements</li>
+
</ul>
+
</div>
+
</div>
+
<div class="nav_label center">
+
<div class="navImg" style="background-image: url(img/ZJUChina_home_wetlab_blue.png);" img='url(img/ZJUChina_home_wetlab_blue.png)' imgHover='url(img/ZJUChina_home_wetlab_white.png)'></div>
+
<p class="navP">Wet Lab</p>
+
<div class="links center">
+
<ul>
+
<li>protocols</li>
+
<li>notebook</li>
+
<li>Safety</li>
+
<li>parts</li>
+
</ul>
+
</div>
+
</div>
+
<div class="nav_label center">
+
<div class="navImg" style="background-image: url(https://static.igem.org/mediawiki/2018/4/47/T--ZJU-China--home--hardware_blue.png);" img='url(https://static.igem.org/mediawiki/2018/4/47/T--ZJU-China--home--hardware_blue.png)' imgHover='url(https://static.igem.org/mediawiki/2018/0/02/T--ZJU-China--home--hardware--white.png)'></div>
+
<p class="navP">Results</p>
+
<div class="links center">
+
<ul>
+
<li>hardware</li>
+
<li>modeling</li>
+
<li>software</li>
+
<li>AI</li>
+
</ul>
+
</div>
+
</div>
+
+
<div class="nav_label center">
+
<div class="navImg" style="background-image: url(img/ZJUChina_home_HP_blue.png);" img='url(img/ZJUChina_home_HP_blue.png)' imgHover='url(img/ZJUChina_home_HP_white.png)'></div>
+
<p class="navP">Human Practice</p>
+
<div class="links center">
+
<ul>
+
<li>silver</li>
+
<li>gold</li>
+
<li>engagement</li>
+
</ul>
+
</div>
+
</div>
+
<div class="nav_label center">
+
<div class="navImg" style="background-image: url(img/ZJUChina_home_team_blue.png);" img='url(img/ZJUChina_home_team_blue.png)' imgHover='url(img/ZJUChina_home_team_white.png)'></div>
+
<p class="navP">Team</p>
+
<div class="links center">
+
<ul>
+
<li>Teammates</li>
+
<li>Attribution</li>
+
<li>Collaboration</li>
+
</ul>
+
</div>
+
</div>
+
</div-->
+
+
<!--head picture-->
+
<div class="head_picture">
+
    <img src="https://static.igem.org/mediawiki/2018/a/a1/T--ZJU-China--background.jpeg">
+
 
</div>
 
</div>
    <!--contents-->
 
  <div class = "contents">
 
    <h1> What we do</h1>
 
    <p>This year, we are developing a project which utilizes three orthogonal connection systems to detect enzyme-catalyzed reaction products qualitatively and quantitatively. </p>
 
    <p>Although enzymes can be used in purified form, in crude cell lysates, or encased in synthetic protective materials, an approach that optimally combines the criteria of high surface area, enhanced enzyme stability, rapid mass transport, and modularity remains elusive.  Recently, a brand-new protein immobilization platform has been explored. The platform modifies curli nanofibers, the amyloid fiber component of E. coli biofilms, with a peptide tag fused to the amyloidogenic protein CsgA.</p>
 
    <p>Meanwhile, a genetically programmable, irreversible immobilization method—the spontaneous covalent bond formation between 13-amino acid SpyTag and 15kDa SpyCatcher has been demonstrated.  CsgA with a fused SpyTag and a certain enzyme with a SpyCatcher fusion are proved to form site-specific attachment between tags and catchers, even in a complex mixture. </p>
 
    <img class="picture1" src="https://static.igem.org/mediawiki/2018/4/44/T--ZJU-China--spy.png">
 
    <p>In our approach, we are going to transform PHL628-△csgA cells with pBbE1a plasmids expressing CsgA-SpyTag to cover cells with curli fibers as the base. Curli fibers will connect adjacent cells to form a biofilm(Fig.1). Then, since there are three orthogonal systems, SpyTag/SpyCatcher2, SnoopTag/SnoopCatcher  and SdyTag/SdyCatcher , we are also going to synthesizing a string of three enzymes rather than one single SpyCatcher-Enzyme. The method is specifically illustrated as follows(Fig.2).</p>
 
    <img class="picture2" src="https://static.igem.org/mediawiki/2018/b/bc/T--ZJU-China--figure2.png">
 
   
 
    <h1> Where the value lies</h1>
 
    <p>One advantage is that it promises to evolve into a cell-free system with high fidelity. It is reported the biofilm displaying the same level of activity after 12 days with a slight decrease after 28 days, which indicates that the biofilm and its entangled curli fibers are stable enough.Thus, a reasonable assumption is that even if cells die, curli with SpyTag and the string of enzymes still works. In view of this advantage, the assembled system has the potential to be widely practiced in industry.  </p>
 
    <p>Another advantage is that the string has a myriad of multi-enzyme systems by assigning specific functions to each enzyme at different sites. For example, a logic network composed of three enzymes, alcohol dehydrogenase (ADH, from Saccharomyces cerevisiae), glucose dehydrogenase (GDH, from Pseudomonas) and glucose oxidase (GOx, from Aspergillus niger) operating in concert as four concatenated logic gates(AND/OR) was designed to process 4 different chemical input signals (NAD, acetaldehyde, glucose and oxygen) (Fig.3).  The conceived functions of the three enzymes will be discussed later. There is no exaggeration that microelements, such as domains and subunits, provide a possibility to achieve multiple functions.</p>
 
  <img class="picture3" src="https://static.igem.org/mediawiki/2018/f/f0/T--ZJU-China--figure3.png">
 
  
  <h1> How hardware assists</h1>
 
  <h2> Microfluidic devices</h2>
 
    <p>It is acknowledged that culture of cells using various microfluidic devices is becoming more common within experimental cell biology. Based on mature technology of microfluidic cell culture, we attempt to control over experimental conditions precisely via custom designed chip architectures, parallelization, automation and direct coupling to miniaturized downstream analysis platforms. This is how purified products, the strings of three enzymes, are produced. </p>
 
    <h2> 3D printing</h2>
 
    <p>A method using ink-jet printing for constructing multi-enzyme systems was proposed.  Considering the vaporization of liquids on ink-jet printers while printing, which may lead to protein denaturation and enzyme inactivation, we decided to transform a 3D printer with similar principles. The capability of 3D printer in creating a precise two-dimensional distribution of enzymes indicates a possibility of spatially controlling enzymatic reactions. </p>
 
    <h2> Biochip</h2>
 
    <p>As for the application of our model, it is diversified and remains infinite possibilities. We have already cited one application called enzyme-based logic systems above. Moreover, biochips are preferred. The original intention is to monitor enzyme-catalyzed reaction in real-time with sensitive currents which is generated by the enzymatic biofuel cells (EBFCs) and reflects the product concentration and other indicators. </p>
 
    <p>Adopting nanostructured materials for biofuel cell construction has been extensively suggested as an effective and promising strategy to achieve high energy production; nanotubes can directly connect the enzyme active centers and transport the produced electrons to the electrode along the tubular network.  The bacteria growing on the nanotubes enables enzymes on the curli-connected string to close contact nanotubes, which acts as an anode. In addition, metal nanoparticles are similar in size to some enzymes, thus decreasing the electron transfer distance of the bioelectrodes. So we will interface curli fibers with gold nanoparticles(AuNPs) as well to further improve performance of EBFCs(Fig.4).  Laccases with electrodes yields the cathode units of EBFCs.</p>
 
  <img class="picture4" src="https://static.igem.org/mediawiki/2018/4/44/T--ZJU-China--figure4.png">
 
</div>
 
  
  <!--img class="blank" src="img/ZJUChina_blank.jpg"-->
+
<!--<div class="topImg" style="background-image: url(img/improve_part.png) ;"></div>-->
   
+
<div class="title">
 
+
<div class="tl">Improve Part&nbsp;<h5>OVERVIEW&nbsp;</h5></div>
<!--Sponsors-->
+
</div>
<!--div class="sponsors">
+
<div class="intro">
+
<p>Currently, T7 promoter is one of the most widely used promoters for expression of heterogenous protein in some E.coli strains such as BL21(DE3). Though the wild-type T7 promoter has proven quite effective, in some cases, we need modified T7 promoters with even higher efficiency of protein expression to meet specific demands. Hence, we tried to transform the wild-type T7 promoter to get modified T7 promoters with increased strength . </p>
<div id="carousel-example-generic" class="carousel slide one_slide" data-ride="carousel" data-pause="">
+
</br>
      <div class="carousel-inner center slide_img" >
+
<p>T7 RNA polymerase promoters consist of a highly conserved 23 base-pair sequence that spans the site of the initiation of transcription (+ 1) and extends from -17 to +6. As reported in some papers, the sequence specificty of T7 promoter is so strong that some point mutations between positions -11 and -7 may make T7 promoter fail to work. Thus, with the help of previous research, we carefully chose the site which would be mutated by PCR. These sites mainly distribute in the range from -4 to +6. The sequences of these modified promoters are shown in the Table below.</p>
        <div class="item active "><img src="img/ZJUChina_home_undergraduate.png" /></div>
+
</br>
    <div class="item "><img src="img/ZJUChina_home_cls.png" /></div>
+
</div>
</div>
+
<hr />
    </div>
+
<!--<div class="element1">
<div id="carousel-example-generic" class="carousel slide one_slide" data-ride="carousel" data-pause="">
+
<h5>Engaging Experts</h5>
      <div class="carousel-inner center slide_img" style="text-align:center">
+
<p>High impact projects with consequences affecting whole humanity should always be discussed with professionals from different scientific backgrounds. To meet this goal we talked to theologists, legal professionals, safety representatives, astrophysicists, and experts in the field of medicine, agriculture, information technology and many more. Check out the professionals who shaped our project!</p>
        <div class="item active "><img src="img/ZJUChina_home_biolab.png" /></div>
+
</div>-->
        <div class="item "><img src="img/ZJUChina_home_ckc.png" /></div>
+
<div class="cnt_psg">
        </div>
+
<div class="cnt"></div>
    </div>
+
<div class="psg" >
<div id="carousel-example-generic" class="carousel slide one_slide" data-ride="carousel" data-pause="">
+
<span class="psg_ttl">Sequences of Modified Promoters</span>
      <div class="carousel-inner center slide_img" style="text-align:center">
+
<table class="table">
        <div class="item active "><img src="img/ZJUChina_home_foundation.png" /></div>
+
<thead>
        <div class="item "><img src="img/ZJUChina_home_cs.png" /></div>
+
<tr>
        </div>
+
<th><span>Part Number</span></th>
    </div>
+
<th><span>Sequence(-17~+6)</span></th>
<div id="carousel-example-generic" class="carousel slide one_slide" data-ride="carousel" data-pause="">
+
</tr>
      <div class="carousel-inner center slide_img" style="text-align:center">
+
</thead>
        <div class="item active "><img src="img/ZJUChina_home_science.png" /></div>
+
<tbody>
        <div class="item "><img src="img/ZJUChina_home_medicine.png" /></div>
+
<tr>
        </div>
+
<td><span>BBa_R0085(wild type)</span></td>
    </div>
+
<td><span>TAATACGACTCACTATAGGGAGA</span></td>
   
+
</tr>
+
<tr>
 +
<td><span>BBa_K2721000</span></td>
 +
<td><span>TAATACGACTCACTAT<span style="color: steelblue;">C</span><span></span>G</span><span style="color: steelblue;">C</span><span>G</span><span style="color: steelblue;">GAG</span></td>
 +
</tr>
 +
<tr>
 +
<td><span>BBa_K2721001</span></td>
 +
<td><span>TAATACGACTCACT</span><span style="color: steelblue;">CC</span><span>AG</span><span style="color: steelblue;">CA</span><span>A</span><span style="color: steelblue;">TC</span></td>
 +
</tr>
 +
<tr>
 +
<td><span>BBa_K2721002</span></td>
 +
<td><span>TAATACGACTCACT</span><span style="color: steelblue;">TC</span><span>AG</span><span style="color: steelblue;">C</span><span>GA</span><span style="color: steelblue;">CC</span></td>
 +
</tr>
 +
<tr>
 +
<td><span>BBa_K2721003</span></td>
 +
<td><span>TAATACGACTCAC</span><span style="color: steelblue;">ACG</span><span>AG</span><span style="color: steelblue;">C</span><span>GAGA</span></td>
 +
</tr>
 +
</tbody>
 +
</table>
 +
<span class="psg_ttl">Test</span>
 +
<p>To test the function of mutant promoters, we chose the GFP as our reporter. By assessing the absolute fluorescence units(RFU) and OD600, we can conclude the relative strength of all promoters. When the E.coli BL21(DE3) is cultured at the stage of logarithmic phase, we added IPTG to induce the expression of GFP in strains BL21(DE3) for 4 hours. And the result is shown as Figure and Table below.</p>
 +
<img src="https://static.igem.org/mediawiki/2018/5/54/T--ZJU-China--ip01.png" style="width: 80%;"/>
 +
<h5>Fig.1 Relative Strength of wildtype T7 promoter and mutant promoters</h5>
 +
<table class="table">
 +
<thead><tr>
 +
<th><span>Part Number</span></th>
 +
<th><span>Relative Strength</span></th>
 +
</tr></thead>
 +
<tbody>
 +
<tr>
 +
<td><span>BBa_R0085(wild type)</span></td>
 +
<td><span>1</span></td>
 +
</tr>
 +
<tr>
 +
<td><span>BBa_K2721000</span></td>
 +
<td><span>20.99</span></td>
 +
</tr>
 +
<tr>
 +
<td><span>BBa_K2721001</span></td>
 +
<td><span>17.75</span></td>
 +
</tr>
 +
<tr>
 +
<td><span>BBa_K2721002</span></td>
 +
<td><span>7.63</span></td>
 +
</tr>
 +
<tr>
 +
<td><span>BBa_K2721003</span></td>
 +
<td><span>13.92</span></td>
 +
</tr>
 +
</tbody>
 +
</table>
 +
<p></br>As we can see from the figure, our mutant promoters showed largely increased strength compared with wild type T7 promoter. Therefore, our mutant promoters offer users more opportunity to control the expression of protein using T7 promoter and permit higher levels of target protein expression to be obtained.</p>
 +
<span class="psg_ttl">References</span>
 +
<p>[1] Ikeda R A, Ligman C M, Warshamana S, et al. T7 promoter contacts essential for promoter activity in vivo[J]. Nucleic Acids Research, 1992, 20(10): 2517-2524.</p>
 +
<p>[2] Paul S, Stang A, Lennartz K, Tenbusch M, Uberla K. Selection of a T7 promoter mutant with enhanced in vitro activity by a novel multi-copy bead display approach for in vitro evolution[J]. Nucleic Acids Research, 2013, 41(1):e29.</p>
 +
<br /><br />
 +
<!---->
 +
 +
<!---->
 
</div>
 
</div>
+
<div class="sponsors">
</div-->
+
<p class="sponsor_ttl">Our Sponsors</p>
<div class="container">
+
<img src="https://static.igem.org/mediawiki/2018/6/68/T--ZJU-China--home--biolab.png" />
 
+
<img src="https://static.igem.org/mediawiki/2018/f/f1/T--ZJU-China--genscript.png" />
  <!--ul class="vmcarousel-centered vmc-centered">
+
<img src="https://static.igem.org/mediawiki/2018/b/b2/T--ZJU-China--home--undergraduate.png" />
  <li><img src="img/ZJUChina_home_cls.png" alt="" width="200"></li>
+
<img src="https://static.igem.org/mediawiki/2018/5/5f/T--ZJU-China--foundation.png" />
  <li><img src="img/ZJUChina_home_undergraduate.png" alt="" width="200"></li>
+
<img src="https://static.igem.org/mediawiki/2018/7/7f/T--ZJU-China--hospital.png" />
  <li><img src="img/ZJUChina_home_ckc.png" alt="" width="200"></li>
+
  <li><img src="img/ZJUChina_home_biolab.png" alt="" width="200"></li>
+
  <li><img src="img/ZJUChina_home_medicine.png" alt="" width="200"></li>
+
  <li><img src="img/ZJUChina_home_cs.png" alt="" width="200"></li>
+
  <li><img src="img/ZJUChina_home_foundation.png" alt="" width="200"></li>
+
  <li><img src="img/ZJUChina_home_science.png" alt="" width="200"></li>
+
  </ul-->
+
  <div class="addr">
+
<p>Copyright © 2018 ZJU-IGEM | Zhejiang University |</p>
+
 
</div>
 
</div>
 
+
</div>
 
+
 
+
 
+
 
+
 
+
</div>
+
 
 
<script type="text/javascript" src="js/jquery-1.11.1.min.js" ></script>
+
<!--<hr />-->
<!--script type="text/javascript" src="js/template.js" ></script-->
+
 
<script type="text/javascript">
 
<script type="text/javascript">
/*!
+
var dom = document.getElementById("container");
* Modernizr v2.8.3
+
var myChart = echarts.init(dom);
* www.modernizr.com
+
var app = {};
*
+
option = null;
* Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
+
var dataAxis = ['', '', '', '', ''];
* Available under the BSD and MIT licenses: www.modernizr.com/license/
+
var data = [2993, 62815.05, 53126.97, 22837.41, 41658.86];
*/
+
var yMax = 500;
 +
var dataShadow = [];
  
/*
+
for (var i = 0; i < data.length; i++) {
* Modernizr tests which native CSS3 and HTML5 features are available in
+
    dataShadow.push(yMax);
* the current UA and makes the results available to you in two ways:
+
}
* as properties on a global Modernizr object, and as classes on the
+
* <html> element. This information allows you to progressively enhance
+
* your pages with a granular level of control over the experience.
+
*
+
* Modernizr has an optional (not included) conditional resource loader
+
* called Modernizr.load(), based on Yepnope.js (yepnopejs.com).
+
* To get a build that includes Modernizr.load(), as well as choosing
+
* which tests to include, go to www.modernizr.com/download/
+
*
+
* Authors        Faruk Ates, Paul Irish, Alex Sexton
+
* Contributors  Ryan Seddon, Ben Alman
+
*/
+
 
+
window.Modernizr = (function( window, document, undefined ) {
+
 
+
    var version = '2.8.3',
+
 
+
    Modernizr = {},
+
 
+
    /*>>cssclasses*/
+
    // option for enabling the HTML classes to be added
+
    enableClasses = true,
+
    /*>>cssclasses*/
+
 
+
    docElement = document.documentElement,
+
 
+
    /**
+
    * Create our "modernizr" element that we do most feature tests on.
+
    */
+
    mod = 'modernizr',
+
    modElem = document.createElement(mod),
+
    mStyle = modElem.style,
+
 
+
    /**
+
    * Create the input element for various Web Forms feature tests.
+
    */
+
    inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ ,
+
 
+
    /*>>smile*/
+
    smile = ':)',
+
    /*>>smile*/
+
 
+
    toString = {}.toString,
+
 
+
    // TODO :: make the prefixes more granular
+
    /*>>prefixes*/
+
    // List of property values to set for css tests. See ticket #21
+
    prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
+
    /*>>prefixes*/
+
 
+
    /*>>domprefixes*/
+
    // Following spec is to expose vendor-specific style properties as:
+
    //  elem.style.WebkitBorderRadius
+
    // and the following would be incorrect:
+
    //  elem.style.webkitBorderRadius
+
 
+
    // Webkit ghosts their properties in lowercase but Opera & Moz do not.
+
    // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+
+
    //  erik.eae.net/archives/2008/03/10/21.48.10/
+
 
+
    // More here: github.com/Modernizr/Modernizr/issues/issue/21
+
    omPrefixes = 'Webkit Moz O ms',
+
 
+
    cssomPrefixes = omPrefixes.split(' '),
+
 
+
    domPrefixes = omPrefixes.toLowerCase().split(' '),
+
    /*>>domprefixes*/
+
 
+
    /*>>ns*/
+
    ns = {'svg': 'http://www.w3.org/2000/svg'},
+
    /*>>ns*/
+
 
+
    tests = {},
+
    inputs = {},
+
    attrs = {},
+
 
+
    classes = [],
+
 
+
    slice = classes.slice,
+
 
+
    featureName, // used in testing loop
+
 
+
 
+
    /*>>teststyles*/
+
    // Inject element with style element and some CSS rules
+
    injectElementWithStyles = function( rule, callback, nodes, testnames ) {
+
 
+
      var style, ret, node, docOverflow,
+
          div = document.createElement('div'),
+
          // After page load injecting a fake body doesn't work so check if body exists
+
          body = document.body,
+
          // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it.
+
          fakeBody = body || document.createElement('body');
+
 
+
      if ( parseInt(nodes, 10) ) {
+
          // In order not to give false positives we create a node for each test
+
          // This also allows the method to scale for unspecified uses
+
          while ( nodes-- ) {
+
              node = document.createElement('div');
+
              node.id = testnames ? testnames[nodes] : mod + (nodes + 1);
+
              div.appendChild(node);
+
          }
+
      }
+
 
+
      // <style> elements in IE6-9 are considered 'NoScope' elements and therefore will be removed
+
      // when injected with innerHTML. To get around this you need to prepend the 'NoScope' element
+
      // with a 'scoped' element, in our case the soft-hyphen entity as it won't mess with our measurements.
+
      // msdn.microsoft.com/en-us/library/ms533897%28VS.85%29.aspx
+
      // Documents served as xml will throw if using &shy; so use xml friendly encoded version. See issue #277
+
      style = ['&#173;','<style id="s', mod, '">', rule, '</style>'].join('');
+
      div.id = mod;
+
      // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.
+
      // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270
+
      (body ? div : fakeBody).innerHTML += style;
+
      fakeBody.appendChild(div);
+
      if ( !body ) {
+
          //avoid crashing IE8, if background image is used
+
          fakeBody.style.background = '';
+
          //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible
+
          fakeBody.style.overflow = 'hidden';
+
          docOverflow = docElement.style.overflow;
+
          docElement.style.overflow = 'hidden';
+
          docElement.appendChild(fakeBody);
+
      }
+
 
+
      ret = callback(div, rule);
+
      // If this is done after page load we don't want to remove the body so check if body exists
+
      if ( !body ) {
+
          fakeBody.parentNode.removeChild(fakeBody);
+
          docElement.style.overflow = docOverflow;
+
      } else {
+
          div.parentNode.removeChild(div);
+
      }
+
 
+
      return !!ret;
+
  
 +
option = {
 +
    title: {
 +
        text: '            ',
 +
        textStyle: {
 +
            color: '#999999',
 +
            fontFamily: 'crimson',
 +
            fontWeight: 'normal',
 +
            align: 'center',
 +
        }
 +
//      subtext: 'yAxis: Absolute fluorescence unit \ OD600',
 +
       
 
     },
 
     },
     /*>>teststyles*/
+
     xAxis: {
 
+
    type: 'category',
    /*>>mq*/
+
         data: ['BBa_R0085(wild type)', 'BBa_K2721000', 'BBa_K2721001', 'BBa_K2721002', 'BBa_K2721003'],
    // adapted from matchMedia polyfill
+
    axisLabel: {
    // by Scott Jehl and Paul Irish
+
            inside: false,
    // gist.github.com/786768
+
            textStyle: {
    testMediaQuery = function( mq ) {
+
                color: '#999999'
 
+
            }
      var matchMedia = window.matchMedia || window.msMatchMedia;
+
        },
      if ( matchMedia ) {
+
        axisTick: {
         return matchMedia(mq) && matchMedia(mq).matches || false;
+
            show: false
      }
+
        },
 
+
        axisLine: {
      var bool;
+
            show: false
 
+
        },
      injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) {
+
        z: 10
        bool = (window.getComputedStyle ?
+
     },
                  getComputedStyle(node, null) :
+
     yAxis: {
                  node.currentStyle)['position'] == 'absolute';
+
    name: 'Absolute fluorescence unit \ OD600',
      });
+
    nameRotate: 90,  
 
+
    nameGap: -300,
      return bool;
+
   
 
+
//  offset: 'start',
    },
+
         axisLine: {
    /*>>mq*/
+
            show: false
 
+
        },
 
+
         axisTick: {
    /*>>hasevent*/
+
            show: false
    //
+
         },
    // isEventSupported determines if a given element supports the given event
+
         axisLabel: {
    // kangax.github.com/iseventsupported/
+
             textStyle: {
    //
+
                color: '#999'
    // The following results are known incorrects:
+
     //  Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative
+
     //  Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333
+
    //  ...
+
    isEventSupported = (function() {
+
 
+
      var TAGNAMES = {
+
        'select': 'input', 'change': 'input',
+
        'submit': 'form', 'reset': 'form',
+
         'error': 'img', 'load': 'img', 'abort': 'img'
+
      };
+
 
+
      function isEventSupported( eventName, element ) {
+
 
+
         element = element || document.createElement(TAGNAMES[eventName] || 'div');
+
        eventName = 'on' + eventName;
+
 
+
         // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those
+
         var isSupported = eventName in element;
+
 
+
        if ( !isSupported ) {
+
          // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element
+
          if ( !element.setAttribute ) {
+
             element = document.createElement('div');
+
          }
+
          if ( element.setAttribute && element.removeAttribute ) {
+
            element.setAttribute(eventName, '');
+
            isSupported = is(element[eventName], 'function');
+
 
+
            // If property was created, "remove it" (by setting value to `undefined`)
+
            if ( !is(element[eventName], 'undefined') ) {
+
              element[eventName] = undefined;
+
 
             }
 
             }
            element.removeAttribute(eventName);
 
          }
 
 
         }
 
         }
 
+
     },
        element = null;
+
     dataZoom: [
        return isSupported;
+
         {
      }
+
            type: 'inside'
      return isEventSupported;
+
     })(),
+
     /*>>hasevent*/
+
 
+
    // TODO :: Add flag for hasownprop ? didn't last time
+
 
+
    // hasOwnProperty shim by kangax needed for Safari 2.0 support
+
    _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
+
 
+
    if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
+
      hasOwnProp = function (object, property) {
+
         return _hasOwnProperty.call(object, property);
+
      };
+
    }
+
    else {
+
      hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */
+
        return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
+
      };
+
    }
+
 
+
    // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js
+
    // es5.github.com/#x15.3.4.5
+
 
+
    if (!Function.prototype.bind) {
+
      Function.prototype.bind = function bind(that) {
+
 
+
        var target = this;
+
 
+
        if (typeof target != "function") {
+
            throw new TypeError();
+
 
         }
 
         }
 
+
    ],
         var args = slice.call(arguments, 1),
+
    series: [
             bound = function () {
+
         { // For shadow
 
+
             type: 'bar',
             if (this instanceof bound) {
+
             itemStyle: {
 
+
                normal: {color: 'rgba(0,0,0,0.05)'}
              var F = function(){};
+
             },
              F.prototype = target.prototype;
+
            barGap:'-100%',
              var self = new F();
+
            barCategoryGap:'80%',
 
+
            data: dataShadow,
              var result = target.apply(
+
             animation: false
                  self,
+
         },
                  args.concat(slice.call(arguments))
+
         {
              );
+
            type: 'bar',
              if (Object(result) === result) {
+
            itemStyle: {
                  return result;
+
                normal: {
              }
+
                    color: new echarts.graphic.LinearGradient(
              return self;
+
                        0, 0, 0, 1,
 
+
                        [
             } else {
+
                            {offset: 0, color: 'steelblue'},
 
+
                            {offset: 0.4, color: 'steelblue'},
              return target.apply(
+
                            {offset: 1, color: 'steelblue'}
                  that,
+
                        ]
                  args.concat(slice.call(arguments))
+
                    )
              );
+
                },
 
+
                emphasis: {
             }
+
                    color: new echarts.graphic.LinearGradient(
 
+
                        0, 0, 0, 1,
         };
+
                        [
 
+
                            {offset: 0, color: 'lightsteelblue'},
         return bound;
+
                            {offset: 0.7, color: 'lightsteelblue'},
      };
+
                            {offset: 1, color: 'lightsteelblue'}
    }
+
                        ]
 
+
                    )
    /**
+
    * setCss applies given styles to the Modernizr DOM node.
+
    */
+
    function setCss( str ) {
+
        mStyle.cssText = str;
+
    }
+
 
+
    /**
+
    * setCssAll extrapolates all vendor-specific css strings.
+
    */
+
    function setCssAll( str1, str2 ) {
+
        return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
+
    }
+
 
+
    /**
+
    * is returns a boolean for if typeof obj is exactly type.
+
    */
+
    function is( obj, type ) {
+
        return typeof obj === type;
+
    }
+
 
+
    /**
+
    * contains returns a boolean for if substr is found within str.
+
    */
+
    function contains( str, substr ) {
+
        return !!~('' + str).indexOf(substr);
+
    }
+
 
+
    /*>>testprop*/
+
 
+
    // testProps is a generic CSS / DOM property test.
+
 
+
    // In testing support for a given CSS property, it's legit to test:
+
    //    `elem.style[styleName] !== undefined`
+
    // If the property is supported it will return an empty string,
+
    // if unsupported it will return undefined.
+
 
+
    // We'll take advantage of this quick test and skip setting a style
+
    // on our modernizr element, but instead just testing undefined vs
+
    // empty string.
+
 
+
    // Because the testing of the CSS property names (with "-", as
+
    // opposed to the camelCase DOM properties) is non-portable and
+
    // non-standard but works in WebKit and IE (but not Gecko or Opera),
+
    // we explicitly reject properties with dashes so that authors
+
    // developing in WebKit or IE first don't end up with
+
    // browser-specific content by accident.
+
 
+
    function testProps( props, prefixed ) {
+
        for ( var i in props ) {
+
            var prop = props[i];
+
            if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
+
                return prefixed == 'pfx' ? prop : true;
+
            }
+
        }
+
        return false;
+
    }
+
    /*>>testprop*/
+
 
+
    // TODO :: add testDOMProps
+
    /**
+
    * testDOMProps is a generic DOM property test; if a browser supports
+
    *  a certain property, it won't return undefined for it.
+
    */
+
    function testDOMProps( props, obj, elem ) {
+
        for ( var i in props ) {
+
            var item = obj[props[i]];
+
            if ( item !== undefined) {
+
 
+
                // return the property name as a string
+
                if (elem === false) return props[i];
+
 
+
                // let's bind a function
+
                if (is(item, 'function')){
+
                  // default to autobind unless override
+
                  return item.bind(elem || obj);
+
 
                 }
 
                 }
 
+
            },
                // return the unbound function or obj or value
+
             data: data
                return item;
+
             }
+
 
         }
 
         }
        return false;
+
     ]
     }
+
};
  
    /*>>testallprops*/
+
// Enable data zoom when user click bar.
    /**
+
//var zoomSize = 6;
    * testPropsAll tests a list of DOM properties we want to check against.
+
//myChart.on('click', function (params) {
    *  We specify literally ALL possible (known and/or likely) properties on
+
// console.log(dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)]);
    *  the element including the non-vendor prefixed one, for forward-
+
// myChart.dispatchAction({
    *  compatibility.
+
//     type: 'dataZoom',
    */
+
//      startValue: dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)],
    function testPropsAll( prop, prefixed, elem ) {
+
//     endValue: dataAxis[Math.min(params.dataIndex + zoomSize / 2, data.length - 1)]
 
+
// });
        var ucProp  = prop.charAt(0).toUpperCase() + prop.slice(1),
+
//});
            props  = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
+
if (option && typeof option === "object") {
 
+
     myChart.setOption(option, true);
        // did they call .prefixed('boxSizing') or are we just testing a prop?
+
}
        if(is(prefixed, "string") || is(prefixed, "undefined")) {
+
      </script>
          return testProps(props, prefixed);
+
        <!--<script type="text/javascript" src="js/bootsnav.js"></script>-->
 
+
        <script type="text/javascript" src="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/bootnavJS&action=raw&ctype=text/javascript"></script>
        // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])
+
        <script type="text/javascript" src="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/pageJS&action=raw&ctype=text/javascript"></script>
        } else {
+
</body>
          props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
+
<link rel="stylesheet" type="text/css" href="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/pageCSS&action=raw&ctype=text/css" />
          return testDOMProps(props, prefixed, elem);
+
<link rel="stylesheet" type="text/css" href="https://2018.igem.org/wiki/index.php?title=Team:ZJU-China/sponsorCSS&action=raw&ctype=text/css" />
        }
+
    }
+
    /*>>testallprops*/
+
 
+
 
+
    /**
+
    * Tests
+
    * -----
+
    */
+
 
+
    // The *new* flexbox
+
    // dev.w3.org/csswg/css3-flexbox
+
 
+
    tests['flexbox'] = function() {
+
      return testPropsAll('flexWrap');
+
    };
+
 
+
    // The *old* flexbox
+
    // www.w3.org/TR/2009/WD-css3-flexbox-20090723/
+
 
+
    tests['flexboxlegacy'] = function() {
+
        return testPropsAll('boxDirection');
+
    };
+
 
+
    // On the S60 and BB Storm, getContext exists, but always returns undefined
+
    // so we actually have to call getContext() to verify
+
    // github.com/Modernizr/Modernizr/issues/issue/97/
+
 
+
    tests['canvas'] = function() {
+
        var elem = document.createElement('canvas');
+
        return !!(elem.getContext && elem.getContext('2d'));
+
    };
+
 
+
    tests['canvastext'] = function() {
+
        return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function'));
+
    };
+
 
+
    // webk.it/70117 is tracking a legit WebGL feature detect proposal
+
 
+
    // We do a soft detect which may false positive in order to avoid
+
    // an expensive context creation: bugzil.la/732441
+
 
+
    tests['webgl'] = function() {
+
        return !!window.WebGLRenderingContext;
+
    };
+
 
+
    /*
+
    * The Modernizr.touch test only indicates if the browser supports
+
    *    touch events, which does not necessarily reflect a touchscreen
+
    *    device, as evidenced by tablets running Windows 7 or, alas,
+
    *    the Palm Pre / WebOS (touch) phones.
+
    *
+
    * Additionally, Chrome (desktop) used to lie about its support on this,
+
    *    but that has since been rectified: crbug.com/36415
+
     *
+
    * We also test for Firefox 4 Multitouch Support.
+
    *
+
    * For more info, see: modernizr.github.com/Modernizr/touch.html
+
    */
+
 
+
    tests['touch'] = function() {
+
        var bool;
+
 
+
        if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
+
          bool = true;
+
        } else {
+
          injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) {
+
            bool = node.offsetTop === 9;
+
          });
+
        }
+
 
+
        return bool;
+
    };
+
 
+
 
+
    // geolocation is often considered a trivial feature detect...
+
    // Turns out, it's quite tricky to get right:
+
    //
+
    // Using !!navigator.geolocation does two things we don't want. It:
+
    //  1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513
+
    //   2. Disables page caching in WebKit: webk.it/43956
+
    //
+
    // Meanwhile, in Firefox < 8, an about:config setting could expose
+
    // a false positive that would throw an exception: bugzil.la/688158
+
 
+
    tests['geolocation'] = function() {
+
        return 'geolocation' in navigator;
+
    };
+
 
+
 
+
    tests['postmessage'] = function() {
+
      return !!window.postMessage;
+
    };
+
 
+
 
+
    // Chrome incognito mode used to throw an exception when using openDatabase
+
    // It doesn't anymore.
+
    tests['websqldatabase'] = function() {
+
      return !!window.openDatabase;
+
    };
+
 
+
    // Vendors had inconsistent prefixing with the experimental Indexed DB:
+
    // - Webkit's implementation is accessible through webkitIndexedDB
+
    // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB
+
    // For speed, we don't test the legacy (and beta-only) indexedDB
+
    tests['indexedDB'] = function() {
+
      return !!testPropsAll("indexedDB", window);
+
     };
+
 
+
    // documentMode logic from YUI to filter out IE8 Compat Mode
+
    //  which false positives.
+
    tests['hashchange'] = function() {
+
      return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7);
+
    };
+
 
+
    // Per 1.6:
+
    // This used to be Modernizr.historymanagement but the longer
+
    // name has been deprecated in favor of a shorter and property-matching one.
+
    // The old API is still available in 1.6, but as of 2.0 will throw a warning,
+
    // and in the first release thereafter disappear entirely.
+
    tests['history'] = function() {
+
      return !!(window.history && history.pushState);
+
    };
+
 
+
    tests['draganddrop'] = function() {
+
        var div = document.createElement('div');
+
        return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);
+
    };
+
 
+
    // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10
+
    // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17.
+
    // FF10 still uses prefixes, so check for it until then.
+
    // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/
+
    tests['websockets'] = function() {
+
        return 'WebSocket' in window || 'MozWebSocket' in window;
+
    };
+
 
+
 
+
    // css-tricks.com/rgba-browser-support/
+
    tests['rgba'] = function() {
+
        // Set an rgba() color and check the returned value
+
 
+
        setCss('background-color:rgba(150,255,150,.5)');
+
 
+
        return contains(mStyle.backgroundColor, 'rgba');
+
    };
+
 
+
    tests['hsla'] = function() {
+
        // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally,
+
        //  except IE9 who retains it as hsla
+
 
+
        setCss('background-color:hsla(120,40%,100%,.5)');
+
 
+
        return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla');
+
    };
+
 
+
    tests['multiplebgs'] = function() {
+
        // Setting multiple images AND a color on the background shorthand property
+
        //  and then querying the style.background property value for the number of
+
        //  occurrences of "url(" is a reliable method for detecting ACTUAL support for this!
+
 
+
        setCss('background:url(https://),url(https://),red url(https://)');
+
 
+
        // If the UA supports multiple backgrounds, there should be three occurrences
+
        //  of the string "url(" in the return value for elemStyle.background
+
 
+
        return (/(url\s*\(.*?){3}/).test(mStyle.background);
+
    };
+
 
+
 
+
 
+
    // this will false positive in Opera Mini
+
    //  github.com/Modernizr/Modernizr/issues/396
+
 
+
    tests['backgroundsize'] = function() {
+
        return testPropsAll('backgroundSize');
+
    };
+
 
+
    tests['borderimage'] = function() {
+
        return testPropsAll('borderImage');
+
    };
+
 
+
 
+
    // Super comprehensive table about all the unique implementations of
+
    // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance
+
 
+
    tests['borderradius'] = function() {
+
        return testPropsAll('borderRadius');
+
    };
+
  
    /
+
</html>

Revision as of 12:48, 8 October 2018

<!DOCTYPE html> Improve Part

Improve Part 
OVERVIEW 

Currently, T7 promoter is one of the most widely used promoters for expression of heterogenous protein in some E.coli strains such as BL21(DE3). Though the wild-type T7 promoter has proven quite effective, in some cases, we need modified T7 promoters with even higher efficiency of protein expression to meet specific demands. Hence, we tried to transform the wild-type T7 promoter to get modified T7 promoters with increased strength .


T7 RNA polymerase promoters consist of a highly conserved 23 base-pair sequence that spans the site of the initiation of transcription (+ 1) and extends from -17 to +6. As reported in some papers, the sequence specificty of T7 promoter is so strong that some point mutations between positions -11 and -7 may make T7 promoter fail to work. Thus, with the help of previous research, we carefully chose the site which would be mutated by PCR. These sites mainly distribute in the range from -4 to +6. The sequences of these modified promoters are shown in the Table below.



Sequences of Modified Promoters
Part Number Sequence(-17~+6)
BBa_R0085(wild type) TAATACGACTCACTATAGGGAGA
BBa_K2721000 TAATACGACTCACTATCGCGGAG
BBa_K2721001 TAATACGACTCACTCCAGCAATC
BBa_K2721002 TAATACGACTCACTTCAGCGACC
BBa_K2721003 TAATACGACTCACACGAGCGAGA
Test

To test the function of mutant promoters, we chose the GFP as our reporter. By assessing the absolute fluorescence units(RFU) and OD600, we can conclude the relative strength of all promoters. When the E.coli BL21(DE3) is cultured at the stage of logarithmic phase, we added IPTG to induce the expression of GFP in strains BL21(DE3) for 4 hours. And the result is shown as Figure and Table below.

Fig.1 Relative Strength of wildtype T7 promoter and mutant promoters
Part Number Relative Strength
BBa_R0085(wild type) 1
BBa_K2721000 20.99
BBa_K2721001 17.75
BBa_K2721002 7.63
BBa_K2721003 13.92


As we can see from the figure, our mutant promoters showed largely increased strength compared with wild type T7 promoter. Therefore, our mutant promoters offer users more opportunity to control the expression of protein using T7 promoter and permit higher levels of target protein expression to be obtained.

References

[1] Ikeda R A, Ligman C M, Warshamana S, et al. T7 promoter contacts essential for promoter activity in vivo[J]. Nucleic Acids Research, 1992, 20(10): 2517-2524.

[2] Paul S, Stang A, Lennartz K, Tenbusch M, Uberla K. Selection of a T7 promoter mutant with enhanced in vitro activity by a novel multi-copy bead display approach for in vitro evolution[J]. Nucleic Acids Research, 2013, 41(1):e29.