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

m
 
(118 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Fudan-TSI}}
+
{{Fudan-TSI}}<!-- jquery loaded by HQ 1.12.4 -->
<html>
+
<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">
 
+
  <link rel="stylesheet" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-font-awesome.css&action=raw&ctype=text/css" />
<script>
+
  <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" />
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
 
+
$(document).ready(function() {
+
 
+
//remove the HQ_page id
+
$("#HQ_page").attr('id','');
+
+
 
+
//highlight current page on the menu
+
highlight_current_page_menu();
+
+
//accessing submenus
+
$(".menu_item").click(function(){
+
$(".submenu_control_icon", this).toggleClass("open");
+
$(this).next(".submenu").fadeToggle(400);
+
});
+
+
//mobile menu access
+
$(".igem_2019_team_mobile_bar").click(function(){
+
$(this).next().toggleClass("displaying_menu");
+
});
+
+
});
+
 
+
 
+
function highlight_current_page_menu() {
+
+
var page_url="https://2019.igem.org/";
+
page_url = page_url + wgPageName;
+
$("a[href$='"+ page_url +"']").children().addClass("current_page");
+
+
//if the page is in a submenu, open the submenu and make the appropiate changes
+
if( $( ".current_page" ).hasClass( "submenu_item" )){
+
+
$(".current_page").parent().parent().fadeToggle(400);
+
$(".current_page").parent().parent().prev().addClass("current_page");
+
$(".menu_item.current_page > .submenu_control_icon").toggleClass("open");
+
+
}
+
}
+
 
+
 
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
</script>
+
 
+
 
+
 
<style>
 
<style>
/**************************************************************************************************************************************************************************************************/
+
/*****************************************************************************/
 
+
 
+
 
+
/**************************************************************************************************************************************************************************************************/
+
 
/* DEFAULT WIKI SETTINGS */
 
/* DEFAULT WIKI SETTINGS */
/**************************************************************************************************************************************************************************************************/
+
/*****************************************************************************/
 
+
  #home_logo, #sideMenu { display:none; }
 
+
  #sideMenu, #top_title, .patrollink { display:none; }
#home_logo, #sideMenu { display:none; }
+
  #content { margin-left: 0; padding:0px; width:100%; }
#sideMenu, #top_title, .patrollink {display:none;}
+
  .judges-will-not-evaluate { border: 4px solid #e4dede; padding: 2% !important; width: 92%!important; }
#content { margin-left:0px; margin-top:-7px; padding:0px; width:100%;}
+
/* css clean * */
#bodyContent h1, #bodyContent h2, #bodyContent h3, #bodyContent h4, #bodyContent h5 { margin-bottom: 0px; }
+
  #FudanTSIBody li { list-style: none; }
#bodyContent a[href ^="https://"], .link-https { padding-right:0px;}
+
  .mjx-chtml {
+
    outline: 0;
+
    font-size:80%; }
 
+
  .MJXc-display {
 
+
    overflow-x: auto;
/**************************************************************************************************************************************************************************************************/
+
    overflow-y: hidden; }
/* MENU */
+
    </style>
/**************************************************************************************************************************************************************************************************/
+
    <title>Modeling | 2019 iGEM Team:Fudan-TSI</title>
 
+
</head>
/*wrapping for the menu*/
+
<body>
.igem_2019_team_menu {  
+
<div id="FudanTSIdivWrapper"><div id="FudanTSIBody">
background-color:#cecece;
+
  <header>
border-left: 1px solid #635d5d;
+
  <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">
float:right;
+
    <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>
height:100vh;
+
    <li class="hide-on-med-and-down"><a href="/Team:Fudan-TSI/Judging">Judging</a></li>
max-width: 270px;
+
    <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>
overflow-y: auto;
+
  <!-- Dropdown and List elements in navigation bar -->
overflow-x: hidden;
+
  <ul id="dropdown1" class="dropdown-content">
padding:0px;
+
      <li><a href="/Team:Fudan-TSI/Description">Background</a></li>
position:fixed;
+
      <li><a href="/Team:Fudan-TSI/Design">Design</a></li>
right:0%;
+
      <li><a href="/Team:Fudan-TSI/Experiments">Experiments</a></li>
text-align:left;
+
      <li><a href="/Team:Fudan-TSI/Applied_Design">Applied&nbsp;design</a></li>
width: 15%;  
+
  </ul>
}
+
  <ul id="dropdown2" class="dropdown-content">
 
+
      <li><a href="/Team:Fudan-TSI/Demonstrate#ReverseTranscription">Reverse&nbsp;transcription</a></li>
/*controlling menu visibility*/
+
      <li><a href="/Team:Fudan-TSI/Demonstrate#Recombination">Recombination</a></li>
.igem_2019_team_menu.displaying_menu{
+
      <li><a href="/Team:Fudan-TSI/Demonstrate">Demonstration</a></li>
display:block;
+
      <li><a href="/Team:Fudan-TSI/Measurement">Measurement</a></li>
}
+
      <li><a href="/Team:Fudan-TSI/Notebook">Notebook</a></li>
 
+
  </ul>
/*links in the menu*/
+
  <ul id="dropdown3" class="dropdown-content">
.igem_2019_team_menu  a {
+
      <li><a href="/Team:Fudan-TSI/Model">Modeling</a></li>
color: #484848;
+
      <li><a href="/Team:Fudan-TSI/Software">Software</a></li>
text-decoration:none;
+
      <li><a href="/Team:Fudan-TSI/Hardware">Hardware</a></li>
}
+
  </ul>
 
+
  <ul id="dropdown4" class="dropdown-content">
/*images in the menu*/
+
      <li><a href="/Team:Fudan-TSI/Basic_Part">Basic&nbsp;parts</a></li>
.igem_2019_team_menu img {
+
      <li><a href="/Team:Fudan-TSI/Composite_Part">Composite&nbsp;parts</a></li>
width:100%;
+
      <li><a href="/Team:Fudan-TSI/Improve">Part&nbsp;improvement</a></li>
}
+
      <li><a href="/Team:Fudan-TSI/Part_Collection">Part&nbsp;collection</a></li>
 
+
  </ul>
/*level 1 menu items*/
+
  <ul id="dropdown5" class="dropdown-content">
.igem_2019_team_menu .menu_item {
+
      <li><a href="/Team:Fudan-TSI/Public_Engagement">Public&nbsp;engagement</a></li>
    background-color: #cecece;
+
      <li><a href="/Team:Fudan-TSI/Human_Practices#IntegratedHumanPractice">Integrated&nbsp;HP</a></li>
    border-bottom: 1px solid #635d5d;
+
      <li><a href="/Team:Fudan-TSI/Collaborations">Collaborations</a></li>
    clear: both;
+
      <li><a href="/Team:Fudan-TSI/Safety">Safety</a></li>
color: #484848;
+
  </ul>
    cursor: pointer;
+
  <ul id="dropdown6" class="dropdown-content">
float: left;
+
      <li><a href="/Team:Fudan-TSI/Team">Members</a></li>
    font-size: 120%;
+
      <li><a href="/Team:Fudan-TSI/Attributions">Attributions</a></li>
    font-weight: bold;
+
      <li><a href="/Team:Fudan-TSI/Team#Acknowledge">Acknowledge</a></li>
    padding: 15px 0px 15px 5%;
+
      <li><a href="/Team:Fudan-TSI/Heritage">Heritage</a></li>
  width: 100%;
+
  </ul>
}
+
 
+
/*level 1 menu items without submenus*/
+
.igem_2019_team_menu .menu_item.direct_link {
+
color: #484848;
+
padding-left: 15%;
+
}
+
 
+
+
/*level 1 menu items on hover*/
+
.igem_2019_team_menu .menu_item:hover {
+
background-color: #ecb656 !important;
+
}
+
 
+
/*icon for expanding and collapsing level 1 menut items*/
+
.igem_2019_team_menu .menu_item .submenu_control_icon {
+
color: #484848;
+
float: left;
+
width: 10%;
+
}
+
 
+
/* submenu icon  "-"*/
+
.igem_2019_team_menu .menu_item .submenu_control_icon::before {
+
content: "+";
+
}
+
 
+
/* submenu icon  "-"*/
+
.igem_2019_team_menu .menu_item .submenu_control_icon.open::before {
+
content: "-";
+
}
+
 
+
+
/*level 2 menu (submenu) wrapper*/
+
.igem_2019_team_menu .submenu{
+
background-color: #ececec;
+
clear:both;
+
display:none;
+
float: left; 
+
width:100%;
+
}
+
 
+
/*level 2 menu (submenu) item*/
+
.igem_2019_team_menu .submenu .submenu_item {
+
border-bottom: 1px solid #cecece;
+
  color: #635d5d;
+
    height: 30px;
+
  float: left;
+
    font-size: 110%;
+
font-weight: bold;
+
    padding: 12px 0px 0px 15%;
+
    width: 100%;
+
}
+
 
+
/*level 2 menu (submenu) items on hover*/
+
.igem_2019_team_menu .submenu .submenu_item:hover {
+
background-color: #ecb656 !important;
+
}
+
 
+
/*color for highlighting current page on the wiki*/
+
.igem_2019_team_menu .submenu .submenu_item.current_page,
+
.igem_2019_team_menu .menu_item.current_page,
+
.igem_2019_team_menu .menu_item.direct_link.current_page {
+
background-color:#a2d3d0;
+
}
+
 
+
 
+
/*mobile menu bar styling*/
+
/**************************************************************************************************************************************************************************************************/
+
 
+
/*mobile bar that controls the menu*/
+
.igem_2019_team_mobile_bar {
+
background-color:#ececec;
+
border-bottom: 1px solid #cecece;
+
cursor:pointer;
+
display:none;
+
float:left;
+
margin-top: 0;
+
padding: 5px 0;
+
position:fixed;
+
width:100%;
+
}
+
+
/*mobile logo*/
+
.igem_logo_mobile {
+
float:left;
+
padding-left: 5%;
+
width: 30%;
+
}
+
 
+
/*image within the mobile logo*/
+
.igem_logo_mobile img {
+
width:70px;
+
}
+
+
/*mobile expand collapse button*/
+
.igem_menu_control_mobile {
+
float:right;
+
padding-right:5%;
+
padding-top:5px;
+
text-align:right;
+
width: 30%;
+
}
+
 
+
/*image for mobile expand collapse button*/
+
.igem_menu_control_mobile img {
+
width:25px;
+
}
+
 
+
 
+
/*add extra padding to the menu to improve mobile scrolling*/
+
.menu_padding{
+
float:left;
+
height:100px;
+
}
+
 
+
 
+
/**************************************************************************************************************************************************************************************************/
+
/* CONTENT OF THE PAGE */
+
/**************************************************************************************************************************************************************************************************/
+
 
+
/* general wrapper for the content */
+
.igem_2019_team_content {
+
background-color:white;
+
display:block;
+
width: 87%;
+
}
+
 
+
/* subwrapper to center content */
+
.igem_2019_team_content .igem_2019_team_column_wrapper {
+
margin:auto;
+
max-width: 1400px;
+
width:90%;
+
}
+
 
+
 
+
 
+
/*general styling*/
+
/**************************************************************************************************************************************************************************************************/
+
 
+
/*size for title h tags*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper h1 { font-size: 210%;}
+
.igem_2019_team_content .igem_2019_team_column_wrapper h2 { font-size: 190%;}
+
.igem_2019_team_content .igem_2019_team_column_wrapper h3 { font-size: 170%;}
+
.igem_2019_team_content .igem_2019_team_column_wrapper h4 { font-size: 150%;}
+
.igem_2019_team_content .igem_2019_team_column_wrapper h5 { font-size: 140%;}
+
.igem_2019_team_content .igem_2019_team_column_wrapper h6 { font-size: 130%;}
+
 
+
 
+
/*titles h1, h2*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper h1, .igem_2019_team_content .igem_2019_team_column_wrapper h2 {
+
border-bottom:0px;
+
color: white;
+
font-family: "Arial Black", Gadget, sans-serif;
+
padding: 10px 0px;
+
}
+
 
+
/*titles h3, h3, h5, h6 */
+
.igem_2019_team_content .igem_2019_team_column_wrapper h3,
+
.igem_2019_team_content .igem_2019_team_column_wrapper h4,
+
.igem_2019_team_content .igem_2019_team_column_wrapper h5,
+
.igem_2019_team_content .igem_2019_team_column_wrapper h6 {
+
border-bottom:0px;
+
color: white; 
+
font-family: "Arial Black", Gadget, sans-serif;
+
padding: 5px 0px;
+
}
+
 
+
/* text p tag*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper p {
+
font-size: 130%;
+
font-family: Arial, Helvetica, sans-serif;
+
padding: 5px 0px;
+
text-align: left;
+
color: white;
+
}
+
 
+
/* Links a tag*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper a {
+
color: #00a19b;
+
font-weight: bold;
+
text-decoration: underline;
+
text-decoration-color:#00a19b;
+
transition: all 0.4s ease;
+
-webkit-transition: all 0.4s ease;
+
-moz-transition: all 0.4s ease;
+
-ms-transition: all 0.4s ease;
+
-o-transition: all 0.4s ease;
+
}
+
 
+
/* hover for the links */
+
.igem_2019_team_content .igem_2019_team_column_wrapper a:hover {
+
color: #085156;
+
text-decoration:none;
+
}
+
 
+
 
+
/* Table tag*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper table {
+
border: 1px solid #635d5d;
+
border-collapse: collapse;
+
font-size: 130%;
+
width: 100%;
+
}
+
 
+
/* table cells */
+
.igem_2019_team_content .igem_2019_team_column_wrapper td {
+
border: 1px solid #cecece;
+
border-collapse: collapse;
+
font-size: 105%;
+
padding: 10px;
+
vertical-align: text-top;
+
}
+
 
+
/* table headers */
+
.igem_2019_team_content .igem_2019_team_column_wrapper th {
+
background-color:#cecece;
+
border: 1px solid #635d5d;
+
border-collapse: collapse;
+
font-size: 110%;
+
padding: 10px;
+
vertical-align: text-top;
+
}
+
 
+
 
+
 
+
/* non numbered lists */
+
.igem_2019_team_content .igem_2019_team_column_wrapper ul, .igem_2019_team_content .igem_2019_team_column_wrapper ol {
+
font-size: 130%;
+
font-family: Arial, Helvetica, sans-serif;
+
padding:0px 20px;
+
}
+
 
+
 
+
/*font sizing within list nesting*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper ul ul li, .igem_2019_team_content .igem_2019_team_column_wrapper ul ul ul li,
+
.igem_2019_team_content .igem_2019_team_column_wrapper ul ol li, .igem_2019_team_content .igem_2019_team_column_wrapper ul ul ol li,
+
.igem_2019_team_content .igem_2019_team_column_wrapper ol ol li, .igem_2019_team_content .igem_2019_team_column_wrapper ul ol ul li,
+
.igem_2019_team_content .igem_2019_team_column_wrapper ol ul li, .igem_2019_team_content .igem_2019_team_column_wrapper ul ol ol li,
+
.igem_2019_team_content .igem_2019_team_column_wrapper ol ul ul li, .igem_2019_team_content .igem_2019_team_column_wrapper ol ol ul li,
+
.igem_2019_team_content .igem_2019_team_column_wrapper ol ol ol li, .igem_2019_team_content .igem_2019_team_column_wrapper ol ul ol li{ font-size: 76%; }
+
 
+
 
+
 
+
/*layout classes*/
+
/**************************************************************************************************************************************************************************************************/
+
 
+
/*main layout class */
+
.igem_2019_team_content .igem_2019_team_column_wrapper .column  {
+
float:left;
+
margin: 1% 2%;
+
padding: 0px;
+
}
+
 
+
/* 100% */
+
.igem_2019_team_content .igem_2019_team_column_wrapper .column.full_size { width:96%; }
+
 
+
/* 66% */
+
.igem_2019_team_content .igem_2019_team_column_wrapper .column.two_thirds_size { width: 62.6%; }
+
 
+
/* 33% */
+
.igem_2019_team_content .igem_2019_team_column_wrapper .column.third_size { width: 29.3%; }
+
 
+
 
+
 
+
 
+
/*all images*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper .column.full_size img,
+
.igem_2019_team_content .igem_2019_team_column_wrapper .column.two_thirds_size img,
+
.igem_2019_team_content .igem_2019_team_column_wrapper .column.third_size img {
+
margin-bottom: 15px;
+
width: 100%;
+
}
+
 
+
 
+
/* page break */
+
.igem_2019_team_content .igem_2019_team_column_wrapper .clear {
+
clear:both;
+
}
+
/*add extra space to page break with clear class*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper .clear.extra_space {
+
height: 30px;
+
}
+
 
+
/* horizontal line to divide the page*/
+
.igem_2019_team_content .igem_2019_team_column_wrapper .line_divider {
+
    border-top: 1px solid #cecece;
+
  margin: auto;
+
  width: 98%;
+
}
+
 
+
 
+
 
+
+
/*support classes*/
+
/**************************************************************************************************************************************************************************************************/
+
 
+
 
+
/*Button  */
+
/************************************************/
+
.igem_2019_team_content .igem_2019_team_column_wrapper .button_link {
+
font-size: 130%;
+
margin: 30px auto;
+
text-align: center;
+
}
+
 
+
.igem_2019_team_content .igem_2019_team_column_wrapper .button_link a {
+
background-color: #00a19bad !important;
+
color: #000 !important;
+
font-weight: bold;
+
margin: auto;
+
text-decoration: none !important;
+
padding: 10px 15px !important;
+
}
+
 
+
.igem_2019_team_content .igem_2019_team_column_wrapper .button_link a:hover {
+
background-color: #ffb819 !important;  
+
}
+
 
+
+
 
+
/*highlight */
+
/************************************************/
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight {
+
padding: 15px 20px;
+
}
+
 
+
 
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight p,
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight h1,
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight h2,
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight h3,
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight h4,
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight h5,
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight h6 {
+
padding: 5px 15px;
+
}
+
 
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight.decoration_background {
+
background-color: #ececec;  
+
}
+
 
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight.decoration_A_top {
+
    border-top: 4px solid #00a19bad;
+
}
+
 
+
 
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight.decoration_A_full {
+
    border: 4px solid #00a19bad;
+
}
+
 
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight.decoration_B_top {
+
    border-top: 4px solid #ffb819
+
}
+
 
+
 
+
.igem_2019_team_content .igem_2019_team_column_wrapper .highlight.decoration_B_full {
+
    border: 4px solid #ffb819;
+
}
+
 
+
 
+
 
+
 
+
/*mobile*/
+
/**************************************************************************************************************************************************************************************************/
+
 
+
 
+
/* 1800px  */
+
/************************************************/
+
@media only screen and (max-width: 1800px) {
+
.igem_2019_team_content { width: 85%;}
+
.igem_2019_team_menu {display:block;}
+
+
}
+
 
+
/* 1400px  */
+
/************************************************/
+
@media only screen and (max-width: 1400px) {
+
.igem_2019_team_menu .menu_item { font-size:100%;}
+
.igem_2019_team_menu .submenu .submenu_item { font-size:90%;}
+
.igem_2019_team_menu {display:block;}
+
}
+
 
+
 
+
/* 1100px  */
+
/************************************************/
+
@media only screen and (max-width: 1100px) {
+
.igem_2019_team_content {width:100%; margin-left:0px;}
+
+
.igem_2019_team_menu {display:none;float:right;margin-top:47px;max-width:100%;position:fixed;width:25%;}
+
+
.igem_2019_team_mobile_bar {display:block;}
+
+
.igem_2019_team_content .igem_2019_team_column_wrapper .column.full_size, .igem_2019_team_content .igem_2019_team_column_wrapper .column.two_thirds_size,.igem_2019_team_content .igem_2019_team_column_wrapper .column.third_size {width:96%; }
+
 
+
}
+
 
+
/* 850px  */
+
/************************************************/
+
@media only screen and (max-width: 850px) {
+
.igem_2019_team_menu {width:40%;}
+
}
+
 
+
/*500px  */
+
/************************************************/
+
@media only screen and (max-width: 500px) {
+
.igem_2019_team_menu {min-width:100%;width:100%;}
+
}
+
 
+
 
+
/**************************************************************************************************************************************************************************************************/
+
 
+
  
  
 +
  <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">Modeling</span></p>
 +
    </div></li>
 +
    <li>
 +
      <ul class="collapsible expandable">
 +
        <li class="onThisPageNav"><span>On this page</span></li>
 +
        <li class="onThisPageNav"><a href="#section1">Overview</a></li>
 +
        <li class="onThisPageNav"><a href="#section2">Induced expression</a></li>
 +
        <li class="onThisPageNav"><a href="#section3">Reverse transcription</a></li>
 +
        <li class="onThisPageNav"><a href="#section4">Cre recombination</a></li>
 +
        <li class="onThisPageNav"><a href="#section5">Recombined P<sub>target</sub></a></li>
 +
        <li class="onThisPageNav"><a href="#section6">Optimal induction</a></li>
 +
        <li class="onThisPageNav"><a href="#section7">Appendix</a></li>
 +
        <li class="onThisPageNav"><a href="#section8">References</a></li>
  
 +
        <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>
 +
      </ul><!-- .expandable -->
 +
    </li>
 +
    <li><div class="placeHolder"></div></li>
 +
  </ul>
 +
  </header>
  
 +
  <div id="pageContent">
 +
      <div id="contentBanner" class="figureBanner">
 +
          <div class="row">
 +
              <div class="col s12 hide-on-med-and-up">
 +
                  <h1><br/>Modeling</h1>
 +
                  <p class="flow-text">In our modeling, we successfully simulated the function of our mutagenesis system, and contributed to improve our experimental setup. Modeling acted as a shortcut of answering questions concerning experimental setup and revealed new insights into our system. Thus, we believe that our modeling work is very competitive for the best modeling prize.</p>
 +
              </div>
 +
          </div>
 +
          <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>
 
</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");
 +
          }
 +
        }
  
  
<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+
        // calc circumcircle center x/y, radius
<!--- THIS IS WHERE THE HTML BEGINS --->
+
        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;
 +
            }
 +
          }
  
<head>
 
  
<!-- This tells the browser that your page is responsive -->
+
          // point outside circumcirc = leave candidates
<meta name="viewport" content="width=device-width, initial-scale=1">  
+
          dy = vertices[c][1] - candidates[j].y;
+
          if(dx * dx + dy * dy - candidates[j].r > EPSILON)
<script type="text/javascript" src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/jQuery&amp;action=raw&amp;ctype=text/javascript"></script>
+
            continue;
+
          // point inside circumcirc = break apart, save edges
+
          edges.push(
+
            candidates[j].i, candidates[j].j,
</head>
+
            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);
 +
              }
 +
            }
 +
          }
  
<link rel="stylesheet" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-font-awesome.css&action=raw&ctype=text/css" />
 
  
<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+
        // done
<!--- Menu --->
+
        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);
 +
              }
 +
            }
 +
          }
  
<style>
+
          var g = createRandomTesselation();
+
          n = g.children.length;
    *{margin: 0;padding: 0;list-style: none;}
+
          for (i = n; i--; ) {
/* via: https://blog.csdn.net/weixin_41014370/article/details/79523637 */
+
          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 gif 1st added" src="https://static.igem.org/mediawiki/2019/c/c4/T--Fudan-TSI--coverModel.gif" /></center></div>
 +
          </div>
 +
      </div>
  
/** 清除内外边距 **/
+
<!--////////////////////////////////////////////////////
body, h1, h3, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
+
      do not edit above, if must BE CAREFUL
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
+
  //////////////////////////////////////////////////////-->
pre, /* text formatting elements 文本格式元素 */
+
      <div class="container">
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
+
          <!-- side navigator of page content -->
th, td /* table elements 表格元素 */ {
+
          <ul id="pageContentNav" class="hide-on-med-and-down z-depth-0">
margin: 0;
+
              <li class="onThisPageNav"><a href="#section1">Overview</a></li>
padding: 0;
+
              <li class="onThisPageNav"><a href="#section2">Induced&nbsp;expression</a></li>
}
+
              <li class="onThisPageNav"><a href="#section3">Reverse&nbsp;transcription</a></li>
 +
              <li class="onThisPageNav"><a href="#section4">Cre&nbsp;recombination</a></li>
 +
              <li class="onThisPageNav"><a href="#section5">Recombined&nbsp;P<sub>target</sub></a></li>
 +
              <li class="onThisPageNav"><a href="#section6">Optimal&nbsp;induction</a></li>
 +
              <li class="onThisPageNav"><a href="#section7">Appendix</a></li>
 +
              <li class="onThisPageNav"><a href="#section8">References</a></li>
 +
          </ul>
 +
          <!-- main content of the page -->
 +
          <main><article>
  
/** 设置默认字体 **/
+
<div id="section1" class="section container scrolSpy">
 +
  <h2>Overview</h2>
 +
  <p class="flow-text">Our mutagenesis system uses the BL21(DE3) <i>E. coli</i> strain transformed with two plasmids, a stringent plasmid named P<sub>target</sub> carrying the target sequence that we want to mutate, and a relaxed plasmid named P<sub>mutant</sub>, carrying the gene encoding the tools necessary for mutagenesis, i.e. reverse transcriptase (RT) and Cre.</p>
 +
  <p class="flow-text">As we are designing a brand-new mutagenesis system inside <i>E. coli</i>, we want to demonstrate whether and under what condition it can work, so we turn to modeling to answer these questions. Our modeling work is comprised of 3 parts. <a href="#section2">1)</a> We used 3 deterministic models to describe the 3 reaction steps of our system—induced expression, reverse transcription and recombination. This allows us to compute and maximize the yield of the recombined P<sub>target</sub> which in turn, contributes to the optimization of our experimental setup. <a href="#section5">2)</a> We simulated the recombination process stochastically and calculated the number of recombined products that occurred during one replication cycle of <i>E. coli</i>. <a href="#section6">3)</a> We combined the 3 reaction steps together using deterministic model and found that selecting the least efficient degradation tag for Cre is optimal.</p>
 +
</div>
  
/* @@@@ h1, h3, h3, h4, h5, h6 { font-size: 100%; }*/
+
<div id="section2" class="section container scrolSpy">
address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
+
  <h2>Part I: Deterministic model to compute the yield of recombined P<sub>target</sub></h2>
code, kbd, pre, samp { font-family: courier new, courier, monospace; } /* 统一等宽字体 */
+
  <p class="flow-text">When we were constructing the plasmid, we encountered a dilemma concerning how RT and Cre should be expressed. Firstly, we thought of putting them both under a same Lac operon so that their expression can be easily induced merely by one kind of inducer—IPTG. Meanwhile, we also considered using different inducers to achieve a more modular design which would be easier to control. As it would take a long time to test which induced expression scheme is better through experiments, we used modeling to test the two constructs. We modelled all the reactions involved and computed the yield of the desired product, i.e. recombined P<sub>target</sub>. Through comparison of the yield acquired using these two induced expression schemes, we decided that the latter scheme should be employed for our system to perform better.</p>
/* @@@@ small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */
+
  <p class="flow-text">By common knowledge we can assume that, if the amount of RT and Cre needs to be different to achieve optimal yield, we should choose the second scheme and put them under different operons. On the contrary, if the yield reaches the maximum under the maximum amount of RT and Cre, the first scheme should be chosen.</p>
 +
  <p class="flow-text">In our initial attempt, we found that modeling all the reactions involved is rather difficult, as the reactions are in such a large number and all mixed together. This circumstance makes inspection of the reasonability of our models and parameters impossible. To overcome this issue, we decided to separate these reactions into three sub-models and use the steady-state concentration of the substances derived from the previous model as the input of the next model. The three sub-models are: <a href="#section2">induced expression model</a>, <a href="#section3">reverse transcription model</a> and <a href="#section4">Cre recombination model</a>, corresponding to the 3 reaction steps in R-Evolution. The schematic diagram is shown in <a href="#Fig1">Figure 1</a>.</p>
  
/** 重置列表元素 **/
+
  <div class="figureHolder" id="Fig1">
ul, ol { list-style: none; }
+
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/5/54/T--Fudan-TSI--Fig1.gif" />
 +
    <p><b>Figure 1. Workflow of the model.</b><br/>
 +
    Three Grey boxes indicate three major reaction steps in R-Evolution. Arrows indicate the reaction that certain substance is involved. White arrows indicate the case in which substances that originally exist in <i>E. coli</i> act as inputs. Red arrows indicate the case in which intermediates, which are produced in the previous reaction, are generated or involved in next reaction process. The blue arrow indicates the final output that we would like to observe. Inducer – IPTG or aTc (anhydrotetracycline). RT – reverse transcriptase. Cre – Cre recombinase. cDNA – complementary DNA.</p>
 +
  </div>
  
/** 重置文本格式元素 **/
+
  <h4>Induced Expression Model</h4>
a { text-decoration: none; }
+
  <p class="flow-text">We first assumed that both genes encoding RT and Cre are placed together under a lac operon <a href="#Fig2">(Figure 2a)</a>. The repressor protein LacI is stably expressed in the cell, 2 molecules of LacI will form a dimer which binds to LacO DNA fragment and represses the expression of RT and Cre. When IPTG is added and transported into the cell, IPTG molecules will bind with LacI and inhibit its binding to LacO. In this way, RT and Cre can be rescued from suppression <a href="#Ref1">(Nikos et al.)</a>. The ordinary differential equations (ODEs) describing these processes are shown as follows. Details of the substance names, parameter names and chemical equations can be found in <a href="#section7">the appendix</a>.</p>
a:hover { text-decoration: underline; }
+
  
 +
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/6/6f/T--Fudan-TSI--Formula1.gif" />
 +
  </div>
  
/** 重置表单元素 **/
+
  <p class="flow-text">According to our modeling result, the amount of target protein (RT and Cre) will be extremely low when IPTG is not added <a href="#Fig2">(Figure 2b)</a>. The origin point represents the time when an <i>E. coli</i> comes into being through reproduction. As a result, the lac operon is not fully repressed by LacI dimer, causing a leakage expression of target protein (from 0 min to 1 min, <a href="#Fig2">Figure 2b&amp;c</a>). After that, due to slow degradation rate of the target protein’s mRNA as well as the target protein itself, the amount of target protein will continue to accumulate to a certain amount after the lac operon is fully repressed (from 1 min to 5 min, <a href="#Fig2">Figure 2b&amp;c</a>). Finally, the degradation process removes target protein from the system (from 5 min to 50 min, <a href="#Fig2">Figure 2b</a>). When IPTG is added, we find that the concentration of protein product quickly rises as the repression of lac operon is quickly removed (from 50 min to 100 min, <a href="#Fig2">Figure 2b&amp;c</a>). The steady-state concentration is 6.70 μM. This number will be used for further analysis.</p>
legend { color: #000; } /* for ie6 */
+
fieldset, img { border: 0; } /* img 搭车:让链接里的 img 无边框 */
+
button, input, select, textarea { font-size: 100%; } /* 使得表单元素在 ie 下能继承字体大小 */
+
/* 注:optgroup 无法扶正 */
+
  
/** 重置表格元素 **/
+
  <div class="figureHolder" id="Fig2">
table { border-collapse: collapse; border-spacing: 0; }
+
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/archive/5/59/20191020044015%21T--Fudan-TSI--Fig2b%26c.gif" />
+
    <p><b>Figure 2. Induced expression of RT and Cre.</b><br/>
</style>
+
    <b>a)</b> Schematic diagram of the model. <b>b)</b> Dynamics of target protein. Horizontal axis shows the length of time. Vertical axis demonstrates the amount of protein (RT and Cre) within the system. RT and Cre are expressed under the same Lac operon. <b>c)</b> Dynamics of free lac operon. Horizontal axis shows the length of time. Vertical axis demonstrates the amount of free lac operon, i.e. the lac operon unbound by tetR dimer, within the system. The vertical magenta line indicates the moment when 50μM is added to the system.</p>
 +
  </div>
  
 +
</div>
  
 +
<div id="section3" class="section container scrolSpy">
 +
  <h4>Reverse Transcription Model</h4>
 +
  <p class="flow-text">From the first model, the concentration of both RT and Cre are acquired. The concentration of RT serves as input to the reverse transcription model. As the schematic diagram depicts <a href="#Fig3">(Figure 3a)</a>, tRNA primer first binds with reverse transcriptase. When this complex binds with a certain fragment on the target sequence, which is called primer binding site (PBS), the reverse transcription will start and cDNA will be synthesized.</p>
 +
  <p class="flow-text">Although a more elaborate model of reverse transcription has been proposed by <a href="#Ref2">Kulpa et al.</a>, it includes many reactions whose kinetic properties are not well characterized. As a result, we simplified that model and came up with our own. The ODEs describing these processes are shown as follows. Details of the substance names, parameter names and chemical equations we used can be found in <a href="#section7">the appendix</a>.</p>
  
 +
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/3/3f/T--Fudan-TSI--Formula2.gif" />
 +
  </div>
  
<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------    Content begins    --------------------------------------------------------------------------------------------------------------------------------->
+
  <p class="flow-text">The modeling result is shown in <a href="#Fig3">Figure 3b</a>. It shows that the concentration of cDNA will accumulate at the presence of RT (whose initial concentration is 6.70 μM, computed by the induced expression model) and finally reach a steady-state of 9.60 nM. This number will be used for further analysis.</p>
<!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+
+
+
+
+
+
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+
+
+
<link rel="stylesheet" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/materialize.css&amp;action=raw&amp;ctype=text/css">
+
+
<style>
+
+
body{
+
margin:0;
+
padding:0;
+
background-color:#08273a;
+
}
+
a{
+
text-decoration:none;
+
}
+
#global_wrapper{
+
width:100%;
+
height:auto;
+
margin:0;
+
position:absolute;
+
}
+
#navUl{
+
width:100%;
+
height:110px;
+
padding:40px 0 0 0;
+
overflow:visible;
+
position:fixed;
+
list-style:none;
+
z-index:999;
+
background-color:#08273a;
+
margin:0;
+
top:0;
+
}
+
#mobileNav{
+
width:100%;
+
height:80px;
+
padding:20px 0 0 0;
+
top:0;
+
background-color:#001d2a;
+
position:fixed;
+
display:none;
+
text-align:center;
+
z-index:999;
+
}
+
#mobileNav img{
+
display:none;
+
margin:0;
+
padding:0;
+
}
+
#mobileLogo{
+
display:inline-block;
+
}
+
#mobileControl{
+
float:right;
+
display:inline-block;
+
margin-right:15px;
+
margin-top:3px;
+
}
+
#mobileCtrl{
+
height:25px;
+
}
+
#mobileTeamName{
+
display:inline-block;
+
}
+
#navImg{
+
display:inline-block;
+
float:left;
+
height:70px;
+
width:auto;
+
position:relative;
+
margin-left:4%;
+
margin-top:0;
+
}
+
.logo{
+
height:55px;
+
width:auto;
+
margin-top:1.3%;
+
}
+
.teamname{
+
height:28px;
+
}
+
  
#navBar{
+
  <div class="figureHolder" id="Fig3">
float:right;
+
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/3/31/T--Fudan-TSI--Fig3.gif" />
position:relative;
+
    <p><b>Figure 3. Reverse transcription.</b><br/>
width:auto;
+
    <b>a)</b> Schematic diagram of the model. <b>b)</b> Dynamics of cDNA. Horizontal axis shows the length of time. Vertical axis demonstrates the amount of cDNA within the system.</p>
display:inline-block;
+
  </div>
margin-right:4%;
+
</div>
}
+
.navLi{
+
float:left;
+
display:inline-block;
+
margin-top:3%;
+
color:white;
+
font-size:20px;
+
position:relative;
+
margin-left:18px;
+
text-align:center;
+
font-family:"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, "sans-serif";
+
text-decoration:none;
+
}
+
.navA{
+
display:block;
+
text-align:center;
+
color:white;
+
text-decoration:none;
+
}
+
.navA2{
+
display:block;
+
overflow:visible;
+
color:white;
+
height:auto;
+
}
+
.ul2{
+
list-style:none;
+
position:absolute;
+
display:none;
+
overflow:hidden;
+
padding:10px 0 0 0 !important;
+
margin:0 !important;
+
font-size:17px;
+
left:50%;
+
transform:translateX(-50%);
+
border-bottom-left-radius: 10px;
+
border-bottom-right-radius: 10px;
+
background:linear-gradient(#08273a,rgba(0,138,201,1));
+
}
+
.li2{
+
padding:0;
+
margin:10px 20px;
+
text-align:center;
+
display:block;
+
}
+
.navA:link,.navA2:link{
+
text-decoration:none;
+
}
+
.navA:visited{
+
color:white;
+
}
+
.navA2:visited,.navA2:active{
+
color:white;
+
}
+
.navA:hover{
+
color:#7dded4;
+
}
+
.navA2:hover{
+
color:#7dded4;
+
}
+
.jqhover{
+
color:#7dded4;
+
}
+
.navA:hover{
+
text-decoration:none;
+
}
+
.navA:active{
+
text-decoration:none;
+
color:white;
+
}
+
  
</style>
+
<div id="section4" class="section container scrolSpy">
 +
  <h4>Cre Recombination Model</h4>
 +
  <p class="flow-text">Our first assumption is that the genes encoding RT and Cre are both placed under lac operon and thus be expressed in the same amount. So now we are about to compute the yield of our desired product to identify whether this experimental setup is feasible. The model of the recombination process has been clearly described by <a href="#Ref3">Ehrilich et al</a>. We made some changes to it according to our own experimental design. The schematic diagram is shown in <a href="#Fig4">Figure 4a</a>. The ODEs describing these processes are shown as follows. Details of the substance names, parameter names and chemical equations can be found in <a href="#section7">the appendix</a>.</p>
  
+
  <div class="figureHolder">
 +
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/e/e9/T--Fudan-TSI--Formula3.gif" />
 +
  </div>
  
+
  <p class="flow-text">As is shown in the diagram, 2 Cre molecules bind with 1 loxP site successively, either on cDNA or P<sub>target</sub>. Four Cre molecules will form a Holliday junction, and thus starting the recombination reaction. Two pairs of loxP will work together and complete the strand exchange between cDNA and P<sub>target</sub>. After that, the recombined product is produced. What we are interested in is the percentage of recombined P<sub>target</sub> among all P<sub>target</sub>s in one <i>E. coli</i>. So, we turn to compute that percentage based on the model that we have established.</p>
<style>
+
  <p class="flow-text">Unfortunately, we found that the amount of substances is too small. For example, the concentration of P<sub>target</sub> is only 10 nM, which means there are only about 5 molecules of  in one cell. These small numbers caused some computational problems in Matlab when we were using its ODE solver (ode15s). To address this problem, we converted the units of the amount of the substances from mole per litter (M) to molecule. The units of the kinetic parameters are also converted accordingly.</p>
+
  <p class="flow-text">Now, the recombination step is modeled under the initial condition of 5 molecules of non-mutated , 3228 molecules of Cre and 5 molecules of cDNA <a href="#Fig4">(Figure 4b)</a>. The last two numbers are the outputs of previous models after going through some unit conversion steps.</p>
#pageContent{
+
  <p class="flow-text">After a long period of reaction, no recombined P<sub>target</sub> showed up. It is because there are too many Cre molecules so s are all bounded by them and remain in the intermediate form. What’s more,  can't bind with T7 RNA polymerase and be transcribed as a consequence of Cre occupation. This leads to the system’s inability of undergoing further reverse transcription process, stopping cDNA’s production, resulting in a stop of the system, and rendering mutation accumulation impossible <a href="#Fig4">(Figure 4c)</a>.</p>
margin:100px 0 0 0;
+
  <p class="flow-text">This result tells us that the number of Cre molecules needs to be much lower for the system to function. We then set out to determine how many Cre is optimal. After we fed the recombination model with cDNA and Cre at different concentrations, the problem seems to be clear as the yield of recombined  varies greatly responding to different numbers of cDNA and Cre <a href="#Fig4">(Figure 4d)</a>. When cDNA is confined to 5 molecules, we will get no yield at all in the period of <i>E. coli</i>'s replication cycle if the concentration of Cre is greater than 20 molecules. Instead, the yield is maximized when the final Cre concentration is around 2 molecules <a href="#Fig4">(Figure 4e)</a>.</p>
text-align:center;
+
  <p class="flow-text">We use the optimized number of Cre as the input to our third model. The result is shown in <a href="#Fig4">Figure 4f</a>, which is satisfactory. The recombined P<sub>target</sub>) finally occurs and  has a chance to bind with T7 RNA polymerase, which means mutated gene of interest could be transcribed and further mutated, thus making the accumulation of mutations possible <a href="#Fig4">(Figure 4g)</a>.</p>
}
+
+
.row{
+
clear:both!important;
+
}
+
  
.title1{
+
  <div class="figureHolder" id="Fig4">
font-size:2.3rem;
+
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/d/d8/T--Fudan-TSI--Fig4.gif" />
text-align:center;
+
    <p><b>Figure 4. Cre recombination (deterministic).</b><br/>
color:white;
+
    <b>a)</b> Schematic diagram of the model. Ps, Un-recombined P<sub>target</sub>. Pp, Recombined P<sub>target</sub>. <b>b-c)</b> Recombination when Cre is expressed under Lac operon. Dynamics of the percentage of un-recombined/ recombined P<sub>target</sub> among all P<sub>target</sub>s is shown in <b>b</b>. Horizontal axis shows the length of time (8 hours, corresponding to R-Evolution’s function period). The distribution of the percentage of substances at the steady-state is shown in <b>c</b>. <b>d)</b>  Yield of recombined P<sub>target</sub> at different initial number of cDNA and Cre. The yield of recombined P<sub>target</sub> is calculated as the percentage of recombined P<sub>target</sub> among all P<sub>target</sub>s. The horizontal white line corresponds to current situation where the initial number of cDNA is 5 molecules in one <i>E. coli</i>. <b>e)</b>  Yield of recombined P<sub>target</sub> at different initial number of Cre when initial number of cDNA is 5 molecules. <b>f-g)</b>  Recombination when Cre is expressed under different operon. Dynamics of the percentage of un-recombined/ recombined P<sub>target</sub> among all P<sub>target</sub>s is shown in <b>f</b>. The distribution of the percentage of substances at the steady-state is shown in <b>g</b>.</p>
display:block;
+
  </div>
}
+
.title2{
+
color:white;
+
text-align:left;
+
font-size:2rem;
+
line-height:130%;
+
display:block;
+
width:100%;
+
}
+
.title3{
+
font-size:1.4rem;
+
color:white;
+
text-align:left !important;
+
display:block;
+
width:100%;
+
line-height:110%;
+
padding-left:2%;
+
}
+
.para1{
+
color:white;
+
text-align:justify;
+
align-items:flex-start;
+
line-height:140%;
+
font-size:1.2rem;
+
margin-bottom:50px !important;
+
width:100%;
+
margin:auto 0;
+
}
+
.para1 a{
+
text-decoration:underline !important;
+
}
+
.para1 a:hover{
+
color:rgba(96,255,249,1.00)!important;
+
}
+
.content1{
+
margin:7% auto;
+
}
+
.pic2{
+
width:150%;
+
}
+
.reverseDiv{
+
position:relative !important;
+
float:right !important;
+
}
+
  
+
  <p class="flow-text">These results remind us to use different inducer to induce the expression of RT and Cre. So, we revised our experimental design and decided to use Tet operon to control the expression of Cre and induce that with anhydrotetracycline (aTc). Even though we later used degradation tag to accelerate the degradation process of Cre and to decrease the expression level of Cre, considering the fact that the tet operon is less prone to leakage and that using merely lac operon to control the expression of RT and Cre may cause unexpected problems, we still used different operons to control the expression of RT and Cre. This setup will be considered in the model in <a href="#section6">Part III</a>.</p>
.paraUl{
+
  <p class="flow-text">There is still something that is not well explained in our current model. The final percentage of recombined P<sub>target</sub> is around 1.5%. The unit of the substance is molecules, so it means there is 0.075 recombined P<sub>target</sub> in one cell, which is unrealistic. This problem reflects that converting the unit of substance into molecule when doing deterministic modeling cannot offer a precise description of the system’s status. We then used <a href="#section5">stochastic modeling</a> techniques to determine whether and how many recombined P<sub>target</sub>s will show up in one replication cycle of <i>E. coli</i>.</p>
list-style-type:decimal !important;
+
</div>
list-style-position:outside;
+
padding-left:auto;
+
font-size:1rem;
+
}
+
.paraUl li{
+
padding-right:4% ;
+
}
+
+
+
#containerWithLeftNav{
+
display:block;
+
margin-left:25%;
+
}
+
  
 +
<div id="section5" class="section container scrolSpy">
 +
  <h2>Part II: Stochastic model to compute times of occurrence of recombined P<sub>target</sub></h2>
 +
  <p class="flow-text">We use Gillespie algorithm in stochastic modeling. The procedure of this algorithm is shown as follows in the form of pseudocode.</p>
 +
  <ol>
 +
    <li>  Step 1: Initialize the reaction system at \(t=0\) with rate constants \(c_1, c_2, ......, c_v\) as initial numbers of molecules \(x_1, x_2, ......, x_u\) corresponding to \(v\) reactions and \(u\) sustances (both reactants and products) involved in the reaction system.</li>
 +
    <li>  Step 2: For each \(i=1,2,......,v\), calculate the hazard for the \(i^{th}\) type of reaction, denoted as \(h_i(x,c_i)\) based on current substance number \(x\).</li>
 +
    <li>  Step 3: Calculate the combined reaction hazard \(h_0(x,c)=\Sigma_{i=1}^{v}h_i(x,c_i)\). </li>
 +
    <li>  Step 4: Simulate the time to the next reaction, \(t^{'}\) , which is a random quantity that obeys exponential distribution with parameter \(\lambda\).</li>
 +
    <li>  Step 5: Put \(t:=t+t^{'}\). </li>
 +
    <li>  Step 6: Simulate the reaction index, \(j\). The probability that the \(j^{th}\) reaction can occur is \(\frac{h_i(x,c_i)}{h_0(x,c)}, i=1,2,......,v.\).</li>
 +
    <li>  Step 7: Update \(x\) according to reaction \(j\), which means putting \(x:=x+S^{(j)}\), where \(S^{(j)}\) denotes the \(j^{th}\) colomn of the stoichiometry matrix \(S\). The \(j^{th}\) column of  denotes the change in substance number  caused by the \(j^{th}\) reaction.</li>
 +
    <li>  Step 8: Record time \(t\) and current substance number \(x\). </li>
 +
    <li>  Step 9: If \(t\ \text{<}\ T_{max}\), return to step 2. \(T_{max}\) corresponds to the maximum duration of the reaction set by the user.</li>
 +
    <li>  Step 10: Plot the result to see the dynamic of the quantity of the substance that you are interested in.</li>
  
</style>
+
  <p class="flow-text">Although the algorithm is rather simple, basic mathematical skills is required to understand its theoretical basis. You may consult the book written by <a href="#Ref4">Wilkinson and Darren</a> for a thorough understanding. The result is shown in <a href="#Fig5">Figure 5</a>.</p>
+
<style>
+
+
@media only screen and (max-width:1200px){
+
#mobileBar{
+
margin-left:4%;
+
}
+
.navLi{
+
font-size:18px;
+
margin-top:3.5%;
+
}
+
}
+
+
+
@media only screen and (max-width:1100px){
+
+
#navUl{
+
display:block;
+
float:right;
+
margin-top:0;
+
top:80px;
+
right:0;
+
background-color:rgba(0,0,0,0);
+
padding:0;
+
}
+
+
#mobileNav{
+
display:block;
+
}
+
+
#navImg{
+
display:none;
+
}
+
+
+
#navBar{
+
margin:0 1% 0 0;
+
padding-right:2%;
+
padding-left:1%;
+
position:relative;
+
display:none;
+
}
+
+
#mobileNav img{
+
display:inline-block;
+
margin:5px 0;
+
padding:0;
+
}
+
#mobileControl{
+
margin-top:8px;
+
}
+
  
.logo{
+
  <div class="figureHolder" id="Fig5">
height:45px;
+
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/5/5f/T--Fudan-TSI--Fig5bc.gif" />
margin-top:7px;
+
    <p><b>Figure 5. Cre recombination (stochastic).</b><br/>
}
+
    Horizontal axis shows the length of time (20 min, corresponding to the duration of 1 <i>E. coli</i> replication cycle). Vertical axis demonstrates the number of recombined P<sub>target</sub>. The initial number of Cre is 2 molecules in <b>a</b>, 3228 molecules in <b>b</b>.</p>
.navLi{
+
  </div>
display:block;
+
position:relative;
+
float:right;
+
clear:both;
+
white-space:nowrap;
+
text-align:right;
+
margin:0;
+
height:60px;
+
width:100%;
+
background-color:#00324a;
+
}
+
.navA{
+
display:block;
+
text-align:right;
+
position:relative;
+
float:right;
+
padding:20px 20px !important;
+
}
+
.n2{
+
display:none;
+
width:0;
+
position:relative;
+
float:left;
+
text-align:right;
+
}
+
.ul2{
+
background:none;
+
padding-top:0;
+
background-color:#00557b;
+
text-align:right;
+
display:block;
+
position:relative;
+
float:right;
+
right:100%;
+
transform:translateX(0%);
+
top:0;
+
transform:translateY(1%);
+
border-radius:0 0 0 10px;
+
}
+
.open{
+
display:block;
+
}
+
+
.title2{
+
font-size:1.8rem;
+
line-height:140%;
+
}
+
.para1{
+
font-size:1.1rem;
+
}
+
.pic2{
+
width:120%;
+
}
+
+
.highlightIcon{
+
margin:20% auto 10% auto;
+
}
+
.highlightTitle{
+
margin-bottom:15%;
+
}
+
  
+
  <p class="flow-text">The result demonstrates that recombined P<sub>target</sub>s do occur and two rounds of reverse transcription and recombination can take place in one replication cycle of <i>E. coli</i> (1200 s) <a href="#Fig5">(Figure 5a)</a>. On the contrary, no recombined  will come out within that period if the initial cDNA is 5 molecules and initial Cre is 3228 molecules <a href="#Fig5">(Figure 5b)</a>. This again demonstrates the necessity of putting RT and Cre under different induction setups. The fluctuation of the number of recombined P<sub>target</sub> is due to the backward reaction that Cre can rebind with recombined  and reverting the action, making it not counted as recombined P<sub>target</sub> by the algorithm.</p>
}
+
</div>
+
+
@media only screen and (max-width:992px){
+
+
#navUl{
+
display:block;
+
float:right;
+
margin:0;
+
top:80px;
+
right:0;
+
}
+
+
#mobileNav{
+
display:block;
+
}
+
+
#navImg{
+
display:none;
+
}
+
+
#navTeamName{
+
display:none;
+
}
+
+
#navBar{
+
margin:0 1% 0 0 ;
+
margin-right:2%;
+
padding-right:1%;
+
padding-left:1%;
+
position:relative;
+
display:none;
+
}
+
#mobileControl{
+
margin-top:10px;
+
}
+
#mobileNav img{
+
display:inline-block;
+
margin:5px 0;
+
padding:0;
+
}
+
.logo{
+
height:40px;
+
}
+
.navLi{
+
display:block;
+
position:relative;
+
float:right;
+
clear:both;
+
white-space:nowrap;
+
text-align:right;
+
height:60px;
+
width:100%;
+
}
+
.navA{
+
display:block;
+
text-align:right;
+
position:relative;
+
float:right;
+
font-size:15px;
+
}
+
.n2{
+
display:none;
+
width:0;
+
position:relative;
+
float:left;
+
}
+
.ul2{
+
font-size:13px;
+
}
+
.open{
+
display:block;
+
}
+
+
  
 
#animation_container{
 
display:none;
 
}
 
#teamLogo{
 
display:block;
 
}
 
  
+
<div id="section6" class="section container scrolSpy">
.title2{
+
  <h2>Part III: Deterministic model to determine optimal induction time</h2>
font-size:1.5rem;
+
  <p class="flow-text">To ensure the evolved protein is encoded by the mutated GOI sequence that is recombined into P<sub>target</sub>, we decided to use degradation tag to accelerate the degradation process of Cre. This design would make Cre only function when inducer is in the system, thus allowing stringent control of the protein. However, we then face the problem of how to select the optimal degradation tag.</p>
}
+
  <p class="flow-text">Empirically, to minimize the duration of recombination, we tend to choose degradation tags with higher efficiency, but extremely high degradation rate will also reduce the yield of recombined P<sub>target</sub>, leading to decreased library size. Also, it is impractical for researchers to do experiments to test these degradation tags one by one. For these reasons, we are going to use models to find out the optimal degradation tag that should be added to Cre based on the average yield of recombined P<sub>target</sub> at the end of R-Evolution functioning period (8 hours).</p>
.para1{
+
  <p class="flow-text">We intend to use the models described in <a href="#section2">Part I</a>, combined with aTc induction model proposed by <a href="#Ref5">Steel et al</a>. to compute the yield of recombined P<sub>target</sub> under different degradation rate of Cre (the reason why Tet operon is used has been elaborated in <a href="#section2">Part I</a>; the schematic diagram of this process is shown in <a href="#Fig6">Figure 6a</a>. The ODEs describing these processes are shown as follows. Details of the substance names, parameter names and chemical equations we used can be found in <a href="#section7">the appendix</a>.</p>
font-size:1rem;
+
}
+
.pic2{
+
width:100%;
+
}
+
  
+
  <div class="figureHolder">
}
+
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/9/9c/T--Fudan-TSI--Formula4.gif" />
+
  </div>
+
@media only screen and (max-width:768px){
+
.col-md-4{
+
clear:both;
+
}
+
.col-md-8{
+
clear:both;
+
}
+
.pic2{
+
margin-bottom:10%;
+
width:80%;
+
}
+
.title2{
+
font-size:1rem;
+
}
+
.para1{
+
font-size:0.8rem;
+
}
+
.pic2{
+
width:80%;
+
}
+
#sponser img {
+
width:60%;
+
}
+
+
#containerWithLeftNav{
+
margin-left:auto;
+
}
+
+
}
+
+
</style>
+
  
 +
  <p class="flow-text">Although the setup in <a href="#section2">Part I</a> successfully provided us with a clear insight into the reactions and dynamic changes of substances that underlie our mutagenesis system, the simplification that the steady-state substance concentrations of previous models can be used as inputs for subsequent models doesn’t match real reaction situation. For example, when Cre is expressed, it can immediately bind with cDNA and initiate recombination. This fact contradicts with our model assumption that recombination only takes place after both Cre and cDNA has reached their steady-state concentration.</p>
 +
  <p class="flow-text">To overcome this issue, we decided to combine all three sub-models together and calculate the expected output.  As a result of the impreciseness of the basic assumption of the models in <a href="#section2">Part I</a>, we only gave a qualitative conclusion that the amount of RT and Cre should be different. Here we need to quantify how Cre degradation rate and steady-state concentration affects the yield of recombined P<sub>target</sub>. That’s why we employed deterministic model here to combine the separate steps together into one and better simulate real intracellular circumstances.</p>
 +
  <p class="flow-text">By combining the models that have been talked above, we revealed the reason why the degradation tag with a moderate degradation rate, which can’t be too high or too low, should be selected <a href="#Fig6">(Figure 6b)</a>: under appropriate inducer concentration (20~22uM), when the degradation rate is relatively low (below 0.1 min<sup>-1</sup>), the yield of recombined P<sub>target</sub> will increase according to the increase of Cre degradation rate, but when that rate is sufficiently high (above 0.1 min<sup>-1</sup>), the increase of Cre degradation rate will do harm to the yield of recombined P<sub>target</sub>.</p>
  
+
  <div class="figureHolder" id="Fig6">
+
    <img class="responsive-img" src="https://static.igem.org/mediawiki/2019/archive/8/84/20191020042934%21T--Fudan-TSI--Fig6.gif" />
 +
    <p><b>Figure 6. Whole process simulation considering Cre degradation tag.</b><br/>
 +
    <b>a)</b> Chemical reactions involved in Cre induced expression. <b>b)</b> Yield of recombined P<sub>target</sub> at different Cre degradation rate and aTc dosage. The white line on the left corresponding to the case where the degradation rate of Cre is 0.2 min<sup>-1</sup>. The white line on the left corresponding to the case where the degradation rate of Cre is 0.69 min<sup>-1</sup>. <b>c)</b> Yield of recombined P<sub>target</sub> at different Cre degradation rate and aTc dosage (3D plot). The range of Cre degradation rate is 0.2~0.69 min<sup>-1</sup>. <b>d)</b> Dynamics of yield of recombined P<sub>target</sub> at the Cre degradation rate of 0.2 min<sup>-1</sup> and the initial 22 μM aTc dosage. <b>e)</b> Dynamics of yield of recombined P<sub>target</sub> at the Cre degradation rate of 0.2 min<sup>-1</sup> and the initial 22 μM aTc dosage.</p>
 +
  </div>
  
 +
  <p class="flow-text">The average degradation rate acquired from literature is 0.2 min<sup>-1</sup><a href="#Ref1">(Nikos et al.)</a> and the degradation rate of Cre when tagged with the most efficient degradation tag is 0.69 min<sup>-1</sup>. Within this range of degradation rate, the maximum yield of recombined P<sub>target</sub> will decrease according to the increase of Cre degradation efficiency <a href="#Fig6">(Figure 6c)</a>. So we decided to use the least efficient degradation tag.</p>
 +
  <p class="flow-text">We also revealed the dynamic change of the recombined P<sub>target</sub>. It will continuously accumulate within Cre function period <a href="#Fig6">(Figure 6d)</a>. However, the concentration remains to be low within that period, due to Cre degradation <a href="#Fig6">(Figure 6e)</a>.</p>
 +
  <p class="flow-text">Finally, there is another interesting phenomenon that is worth mentioning. From <a href="#Fig6">Figure 6b</a> and <a href="#Fig6">Figure 6c</a>, we can find that for each degradation tag rate greater than 0.2 min<sup>-1</sup>, there exits a range of aTc dosage that can make the yield of recombined  relatively big. Also, decreased degradation efficiency enlarges that range. This discovery provides us with another reason for using less efficient degradation tag in that it can increase the robustness of our mutagenesis system by decreasing its sensitivity to the change of inducer dosage.</p>
 +
  <p class="flow-text">In summary, in the deterministic model, we combined the three minor models proposed previously and assessed the mutagenesis system in whole. Through this addition, we achieved a better simulation of the real intracellular reactions and answered the question of when Cre should be induced for the highest level of recombination efficiency to be obtained.</p>
 +
</div>
  
<style>
+
<div id="section7" class="section container scrolSpy">
#footContainer{
+
  <h2>Appendix</h2>
width:90%;
+
  <p class="flow-text">You can access the Matlab codes of our models from <a href="https://github.com/kiyochou/2019-iGEM-Fudan-TSI" target="_blank">our Github repository</a>.</p>
}
+
  <p class="flow-text">Please consult the following file for a clearer understanding of the formulation of the model.</p>
#FudanFooter{
+
  <embed src="https://static.igem.org/mediawiki/2019/8/8c/T--Fudan-TSI--ModelApp.pdf" width="100%" height="600" type="application/pdf">
margin:auto 0;
+
  <p>Here is <a target="_blank" href="https://static.igem.org/mediawiki/2019/8/8c/T--Fudan-TSI--ModelApp.pdf">the link</a> to download the file above.</p>
width:100%;
+
</div>
padding:3% 0;
+
}
+
#FudanFooter #usefulLinks {
+
color: #cacaca;
+
padding-left: 1rem;
+
}
+
  
#FudanFooter #usefulLinks ul {
+
<div id="section8" class="section container scrolSpy">
font-size: 13px;
+
  <h2>References</h2>
line-height: 14px;
+
  <ol id="ref" style="margin: 23px 0 0 0;">
border-top: solid 2px;
+
    <li id="Ref1">[1] Stamatakis M, Mantzaris N V. <a href="https://www.ncbi.nlm.nih.gov/pubmed/19186128" target="_blank">Comparison of Deterministic and Stochastic Models of the lac Operon Genetic Network</a>[J]. Biophysical Journal, 2009, 96(3):887-906.</li>
color: inherit;
+
    <li id="Ref2">[2] Kulpa, D. <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1169686/" target="_blank">Determination of the site of first strand transfer during Moloney murine leukemia virus reverse transcription and identification of strand transfer-associated reverse transcriptase errors</a>[J]. EMBO (European Molecular Biology Organization) Journal, 1997, 16(4):856-865.</li>
text-decoration: none;
+
    <li id="Ref3">[3] Ringrose L, Lounnas V, Ehrlich L, et al. <a href="https://www.ncbi.nlm.nih.gov/pubmed/9813124" target="_blank">Comparative kinetic analysis of FLP and cre recombinases: mathematical models for DNA binding and recombination</a>[J]. Journal of Molecular Biology, 1998, 284(2):0-384.</li>
padding-top: 5px;
+
    <li id="Ref4">[4] Wilkinson, Darren J. <a href="#">Stochastic modeling for Systems Biology</a>, Second Edition[M]. Crc Press, 2011.</li>
margin:0;
+
    <li id="Ref5">[5] Harris A W K, Kelly C L, Steel H, et al. <a href="https://ieeexplore.ieee.org/document/8263882" target="_blank">The autorepressor: A case study of the importance of model selection</a>[C]. Decision & Control. IEEE, 2018.</li>
}
+
  </ol>
 +
</div>
  
#FudanFooter #usefulLinks div {
+
<!--////////////////////////////////////////////////////
color: #cacaca;
+
      do not edit below, if must BE CAREFUL
}
+
  //////////////////////////////////////////////////////-->
 +
      </article></main></div><!-- end of side navigator and main of the page -->
  
#FudanFooter #usefulLinks div:hover {
+
<!-- Floating Btns, Footer with sponsors -->
color: white;
+
      <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>
}
+
</div></div></div><!-- #pageContent #FudanTSIBody #FudanTSIdivWrapper -->
  
#FudanFooter #usefulLinks a {
+
<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 -->
color: inherit;
+
<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/mathjax275.js&action=raw&ctype=text/javascript"></script>
 
+
<script>let isMathjaxConfig=!1;const initMathjaxConfig=()=>{window.MathJax&&(window.MathJax.Hub.Config({showProcessingMessages:!1,messageStyle:"none",jax:["input/TeX","output/HTML-CSS"],tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],skipTags:["script","noscript","style","textarea","pre","code","a"]},"HTML-CSS":{availableFonts:["STIX","TeX"],showMathMenu:!1}}),isMathjaxConfig=!0)};
#FudanFooter #usefulLinks a:hover {
+
  if (isMathjaxConfig === false) {
text-decoration: underline;
+
    initMathjaxConfig();
}
+
  }window.MathJax.Hub.Queue(["Typeset", MathJax.Hub, document.getElementById('app')]);
 
+
</script>
#FudanFooter #usefulLinks div.active,
+
<script>
#FudanFooter #usefulLinks div.active a {
+
</script>
color: white;
+
}
+
 
+
#FudanFooter #usefulLinks div.active ul {
+
border-top: solid white 2px;
+
}
+
 
+
#FudanFooter #usefulLinks li {
+
padding: 3px 0 6px 3px;
+
list-style:none;
+
}
+
 
+
#usefulLinks span {
+
font-size: 20px;
+
}
+
+
 
+
#FudanFooter div.footer-copyright {
+
font-size: 13px;
+
line-height: 15px;
+
}
+
.footerUl{
+
margin:2% 4%;
+
}
+
</style>
+
 
+
<script>
+
+
$(document).ready(function(){
+
+
+
var winWidth=$(window).width();
+
+
if (winWidth>1100){
+
$(".navA").mouseenter(function(){
+
$(this).parent().find(".ul2").stop().fadeIn(400);
+
});
+
$(".navLi").mouseleave(function(){
+
$(this).find(".ul2").stop().fadeOut(400);
+
});
+
+
+
}
+
else{
+
$(".navA:not(.noSubmenu)").removeAttr("href");
+
$("#mobileNav").click(function(){
+
$("#navBar").toggle();
+
});
+
$(document).click(function(event){
+
var m = $("#mobileNav,#navBar");
+
if (!m.is(event.target)){
+
if (m.has(event.target).length===0){
+
$("#navBar").hide();
+
$(".open").parent().find(".navA").css("color","white");
+
$(".open").removeClass("open");
+
}
+
 
+
}
+
});
+
$(".navLi").click(function(){
+
if ($(this).find(".n2").hasClass("open")){
+
$(".open").parent().find(".navA").css("color","white");
+
$(this).find(".n2").removeClass("open");
+
}
+
else{
+
$(".open").parent().find(".navA").css("color","white");
+
$(".open").removeClass("open");
+
$(this).find(".n2").addClass("open");
+
$(this).find(".navA").css("color","#7dded4");
+
}
+
});
+
}
+
+
+
+
+
+
+
});
+
+
+
</script>
+
+
+
+
<div id="global_wrapper">
+
<div id="mobileNav">
+
+
<div id="mobileLogo"><img src="https://static.igem.org/mediawiki/2019/d/d3/T--Fudan-TSI--HomepageLogo.gif" class="logo"></div>
+
<div id="mobileControl"><img src="https://static.igem.org/mediawiki/2019/thumb/a/ae/T--Fudan-TSI--mobileCtrl.gif/683px-T--Fudan-TSI--mobileCtrl.gif" id="mobileCtrl"></div>
+
+
</div>
+
+
<ul id="navUl">
+
+
<li id="navImg">
+
<img src="https://static.igem.org/mediawiki/2019/d/d3/T--Fudan-TSI--HomepageLogo.gif" class="logo">
+
+
</li>
+
+
+
<ul id="navBar">
+
+
<li class="navLi"><a class="navA noSubmenu" href="https://2019.igem.org/Team:Fudan-TSI">Home</a></li>
+
+
<li class="navLi">
+
<a class="navA" href="https://2019.igem.org/Team:Fudan-TSI/Description">Project</a>
+
<div class="n2">
+
<ul class="ul2">
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Description">Description</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Design">Design</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Design" style="white-space:nowrap">Applied Design</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Experiment">Experiment</a></li>
+
</ul>
+
</div>
+
</li>
+
+
<li class="navLi">
+
<a class="navA" href="https://2019.igem.org/Team:Fudan-TSI/Results">Results</a>
+
<div class="n2">
+
<ul class="ul2">
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Results/Reverse_Transcription">Reverse Transcription</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Results/Recombination">Recombination</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Demonstrate">Demonstration</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Measurement">Measurement</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Notebook">Notebook</a></li>
+
</ul>
+
</div>
+
</li>
+
+
<li class="navLi">
+
<a class="navA" href="https://2019.igem.org/Team:Fudan-TSI/Model_Software">Model</a>
+
<div class="n2">
+
<ul class="ul2">
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Model">Modeling</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Software">Software</a></li>
+
</ul>
+
</div>
+
</li>
+
+
<li class="navLi">
+
<a class="navA" href="https://2019.igem.org/Team:Fudan-TSI/Parts">Parts</a>
+
<div class="n2">
+
<ul class="ul2">
+
<li class="li2"><a class="navA2" style="white-space:nowrap;" href="https://2019.igem.org/Team:Fudan-TSI/Basic_Part">Basic Parts</a></li>
+
<li class="li2"><a class="navA2" style="white-space:nowrap;" href="https://2019.igem.org/Team:Fudan-TSI/Composite_Part">Composite Parts</a></li>
+
<li class="li2"><a class="navA2" style="white-space:nowrap;" href="https://2019.igem.org/Team:Fudan-TSI/Improve">Improved Parts</a></li>
+
<li class="li2"><a class="navA2" style="white-space:nowrap;" href="https://2019.igem.org/Team:Fudan-TSI/Part_Collection">Part Collection</a></li>
+
</ul>
+
</div>
+
</li>
+
+
<li class="navLi">
+
<a class="navA" href="https://2019.igem.org/Team:Fudan-TSI/Human_Practices">Human Practices</a>
+
<div class="n2">
+
<ul class="ul2">
+
<li class="li2"><a class="navA2" style="white-space:nowrap;" href="https://2019.igem.org/Team:Fudan-TSI/Public_Engagement">Education &amp; <br />Public Engagement</a></li>
+
<li class="li2"><a class="navA2" style="white-space:nowrap;" href="https://2019.igem.org/Team:Fudan-TSI/Integrated_Human_Practice">Integrated <br />Human Practice</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Collaborations">Collaboration</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Safety">Safety</a></li>
+
</ul>
+
</div>
+
</li>
+
+
<li class="navLi">
+
<a class="navA" href="https://2019.igem.org/Team:Fudan-TSI/Team">Team</a>
+
<div class="n2">
+
<ul class="ul2">
+
<li class="li2"><a class="navA2" style="white-space:nowrap;" href="https://2019.igem.org/Team:Fudan-TSI/Team">Team Members</a></li>
+
<li class="li2"><a class="navA2" href="https://2019.igem.org/Team:Fudan-TSI/Team/Attribution">Attribution</a></li>
+
</ul>
+
</div>
+
</li>
+
+
<li class="navLi"><a class="navA noSubmenu" href="https://2019.igem.org/Team:Fudan-TSI/Awards">Awards</a></li>
+
+
</ul>
+
+
+
</ul>
+
 
+
<!----------------------------------------------------------------------------------------------------------------------------------------->
+
<!---- Cover ---->
+
<!----------------------------------------------------------------------------------------------------------------------------------------->
+
+
<div id="pageCover">
+
+
<script type="text/javascript" src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/bkg&amp;action=raw&amp;ctype=text/javascript"></script>
+
<script>
+
$(document).ready(function($){
+
var $root = $('html, body');
+
$('a[href^="#"]').click(function() {
+
var href = $.attr(this, 'href');
+
$root.animate({
+
scrollTop: $(href).offset().top
+
}, 1000, function () {
+
window.location.hash = href;
+
});
+
return false;
+
});
+
})
+
</script>
+
+
<svg id="demo" viewBox="0 0 1600 600" preserveAspectRatio="xMidYMid slice" style="z-index: -100;">
+
  <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 id="demoCover"><img id="coverPic" src="https://static.igem.org/mediawiki/2019/9/97/T--Fudan-TSI--coverSafety.gif"></div>
+
</div>
+
<style>
+
#pageCover{
+
width:100%;
+
margin:0;
+
padding-top:80px;
+
}
+
#demoCover{
+
width:100vw;
+
height:60vh;
+
position:absolute;
+
background-color:rgba(8,39,58,0.5);
+
top:80px;
+
left:0;
+
text-align:center;
+
}
+
#coverPic{
+
width:50vw;
+
margin:15vh auto;
+
}
+
#demo{
+
width:100vw;
+
height:60vh;
+
position:relative;
+
}
+
#demo svg {
+
  width: 100%;
+
  height: 100%;
+
  position: fixed;
+
}
+
#demo svg g {
+
  mix-blend-mode: lighten;
+
}
+
#demo svg polygon {
+
  stroke: none;
+
  fill: white;
+
}
+
+
@media only screen and (max-width:1100px){
+
#pageCover{
+
padding-top:55px;
+
}
+
#demoCover{
+
top:55px;
+
}
+
#demo{
+
height:30vh;
+
}
+
#coverPic{
+
width:50vw;
+
margin:7vh auto;
+
}
+
}
+
@media only screen and (max-width:992px){
+
#pageCover{
+
padding-top:55px;
+
}
+
#demoCover{
+
top:55px;
+
}
+
#coverPic{
+
width:55vw;
+
margin:6vh auto;
+
}
+
}
+
@media only screen and (max-width:768px){
+
#pageCover{
+
padding-top:55px;
+
}
+
#demoCover{
+
top:55px;
+
}
+
#coverPic{
+
width:70vw;
+
margin:8vh auto;
+
}
+
}
+
</style>
+
<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");
+
}
+
}
+
+
+
// 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;
+
}
+
}
+
 
+
 
+
// point outside circumcirc = leave candidates
+
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);
+
  }
+
  }
+
  }
+
+
+
// 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>
+
+
 
+
 
+
<!----------------------------------------------------------------------------------------------------------------------------------------->
+
<!---- Left Navigator ---->
+
<!----------------------------------------------------------------------------------------------------------------------------------------->
+
+
 
+
<ul class="leftNav" style="margin:0;padding:0;">
+
+
<li class="leftNavLi"><a class="leftNavA" href="#mainTitle1">Motivation</a></li>
+
<li class="leftNavLi"><a class="leftNavA" href="#mainTitle2">Theoretical basis</a></li>
+
<li class="leftNavLi"><a class="leftNavA" href="#mainTitle3">User guidelines</a></li>
+
<li class="leftNavLi"><a class="leftNavA" href="#mainTitle4">References</a></li>
+
</ul>
+
+
<style>
+
.leftNav{
+
position: absolute;
+
top:20vw;
+
left:4%;
+
list-style: none;
+
z-index: 3;
+
text-align:left !important;
+
width:15vw;
+
}
+
.leftNav .leftNavA2{
+
position: relative;
+
}
+
.leftNav .leftNavA2:before {
+
content: "";
+
display: inline-block;
+
width: 5px;
+
height: 5px;
+
background-color: rgba(55,55,62,0.7);
+
border-radius: 50%;
+
position: absolute;
+
left: 0.3vw;
+
top:50%;
+
margin: 0;
+
padding: 0;
+
transform: translateY(-50%);
+
}
+
.leftNavUl2{
+
list-style: none;
+
}
+
.leftNavA{
+
display: block;
+
font-size: 1.1vw;
+
font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
+
padding: 0.2vw 0.8vw;
+
color:#4CA198;
+
text-decoration: none;
+
}
+
.leftNavLi2{
+
width: 13vw;
+
margin:0.3vw  0;
+
line-height: 17px;
+
}
+
.leftNavA:visited{
+
text-decoration: none;
+
color:#4CA198;
+
}
+
.leftNavA:focus{
+
text-decoration: none;
+
color:#4CA198;
+
}
+
.leftNavA:hover,.leftNavA:active{
+
text-decoration: none;
+
color: #B0EBE4;
+
}
+
 
+
.leftNavA2{
+
display: block;
+
font-size: 1vw;
+
font-family:Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, "sans-serif";
+
padding: 0.1vw 1.5vw;
+
color:rgba(168,168,168,1);
+
text-decoration: none;
+
}
+
.leftNavA2:visited{
+
text-decoration: none;
+
color:rgba(168,168,168,1);
+
}
+
.leftNavA2:focus{
+
text-decoration: none;
+
color:rgba(168,168,168,1);
+
}
+
.leftNavA2:hover,.leftNavA2:active{
+
text-decoration: none;
+
color: white;
+
}
+
.menu-active,.menu-active:focus{
+
text-decoration: none;
+
color: white;
+
}
+
.menu-active2,.menu-active2:focus{
+
text-decoration:none;
+
color:#B0EBE4;
+
}
+
+
+
@media only screen and (max-width:768px){
+
.leftNav{
+
display:none;
+
}
+
}
+
</style>
+
 
+
 
+
+
<div id="pageContent">
+
<!----------------------------------------------------------------------------------------------------------------------------------------->
+
<!---- Content ---->
+
<!----------------------------------------------------------------------------------------------------------------------------------------->
+
+
<div class="container" id="containerWithLeftNav">
+
<div class="row">
+
+
+
<div class="row title2" id="mainTitle1">
+
<div class="col">Motivation</div>
+
</div>
+
+
<div class="row para1">
+
<div class="row">
+
<div class="col">
+
Previous studies have shown that a tRNA primer is required for the initiation of reverse transcription <a>(Dahlberg et al.)</a>. In our system, we express the tRNA primer in E.coli by cloning it onto the plasmid that is used for generating the tools for mutation, i.e. P_mutant. However, designing the primer sequence according to different target sequences is time-consuming and needs many adjustments to find the perfect match. This motivates us to build a software for tRNA primer designing.
+
</div>
+
</div>
+
</div>
+
+
<div class="row title2" id="mainTitle2">
+
<div class="col"><i>Theoretical basis</i></div>
+
</div>
+
+
<div class="row para1">
+
<div class="row">
+
<div class="col">
+
Previous studies have reported that the interactions between tRNA primer and mRNA template as well as the reverse transcriptase are crucial in directing subsequent cDNA synthesis <a>(James E. Dahlberg et al.)</a>. Specifically, according to the model for reverse transcription proposed by Kulpa et al., reverse transcription includes 5 steps (Fig. 1), in which the annealing of tRNA primer to the primer binding site (PBS) region on mRNA template is crucial for the synthesis of minus strand strong stop DNA (–ssDNA) and the following cDNA synthesis process. <br /><br />
+
Many researchers have studied the reverse transcription process in viruses, from which we find two critical properties in the annealing process of tRNA primer and PBS that should be taken into consideration when building the tRNA primer designer. <br /><br />
+
The first property is that the 3'-terminal of the tRNA primer should be complementary to the PBS on mRNA template <a>(Kosloff et al.)</a>(Kosloff et al.). The second one is that different viruses prefer specific type of tRNA primer for reverse transcription <a>(Kulpa et al.,</a><a> Kosloff et al.)</a>. What should also be noted is that for different viruses, the lengths of PBS as well as the types of tRNA primer are different. The PBS lengths and the preferred tRNA types of 3 most well-studied retroviruses are listed in Table I.<br /><br />
+
These discoveries serve as the theoretical basis for our tRNA primer designer. So basically, the function of our tRNA primer designer is to change the tRNA template in order to suit the basic properties of the reverse transcriptase (MMLV RT/ HIV-1 RT/ RSV RT) selected by the user as well as to replace several nucleotides (17 or 18) on 3'-terminal of the tRNA templates to match with nucleotides at the 5'-terminal of the GOI which users input. Also, to make sure that the RNA sequence is a tRNA sequence, the secondary structure should be revealed. We achieve this goal by using the similar tRNA secondary structure prediction scheme as the one implemented in the opensource software tRNAfinder <a>(Kurokawa et al.)</a>.<br /><br />
+
Studies have shown that the primary factor guiding the selection of tRNA primer for MMLV RT is the PBS sequence instead of the inherent nature of reverse transcriptase <a>(A. H. Lund et al.,</a><a> S. P. Goff et al.)</a>. So, by making mutations on both the PBS and tRNA sequence, the researchers have found that reverse transcription could still successfully take place while the virus’ titer is not greatly affected. Also, after several cycles of replication, the mutated sequence is not changed back to its original version <a>(Pedersen et al., 1997)</a>. Even though it is found that the primer is not stringent for MMLV, studies have revealed that the tRNA-like structure is necessary. A study that the inclusion of one single non-Watson-Crick base pair between PBS and tRNA primer would improve the replication efficiency (F. S. Pedersen et al., 1993), but we didn’t adopt this construct as the one base pair mismatch would often be changed to the full-complementary version after the first cycle of replication <a>(Pedersen et al., 1997)</a>(Pedersen et al., 1997), making this addition unnecessary.
+
 
+
</div>
+
</div>
+
</div>
+
+
<div class="row title2" id="mainTitle3">
+
<div class="col"><i>User guidelines</i></div>
+
</div>
+
+
<div class="row para1">
+
<div class="row">
+
<div class="col">
+
Our tRNA primer designer is a web tool for potential users of our mutagenesis system to design their own tRNA primers according to their experimental setups. Here we provide a step-by-step guide to using this software.<br /><br />
+
Step 1. Input a DNA sequence that you want to mutate. The last 18 nucleotides of the sequence are selected to be PBS. Note that this sequence should be longer than 18 nucleotides. Besides, it shouldn't contain any characters other than A/T/C/G.<br /><br />
+
Step 2. Choose the type of reverse transcriptase that you want to use based on your experimental design. Note that this software only allows you to choose from MMLV RT/ HIV-1 RT/ RSV RT.<br /><br />
+
Step3. Click on the "DESIGN FOR ME!!!" button and see the result. The result is composed of two parts. The first part shows you the secondary structure of the template tRNA that you will be using as well as the designed tRNA primer. The fragment that can be annealed to PBS of the input DNA sequence is shown in red. The second part will give you the DNA sequence encoding the tRNA primer that satisfies your need. You can just copy it and use it elsewhere.
+
</div>
+
</div>
+
</div>
+
+
<div class="row title2" id="mainTitle4">
+
<div class="col"><i>References</i></div>
+
</div>
+
+
<div class="row para1">
+
<div class="row">
+
<div class="col">
+
<ul class="paraUl" style="list-style:none;">
+
<li>[1]: Peters G , Dahlberg J E . RNA-directed DNA synthesis in Moloney murine leukemia virus: interaction between the primer tRNA and the genome RNA.[J]. Journal of Virology, 1979, 31(2):398-407.</li>
+
<li>[2]: Kulpa, D. Determination of the site of first strand transfer during Moloney murine leukemia virus reverse transcription and identification of strand transfer-associated reverse transcriptase errors[J]. EMBO (European Molecular Biology Organization) Journal, 1997, 16(4):856-865.</li>
+
<li>[3]: Palmer M T , Kirkman R , Kosloff B R , et al. tRNA Isoacceptor Preference prior to Retrovirus Gag-Pol Junction Links Primer Selection and Viral Translation[J]. Journal of Virology, 2007, 81(9):4397-4404.</li>
+
<li>[4]: Kinouchi M , Kurokawa K . [Special Issue: Fact Databases and Freewares] tRNAfinder: A Software System To Find All tRNA Genes in the DNA Sequence Based on the Cloverleaf Secondary Structure[J]. Journal of Computer Aided Chemistry, 2006, 7:116-124.</li>
+
<li>[5]: Lund, Anders H. et al. “Mutated primer binding sites interacting with different tRNAs allow efficient murine leukemia virus replication.” Journal of virology, 67 12 (1993): 7125-30.</li>
+
</ul>
+
</div>
+
</div>
+
</div>
+
+
+
</div>
+
+
 
+
 
+
</div>
+
+
 
+
+
</div>
+
+
+
+
<!----------------------------------------------------------------------------------------------------------------------------------------->
+
<!---- Foot ---->
+
<!----------------------------------------------------------------------------------------------------------------------------------------->
+
+
<footer id="FudanFooter" class="page-footer grey">
+
+
<div class="container" id="footContainer">
+
<div class="row">
+
<div class="col-md-4" id="sponser" style="padding-top:3%;">
+
<div class="row">
+
<div class="col-sm-6" style="padding:0;">
+
<div class="row align-items-center">
+
<div class="col">
+
<img class="img-fluid" alt="Team Fudan-TSI" src="https://static.igem.org/mediawiki/2019/0/0f/T--Fudan-TSI--LogoGrey.gif" />
+
</div>
+
<div class="col">
+
<img class="img-fluid" alt="Fudan University" src="https://static.igem.org/mediawiki/2018/f/f7/T--Fudan--schoolLogo.png" />
+
</div>
+
</div>
+
</div>
+
<div class="col-sm-6" style="padding:0;">
+
<div class="row align-items-center">
+
<div class="col">
+
<img class="img-fluid" alt="School of Life Sciences, Fudan University" src="https://static.igem.org/mediawiki/2018/1/1d/T--Fudan--schoolOfLifeSciencesIcon.png" />
+
</div>
+
<div class="col">
+
<img class="img-fluid" alt="Yunfeng Capital" src="https://static.igem.org/mediawiki/2018/e/e2/T--Fudan--yunfengLogo.png" />
+
</div>
+
</div>
+
</div>
+
</div>
+
<div class="row">
+
<h3 class="col s12" style="text-align: left; color: rgba(255, 255, 255, 0.8); font-size:12.5px; margin-top:5px;">R-Evolution: an <i>in vivo</i> sequence-specific toolbox for continuous mutagenesis</h3>
+
</div>
+
</div>
+
+
<div class="col-md-8" id="usefulLinks">
+
<div class="row">
+
<div class="col-lg-6" style="padding:0;">
+
<div class="row">
+
+
<div class="col-sm-4">
+
<div class="footerUl align-items-center">
+
<span><a href="/Team:Fudan-TSI/Description" style="text-decoration:none;">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>
+
+
<div class="col-sm-4">
+
<div class="footerUl align-items-center">
+
<span><a href="/Team:Fudan-TSI/Results" style="text-decoration:none;">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>
+
+
<div class="col-sm-4">
+
<div class="footerUl align-items-center active">
+
<span style="text-decoration:none;">Model</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>
+
</div>
+
<div class="col-lg-6" style="padding:0;">
+
<div class="row">
+
+
<div class="col-sm-4">
+
<div class="footerUl align-items-center">
+
  <span><a href="/Team:Fudan-TSI/Parts" style="text-decoration:none;">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>
+
+
<div class="col-sm-4">
+
<div class="footerUl align-items-center">
+
  <span><a href="/Team:Fudan-TSI/Human_Practices" style="text-decoration:none;">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>
+
+
<div class="col-sm-4">
+
<div class="footerUl align-items-center">
+
  <span><a href="/Team:Fudan-TSI/Team" style="text-decoration:none;">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">&#169; 2019</a></li>
+
</ul>
+
</div>
+
</div>
+
+
</div>
+
</div>
+
+
+
</div>
+
</div>
+
</div>
+
</div>
+
+
<div class="footer-copyright">
+
<div class="container" style="width:90%;">
+
<div class="contactUS row">
+
  <div class="col s12 m6 l6"><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 l2"><i class="fa fa-twitter"></i> <i class="fa fa-wechat"></i> Fudan_iGEM
+
  </div>
+
</div>
+
</div>
+
</div>
+
</footer>
+
+
+
 
+
</div>
+
 
+
+
+
<script>
+
+
var winHeight=$(window).height();
+
var winWidth=$(window).width();
+
var pagePosition=$("#pageContent").offset().top;
+
var navHeight=$(".leftNav").height();
+
var footerHeight=$("#FudanFooter").height();
+
var maxTopDistance=$("#pageContent").height();
+
$(".leftNav").css({"position":"absolute","top":pagePosition});
+
$(window).resize(function(){
+
var winHeight=$(window).height();
+
var winWidth=$(window).width();
+
var topDistance=$(window).scrollTop();
+
var navHeight=$(".leftNav").height();
+
var footerHeight=$("#FudanFooter").height();
+
var maxTopDistance=$("#pageContent").height();
+
var leftNavFromTop=pagePosition-$(window).scrollTop();
+
if (leftNavFromTop<0.1*winWidth){
+
if(topDistance<maxTopDistance){
+
$(".leftNav").css({"position":"fixed","top":0.1*winWidth+$("#top_menu_14").height()});
+
}
+
else{
+
$(".leftNav").css({"position":"absolute","top":maxTopDistance});
+
}
+
}
+
else{
+
$(".leftNav").css({"position":"absolute","top":pagePosition});
+
}
+
});
+
 
+
$(window).scroll(function(){
+
var winHeight=$(window).height();
+
var winWidth=$(window).width();
+
var leftNavFromTop=pagePosition-$(window).scrollTop();
+
var topDistance=$(window).scrollTop();
+
if (leftNavFromTop<0.1*winWidth){
+
if(topDistance<maxTopDistance){
+
$(".leftNav").css({"position":"fixed","top":0.1*winWidth+$("#top_menu_14").height()});
+
}
+
else{
+
$(".leftNav").css({"position":"absolute","top":maxTopDistance});
+
};
+
}
+
else{
+
$(".leftNav").css({"position":"absolute","top":pagePosition});
+
}
+
});
+
+
$(".leftNav a").click(function () {
+
$('html, body').animate({
+
scrollTop: $($.attr(this, 'href')).offset().top-$("#navUl").height()-50
+
}, 500);
+
return false;
+
});
+
 
+
 
+
$(window).scroll(function(){
+
+
var currentScroll=$(this).scrollTop();
+
var firstHeight=$("#pageCover").height();
+
var footerFromTop=$("#FudanFooter").offset().top;
+
var $currentSection=null;
+
$(".leftNavA").each(function(){
+
$('.leftNavA').removeClass('menu-active');
+
var hePoint=$($(this).attr("href"));
+
var divPosition=hePoint.offset().top-$("#navUl").height()-50;
+
if (divPosition-1<currentScroll){
+
$currentSection=$(this);
+
}
+
if (currentScroll>firstHeight){
+
$(".leftNavA").removeClass("menu-active");
+
$currentSection.addClass("menu-active");
+
}
+
});
+
+
var $currentSection2;
+
$('.leftNavA2').each(function(){
+
$('.leftNavA2').removeClass('menu-active2');
+
var hePoint2=$($(this).attr("href"));
+
var divPosition2=hePoint2.offset().top-$("#navUl").height()-50;
+
if (divPosition2-1<currentScroll){
+
$currentSection2=$(this);
+
}
+
if (currentScroll>firstHeight){
+
$('.leftNavA2').removeClass('menu-active2');
+
$currentSection2.addClass('menu-active2');
+
}
+
});
+
});
+
 
+
</script>
+
+
 
+
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+
+
 
+
 
+
+
+
+
+
+
+
 
+
<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------    Content ends    --------------------------------------------------------------------------------------------------------------------------------->
+
<!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+
  
 +
</body>
 
</html>
 
</html>

Latest revision as of 05:58, 16 November 2019

Modeling | 2019 iGEM Team:Fudan-TSI


Modeling

In our modeling, we successfully simulated the function of our mutagenesis system, and contributed to improve our experimental setup. Modeling acted as a shortcut of answering questions concerning experimental setup and revealed new insights into our system. Thus, we believe that our modeling work is very competitive for the best modeling prize.

cover gif 1st added

Overview

Our mutagenesis system uses the BL21(DE3) E. coli strain transformed with two plasmids, a stringent plasmid named Ptarget carrying the target sequence that we want to mutate, and a relaxed plasmid named Pmutant, carrying the gene encoding the tools necessary for mutagenesis, i.e. reverse transcriptase (RT) and Cre.

As we are designing a brand-new mutagenesis system inside E. coli, we want to demonstrate whether and under what condition it can work, so we turn to modeling to answer these questions. Our modeling work is comprised of 3 parts. 1) We used 3 deterministic models to describe the 3 reaction steps of our system—induced expression, reverse transcription and recombination. This allows us to compute and maximize the yield of the recombined Ptarget which in turn, contributes to the optimization of our experimental setup. 2) We simulated the recombination process stochastically and calculated the number of recombined products that occurred during one replication cycle of E. coli. 3) We combined the 3 reaction steps together using deterministic model and found that selecting the least efficient degradation tag for Cre is optimal.

Part I: Deterministic model to compute the yield of recombined Ptarget

When we were constructing the plasmid, we encountered a dilemma concerning how RT and Cre should be expressed. Firstly, we thought of putting them both under a same Lac operon so that their expression can be easily induced merely by one kind of inducer—IPTG. Meanwhile, we also considered using different inducers to achieve a more modular design which would be easier to control. As it would take a long time to test which induced expression scheme is better through experiments, we used modeling to test the two constructs. We modelled all the reactions involved and computed the yield of the desired product, i.e. recombined Ptarget. Through comparison of the yield acquired using these two induced expression schemes, we decided that the latter scheme should be employed for our system to perform better.

By common knowledge we can assume that, if the amount of RT and Cre needs to be different to achieve optimal yield, we should choose the second scheme and put them under different operons. On the contrary, if the yield reaches the maximum under the maximum amount of RT and Cre, the first scheme should be chosen.

In our initial attempt, we found that modeling all the reactions involved is rather difficult, as the reactions are in such a large number and all mixed together. This circumstance makes inspection of the reasonability of our models and parameters impossible. To overcome this issue, we decided to separate these reactions into three sub-models and use the steady-state concentration of the substances derived from the previous model as the input of the next model. The three sub-models are: induced expression model, reverse transcription model and Cre recombination model, corresponding to the 3 reaction steps in R-Evolution. The schematic diagram is shown in Figure 1.

Figure 1. Workflow of the model.
Three Grey boxes indicate three major reaction steps in R-Evolution. Arrows indicate the reaction that certain substance is involved. White arrows indicate the case in which substances that originally exist in E. coli act as inputs. Red arrows indicate the case in which intermediates, which are produced in the previous reaction, are generated or involved in next reaction process. The blue arrow indicates the final output that we would like to observe. Inducer – IPTG or aTc (anhydrotetracycline). RT – reverse transcriptase. Cre – Cre recombinase. cDNA – complementary DNA.

Induced Expression Model

We first assumed that both genes encoding RT and Cre are placed together under a lac operon (Figure 2a). The repressor protein LacI is stably expressed in the cell, 2 molecules of LacI will form a dimer which binds to LacO DNA fragment and represses the expression of RT and Cre. When IPTG is added and transported into the cell, IPTG molecules will bind with LacI and inhibit its binding to LacO. In this way, RT and Cre can be rescued from suppression (Nikos et al.). The ordinary differential equations (ODEs) describing these processes are shown as follows. Details of the substance names, parameter names and chemical equations can be found in the appendix.

According to our modeling result, the amount of target protein (RT and Cre) will be extremely low when IPTG is not added (Figure 2b). The origin point represents the time when an E. coli comes into being through reproduction. As a result, the lac operon is not fully repressed by LacI dimer, causing a leakage expression of target protein (from 0 min to 1 min, Figure 2b&c). After that, due to slow degradation rate of the target protein’s mRNA as well as the target protein itself, the amount of target protein will continue to accumulate to a certain amount after the lac operon is fully repressed (from 1 min to 5 min, Figure 2b&c). Finally, the degradation process removes target protein from the system (from 5 min to 50 min, Figure 2b). When IPTG is added, we find that the concentration of protein product quickly rises as the repression of lac operon is quickly removed (from 50 min to 100 min, Figure 2b&c). The steady-state concentration is 6.70 μM. This number will be used for further analysis.

Figure 2. Induced expression of RT and Cre.
a) Schematic diagram of the model. b) Dynamics of target protein. Horizontal axis shows the length of time. Vertical axis demonstrates the amount of protein (RT and Cre) within the system. RT and Cre are expressed under the same Lac operon. c) Dynamics of free lac operon. Horizontal axis shows the length of time. Vertical axis demonstrates the amount of free lac operon, i.e. the lac operon unbound by tetR dimer, within the system. The vertical magenta line indicates the moment when 50μM is added to the system.

Reverse Transcription Model

From the first model, the concentration of both RT and Cre are acquired. The concentration of RT serves as input to the reverse transcription model. As the schematic diagram depicts (Figure 3a), tRNA primer first binds with reverse transcriptase. When this complex binds with a certain fragment on the target sequence, which is called primer binding site (PBS), the reverse transcription will start and cDNA will be synthesized.

Although a more elaborate model of reverse transcription has been proposed by Kulpa et al., it includes many reactions whose kinetic properties are not well characterized. As a result, we simplified that model and came up with our own. The ODEs describing these processes are shown as follows. Details of the substance names, parameter names and chemical equations we used can be found in the appendix.

The modeling result is shown in Figure 3b. It shows that the concentration of cDNA will accumulate at the presence of RT (whose initial concentration is 6.70 μM, computed by the induced expression model) and finally reach a steady-state of 9.60 nM. This number will be used for further analysis.

Figure 3. Reverse transcription.
a) Schematic diagram of the model. b) Dynamics of cDNA. Horizontal axis shows the length of time. Vertical axis demonstrates the amount of cDNA within the system.

Cre Recombination Model

Our first assumption is that the genes encoding RT and Cre are both placed under lac operon and thus be expressed in the same amount. So now we are about to compute the yield of our desired product to identify whether this experimental setup is feasible. The model of the recombination process has been clearly described by Ehrilich et al. We made some changes to it according to our own experimental design. The schematic diagram is shown in Figure 4a. The ODEs describing these processes are shown as follows. Details of the substance names, parameter names and chemical equations can be found in the appendix.

As is shown in the diagram, 2 Cre molecules bind with 1 loxP site successively, either on cDNA or Ptarget. Four Cre molecules will form a Holliday junction, and thus starting the recombination reaction. Two pairs of loxP will work together and complete the strand exchange between cDNA and Ptarget. After that, the recombined product is produced. What we are interested in is the percentage of recombined Ptarget among all Ptargets in one E. coli. So, we turn to compute that percentage based on the model that we have established.

Unfortunately, we found that the amount of substances is too small. For example, the concentration of Ptarget is only 10 nM, which means there are only about 5 molecules of in one cell. These small numbers caused some computational problems in Matlab when we were using its ODE solver (ode15s). To address this problem, we converted the units of the amount of the substances from mole per litter (M) to molecule. The units of the kinetic parameters are also converted accordingly.

Now, the recombination step is modeled under the initial condition of 5 molecules of non-mutated , 3228 molecules of Cre and 5 molecules of cDNA (Figure 4b). The last two numbers are the outputs of previous models after going through some unit conversion steps.

After a long period of reaction, no recombined Ptarget showed up. It is because there are too many Cre molecules so s are all bounded by them and remain in the intermediate form. What’s more, can't bind with T7 RNA polymerase and be transcribed as a consequence of Cre occupation. This leads to the system’s inability of undergoing further reverse transcription process, stopping cDNA’s production, resulting in a stop of the system, and rendering mutation accumulation impossible (Figure 4c).

This result tells us that the number of Cre molecules needs to be much lower for the system to function. We then set out to determine how many Cre is optimal. After we fed the recombination model with cDNA and Cre at different concentrations, the problem seems to be clear as the yield of recombined varies greatly responding to different numbers of cDNA and Cre (Figure 4d). When cDNA is confined to 5 molecules, we will get no yield at all in the period of E. coli's replication cycle if the concentration of Cre is greater than 20 molecules. Instead, the yield is maximized when the final Cre concentration is around 2 molecules (Figure 4e).

We use the optimized number of Cre as the input to our third model. The result is shown in Figure 4f, which is satisfactory. The recombined Ptarget) finally occurs and has a chance to bind with T7 RNA polymerase, which means mutated gene of interest could be transcribed and further mutated, thus making the accumulation of mutations possible (Figure 4g).

Figure 4. Cre recombination (deterministic).
a) Schematic diagram of the model. Ps, Un-recombined Ptarget. Pp, Recombined Ptarget. b-c) Recombination when Cre is expressed under Lac operon. Dynamics of the percentage of un-recombined/ recombined Ptarget among all Ptargets is shown in b. Horizontal axis shows the length of time (8 hours, corresponding to R-Evolution’s function period). The distribution of the percentage of substances at the steady-state is shown in c. d) Yield of recombined Ptarget at different initial number of cDNA and Cre. The yield of recombined Ptarget is calculated as the percentage of recombined Ptarget among all Ptargets. The horizontal white line corresponds to current situation where the initial number of cDNA is 5 molecules in one E. coli. e) Yield of recombined Ptarget at different initial number of Cre when initial number of cDNA is 5 molecules. f-g) Recombination when Cre is expressed under different operon. Dynamics of the percentage of un-recombined/ recombined Ptarget among all Ptargets is shown in f. The distribution of the percentage of substances at the steady-state is shown in g.

These results remind us to use different inducer to induce the expression of RT and Cre. So, we revised our experimental design and decided to use Tet operon to control the expression of Cre and induce that with anhydrotetracycline (aTc). Even though we later used degradation tag to accelerate the degradation process of Cre and to decrease the expression level of Cre, considering the fact that the tet operon is less prone to leakage and that using merely lac operon to control the expression of RT and Cre may cause unexpected problems, we still used different operons to control the expression of RT and Cre. This setup will be considered in the model in Part III.

There is still something that is not well explained in our current model. The final percentage of recombined Ptarget is around 1.5%. The unit of the substance is molecules, so it means there is 0.075 recombined Ptarget in one cell, which is unrealistic. This problem reflects that converting the unit of substance into molecule when doing deterministic modeling cannot offer a precise description of the system’s status. We then used stochastic modeling techniques to determine whether and how many recombined Ptargets will show up in one replication cycle of E. coli.

Part II: Stochastic model to compute times of occurrence of recombined Ptarget

We use Gillespie algorithm in stochastic modeling. The procedure of this algorithm is shown as follows in the form of pseudocode.

  1. Step 1: Initialize the reaction system at \(t=0\) with rate constants \(c_1, c_2, ......, c_v\) as initial numbers of molecules \(x_1, x_2, ......, x_u\) corresponding to \(v\) reactions and \(u\) sustances (both reactants and products) involved in the reaction system.
  2. Step 2: For each \(i=1,2,......,v\), calculate the hazard for the \(i^{th}\) type of reaction, denoted as \(h_i(x,c_i)\) based on current substance number \(x\).
  3. Step 3: Calculate the combined reaction hazard \(h_0(x,c)=\Sigma_{i=1}^{v}h_i(x,c_i)\).
  4. Step 4: Simulate the time to the next reaction, \(t^{'}\) , which is a random quantity that obeys exponential distribution with parameter \(\lambda\).
  5. Step 5: Put \(t:=t+t^{'}\).
  6. Step 6: Simulate the reaction index, \(j\). The probability that the \(j^{th}\) reaction can occur is \(\frac{h_i(x,c_i)}{h_0(x,c)}, i=1,2,......,v.\).
  7. Step 7: Update \(x\) according to reaction \(j\), which means putting \(x:=x+S^{(j)}\), where \(S^{(j)}\) denotes the \(j^{th}\) colomn of the stoichiometry matrix \(S\). The \(j^{th}\) column of denotes the change in substance number caused by the \(j^{th}\) reaction.
  8. Step 8: Record time \(t\) and current substance number \(x\).
  9. Step 9: If \(t\ \text{<}\ T_{max}\), return to step 2. \(T_{max}\) corresponds to the maximum duration of the reaction set by the user.
  10. Step 10: Plot the result to see the dynamic of the quantity of the substance that you are interested in.
  11. Although the algorithm is rather simple, basic mathematical skills is required to understand its theoretical basis. You may consult the book written by Wilkinson and Darren for a thorough understanding. The result is shown in Figure 5.

    Figure 5. Cre recombination (stochastic).
    Horizontal axis shows the length of time (20 min, corresponding to the duration of 1 E. coli replication cycle). Vertical axis demonstrates the number of recombined Ptarget. The initial number of Cre is 2 molecules in a, 3228 molecules in b.

    The result demonstrates that recombined Ptargets do occur and two rounds of reverse transcription and recombination can take place in one replication cycle of E. coli (1200 s) (Figure 5a). On the contrary, no recombined will come out within that period if the initial cDNA is 5 molecules and initial Cre is 3228 molecules (Figure 5b). This again demonstrates the necessity of putting RT and Cre under different induction setups. The fluctuation of the number of recombined Ptarget is due to the backward reaction that Cre can rebind with recombined and reverting the action, making it not counted as recombined Ptarget by the algorithm.

Part III: Deterministic model to determine optimal induction time

To ensure the evolved protein is encoded by the mutated GOI sequence that is recombined into Ptarget, we decided to use degradation tag to accelerate the degradation process of Cre. This design would make Cre only function when inducer is in the system, thus allowing stringent control of the protein. However, we then face the problem of how to select the optimal degradation tag.

Empirically, to minimize the duration of recombination, we tend to choose degradation tags with higher efficiency, but extremely high degradation rate will also reduce the yield of recombined Ptarget, leading to decreased library size. Also, it is impractical for researchers to do experiments to test these degradation tags one by one. For these reasons, we are going to use models to find out the optimal degradation tag that should be added to Cre based on the average yield of recombined Ptarget at the end of R-Evolution functioning period (8 hours).

We intend to use the models described in Part I, combined with aTc induction model proposed by Steel et al. to compute the yield of recombined Ptarget under different degradation rate of Cre (the reason why Tet operon is used has been elaborated in Part I; the schematic diagram of this process is shown in Figure 6a. The ODEs describing these processes are shown as follows. Details of the substance names, parameter names and chemical equations we used can be found in the appendix.

Although the setup in Part I successfully provided us with a clear insight into the reactions and dynamic changes of substances that underlie our mutagenesis system, the simplification that the steady-state substance concentrations of previous models can be used as inputs for subsequent models doesn’t match real reaction situation. For example, when Cre is expressed, it can immediately bind with cDNA and initiate recombination. This fact contradicts with our model assumption that recombination only takes place after both Cre and cDNA has reached their steady-state concentration.

To overcome this issue, we decided to combine all three sub-models together and calculate the expected output. As a result of the impreciseness of the basic assumption of the models in Part I, we only gave a qualitative conclusion that the amount of RT and Cre should be different. Here we need to quantify how Cre degradation rate and steady-state concentration affects the yield of recombined Ptarget. That’s why we employed deterministic model here to combine the separate steps together into one and better simulate real intracellular circumstances.

By combining the models that have been talked above, we revealed the reason why the degradation tag with a moderate degradation rate, which can’t be too high or too low, should be selected (Figure 6b): under appropriate inducer concentration (20~22uM), when the degradation rate is relatively low (below 0.1 min-1), the yield of recombined Ptarget will increase according to the increase of Cre degradation rate, but when that rate is sufficiently high (above 0.1 min-1), the increase of Cre degradation rate will do harm to the yield of recombined Ptarget.

Figure 6. Whole process simulation considering Cre degradation tag.
a) Chemical reactions involved in Cre induced expression. b) Yield of recombined Ptarget at different Cre degradation rate and aTc dosage. The white line on the left corresponding to the case where the degradation rate of Cre is 0.2 min-1. The white line on the left corresponding to the case where the degradation rate of Cre is 0.69 min-1. c) Yield of recombined Ptarget at different Cre degradation rate and aTc dosage (3D plot). The range of Cre degradation rate is 0.2~0.69 min-1. d) Dynamics of yield of recombined Ptarget at the Cre degradation rate of 0.2 min-1 and the initial 22 μM aTc dosage. e) Dynamics of yield of recombined Ptarget at the Cre degradation rate of 0.2 min-1 and the initial 22 μM aTc dosage.

The average degradation rate acquired from literature is 0.2 min-1(Nikos et al.) and the degradation rate of Cre when tagged with the most efficient degradation tag is 0.69 min-1. Within this range of degradation rate, the maximum yield of recombined Ptarget will decrease according to the increase of Cre degradation efficiency (Figure 6c). So we decided to use the least efficient degradation tag.

We also revealed the dynamic change of the recombined Ptarget. It will continuously accumulate within Cre function period (Figure 6d). However, the concentration remains to be low within that period, due to Cre degradation (Figure 6e).

Finally, there is another interesting phenomenon that is worth mentioning. From Figure 6b and Figure 6c, we can find that for each degradation tag rate greater than 0.2 min-1, there exits a range of aTc dosage that can make the yield of recombined relatively big. Also, decreased degradation efficiency enlarges that range. This discovery provides us with another reason for using less efficient degradation tag in that it can increase the robustness of our mutagenesis system by decreasing its sensitivity to the change of inducer dosage.

In summary, in the deterministic model, we combined the three minor models proposed previously and assessed the mutagenesis system in whole. Through this addition, we achieved a better simulation of the real intracellular reactions and answered the question of when Cre should be induced for the highest level of recombination efficiency to be obtained.

Appendix

You can access the Matlab codes of our models from our Github repository.

Please consult the following file for a clearer understanding of the formulation of the model.

Here is the link to download the file above.

References

  1. [1] Stamatakis M, Mantzaris N V. Comparison of Deterministic and Stochastic Models of the lac Operon Genetic Network[J]. Biophysical Journal, 2009, 96(3):887-906.
  2. [2] Kulpa, D. Determination of the site of first strand transfer during Moloney murine leukemia virus reverse transcription and identification of strand transfer-associated reverse transcriptase errors[J]. EMBO (European Molecular Biology Organization) Journal, 1997, 16(4):856-865.
  3. [3] Ringrose L, Lounnas V, Ehrlich L, et al. Comparative kinetic analysis of FLP and cre recombinases: mathematical models for DNA binding and recombination[J]. Journal of Molecular Biology, 1998, 284(2):0-384.
  4. [4] Wilkinson, Darren J. Stochastic modeling for Systems Biology, Second Edition[M]. Crc Press, 2011.
  5. [5] Harris A W K, Kelly C L, Steel H, et al. The autorepressor: A case study of the importance of model selection[C]. Decision & Control. IEEE, 2018.