|
|
(35 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | <html lang="en" dir="ltr" class="client-nojs">
| |
− | <head>
| |
− | <meta charset="UTF-8" />
| |
− | <title>Team:Heidelberg/internal tools - 2017.igem.org</title>
| |
− | <meta name="generator" content="MediaWiki 1.24.1" />
| |
− | <meta name="viewport" content="with=device-with, initial-scale=1.0"/>
| |
− | <link rel="alternate" type="application/x-wiki" title="Edit" href="/wiki/index.php?title=Team:Heidelberg/internal_tools&action=edit" />
| |
− | <link rel="edit" title="Edit" href="/wiki/index.php?title=Team:Heidelberg/internal_tools&action=edit" />
| |
− | <link rel="shortcut icon" href="/favicon.ico" />
| |
− | <link rel="search" type="application/opensearchdescription+xml" href="/wiki/opensearch_desc.php" title="2017.igem.org (en)" />
| |
− | <link rel="EditURI" type="application/rsd+xml" href="https://2017.igem.org/wiki/api.php?action=rsd" />
| |
− | <link rel="alternate" hreflang="x-default" href="/Team:Heidelberg/internal_tools" />
| |
− | <link rel="copyright" href="http://creativecommons.org/licenses/by/3.0/" />
| |
− | <link rel="alternate" type="application/atom+xml" title="2017.igem.org Atom feed" href="/wiki/index.php?title=Special:RecentChanges&feed=atom" />
| |
− | <link rel="stylesheet" href="https://2017.igem.org/wiki/load.php?debug=false&lang=en&modules=mediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.skinning.content.externallinks%7Cmediawiki.skinning.interface%7Cmediawiki.ui.button%7Cskins.igem.styles&only=styles&skin=igem&*" />
| |
− | <!--[if IE 6]><link rel="stylesheet" href="/wiki/skins/Igem/IE60Fixes.css?303" media="screen" /><![endif]-->
| |
− | <!--[if IE 7]><link rel="stylesheet" href="/wiki/skins/Igem/IE70Fixes.css?303" media="screen" /><![endif]--><meta name="ResourceLoaderDynamicStyles" content="" />
| |
− | <style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}
| |
− | /* cache key: 2017_igem_org:resourceloader:filter:minify-css:7:faeec198b704588e6c9afc1a44274438 */</style>
| |
− | <script src="https://2017.igem.org/wiki/load.php?debug=false&lang=en&modules=startup&only=scripts&skin=igem&*"></script>
| |
− | <script>if(window.mw){
| |
− | mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Team:Heidelberg/internal_tools","wgTitle":"Team:Heidelberg/internal tools","wgCurRevisionId":131201,"wgRevisionId":131201,"wgArticleId":19802,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":"Juzb","wgUserGroups":["*","user","autoconfirmed"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"Team:Heidelberg/internal_tools","wgUserId":915,"wgUserEditCount":27,"wgUserRegistration":1492081568000,"wgUserNewMsgRevisionId":null,"wgIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgWikiEditorEnabledModules":{"toolbar":false,"dialogs":false,"hidesig":true,"preview":false,"previewDialog":false,"publish":false}});
| |
− | }</script><script>if(window.mw){
| |
− | mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"editfont":"default","editondblclick":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":1,"extendwatchlist":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nickname":"","norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"rcdays":7,"rclimit":50,"rows":25,"showhiddencats":0,"shownumberswatching":1,"showtoolbar":1,"skin":"igem","stubthreshold":0,"thumbsize":5,"underline":2,"uselivepreview":0,"usenewrc":1,"watchcreations":1,"watchdefault":1,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"watchrollback":0,
| |
− | "wllimit":250,"useeditwarning":1,"prefershttps":1,"language":"en","variant-gan":"gan","variant-iu":"iu","variant-kk":"kk","variant-ku":"ku","variant-shi":"shi","variant-sr":"sr","variant-tg":"tg","variant-uz":"uz","variant-zh":"zh","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false});},{},{});mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"29b8dd8475ab9ce369f1eaa3b62557e9+\\","patrolToken":"9b15ea2f11dbe71fc465e1579a511670+\\","watchToken":"c9c576d4bfe983ce3d6431645a6d7d83+\\"});},{},{});
| |
− | /* cache key: 2017_igem_org:resourceloader:filter:minify-js:7:1b1539751622cf633e0bbde0db35ebde */
| |
− | }</script>
| |
− | <script>if(window.mw){
| |
− | mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax"]);
| |
− | }</script>
| |
− | </head>
| |
− | <body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-Team_Heidelberg_internal_tools skin-igem action-view">
| |
| | | |
− | <script type='text/javascript' src ='/common/tablesorter/jquery.tablesorter.min.js'></script>
| |
− | <link rel='stylesheet' type='text/css' href='/common/tablesorter/themes/groupparts/style.css' />
| |
− | <link rel='stylesheet' type='text/css' href='/common/table_styles.css' />
| |
− |
| |
− | <script type='text/javascript' src ='/wiki/skins/Igem/resources/2017_skin.js'></script>
| |
− |
| |
− |
| |
− | <div id='globalWrapper'>
| |
− | <div id='top_menu_under' class='noprint'></div>
| |
− | <div id='top_menu_14' class='noprint'></div> <!-- Will be replaced with the jQuery.load -->
| |
− | <script>jQuery('#top_menu_14').load('https://2017.igem.org/cgi/top_menu_14/menubar_reply.cgi',
| |
− | { t:"Team%3AHeidelberg%2Finternal%20tools",
| |
− | a:"View+%2FTeam%3AHeidelberg%2Finternal_tools++Edit+%2Fwiki%2Findex.php%3Ftitle%3DTeam%3AHeidelberg%2Finternal_tools%26action%3Dedit++History+%2Fwiki%2Findex.php%3Ftitle%3DTeam%3AHeidelberg%2Finternal_tools%26action%3Dhistory++Move+%2FSpecial%3AMovePage%2FTeam%3AHeidelberg%2Finternal_tools++Unwatch+%2Fwiki%2Findex.php%3Ftitle%3DTeam%3AHeidelberg%2Finternal_tools%26action%3Dunwatch%26token%3D9de7174bd4c84ca9683628fb5dd345bb%252B%255C++Page+%2FTeam%3AHeidelberg%2Finternal_tools++Discussion+%2Fwiki%2Findex.php%3Ftitle%3DTalk%3ATeam%3AHeidelberg%2Finternal_tools%26action%3Dedit%26redlink%3D1++" });
| |
− | </script>
| |
− |
| |
− | <!-- Content div contains HQ_page for HQ styles, Logo and title div, and USER CONTENT -->
| |
− | <div id="content" class="mw-body" role="main">
| |
− | <a id="top"></a>
| |
− |
| |
− | <div id="top_title">
| |
− | <div class="logo_2017">
| |
− | <a href="https://2017.igem.org">
| |
− | <img src="https://static.igem.org/mediawiki/2017/8/8b/HQ_page_logo.jpg" width="100px">
| |
− | </a>
| |
− | </div>
| |
− |
| |
− | <h1 id="firstHeading" class="firstHeading">
| |
− | <span dir="auto">Team:Heidelberg/internal tools</span>
| |
− | </h1>
| |
− | </div>
| |
− |
| |
− | <div id="HQ_page">
| |
− | <div id="bodyContent">
| |
− | <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><p>
| |
− | <head>
| |
− | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
| |
− | <meta name="generator" content="MediaWiki 1.16.5" />
| |
− | <link rel="shortcut icon" href="/favicon.ico" />
| |
− | <link rel="search" type="application/opensearchdescription+xml" href="/wiki/opensearch_desc.php" title="2014.igem.org (en)" />
| |
− | <link title="Creative Commons" type="application/rdf+xml" href="/wiki/index.php?title=WikitemplateA_home&action=creativecommons" rel="meta" />
| |
− | <link rel="copyright" href="http://creativecommons.org/licenses/by/3.0/" />
| |
− | <link rel="alternate" type="application/atom+xml" title="2014.igem.org Atom feed" href="/wiki/index.php?title=Special:RecentChanges&feed=atom" /> <title>WikitemplateA home - 2014.igem.org</title>
| |
− | <style type="text/css" media="screen, projection">/*<![CDATA[*/
| |
− | @import "/wiki/skins/common/shared.css?270";
| |
− | @import "/wiki/skins/igem/main.css?270";
| |
− | /*]]>*/</style>
| |
− | <link rel="stylesheet" type="text/css" media="print" href="/wiki/skins/common/commonPrint.css?270" />
| |
− | <!--[if lt IE 5.5000]><style type="text/css">@import "/wiki/skins/igem/IE50Fixes.css?270";</style><![endif]-->
| |
− | <!--[if IE 5.5000]><style type="text/css">@import "/wiki/skins/igem/IE55Fixes.css?270";</style><![endif]-->
| |
− | <!--[if IE 6]><style type="text/css">@import "/wiki/skins/igem/IE60Fixes.css?270";</style><![endif]-->
| |
− | <!--[if IE 7]><style type="text/css">@import "/wiki/skins/igem/IE70Fixes.css?270";</style><![endif]-->
| |
− | <!--[if lt IE 7]><script type="text/javascript" src="/wiki/skins/common/IEFixes.js?270"></script>
| |
− | <meta http-equiv="imagetoolbar" content="no" /><![endif]-->
| |
− |
| |
− | <script type="text/javascript" src="/wiki/skins/common/wikibits.js?270"><!-- wikibits js --></script>
| |
− | <!-- Head Scripts -->
| |
− | <script src="/wiki/skins/common/ajax.js?270"></script>
| |
− | <script src="/wiki/skins/common/mwsuggest.js?270"></script>
| |
− | <script type="text/javascript" src="/wiki/index.php?title=-&action=raw&gen=js&useskin=igem"><!-- site js --></script>
| |
− | <!-- jQuery Javascript -->
| |
− | <script type='text/javascript' src ='/common/jquery-latest.min.js'></script>
| |
− | <script type='text/javascript' src ='/common/tablesorter/jquery.tablesorter.min.js'></script>
| |
− | <link rel='stylesheet' type='text/css' href='/common/tablesorter/themes/groupparts/style.css' />
| |
− | <link rel='stylesheet' type='text/css' href='/common/table_styles.css' />
| |
− | <link rel='stylesheet' type='text/css' href='/forum/forum_styles.css' />
| |
− | <script type='text/javascript' src ='/forum/forum_scripts.js'></script>
| |
− |
| |
− | <script type="text/javascript" src="https://2015.igem.org/Team:Heidelberg/js/bibtexParse?action=raw&ctype=text/javascript"></script>
| |
− | <script type="text/javascript" src="https://2015.igem.org/Team:Heidelberg/js/zitator?action=raw&ctype=text/javascript"></script>
| |
− | <script type="text/javascript">
| |
− | var bibfile = "https://static.igem.org/mediawiki/2017/7/70/T--Heidelberg--Team_Heidelberg_2017_citation.txt";
| |
− | $(function (){new Zitator(".basictext",bibfile).zitiere();});
| |
− | </script>
| |
− |
| |
− | </head>
| |
− |
| |
− | <body>
| |
− |
| |
− |
| |
− | <div id="top-section">
| |
− |
| |
− | <script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | <div class="right-menu noprint" id="menubar">
| |
− | <ul>
| |
− | <li id="pt-login"><a href="/wiki/index.php?title=Special:UserLogin&returnto=WikitemplateA_home" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o">Log in</a></li> </ul>
| |
− | </div><!-- end right menubar -->
| |
− |
| |
− | <div id="search-controls" class="noprint">
| |
− | <form action="/Special:Search" id="searchform">
| |
− | <input id="searchInput" name="search" type="text" title="Search 2014.igem.org [f]" accesskey="f" value="" />
| |
− | <input type='submit' name="go" class="searchButton" id="searchGoButton" value="Go" title="Go to a page with this exact name if exists" /> 
| |
− | <input type='submit' name="fulltext" class="searchButton" id="mw-searchButton" value="Search" title="Search the pages for this text" />
| |
− | </form>
| |
− | </div> <!-- close search controls -->
| |
− | </div> <!-- close top-section-->
| |
− | <div id="content">
| |
− | <a name="top" id="top"></a>
| |
− | <h1 class="firstHeading">WikitemplateA home</h1>
| |
− | <div id="bodyContent">
| |
− | <h3 id="siteSub" class='noprint'>From 2014.igem.org</h3>
| |
− | <div id="contentSub"></div>
| |
− | <!--
| |
− | <div id="jump-to-nav">Jump to: <a href="#column-one">navigation</a>, <a href="#searchInput">search</a></div>-->
| |
− | <!-- start content -->
| |
− | <p>
| |
− |
| |
− |
| |
− | <!-- this section changes the default wiki template to a
| |
− | white full width background -->
| |
− |
| |
− | <style type="text/css">
| |
− | #contentSub, #footer-box, #catlinks, #search-controls, #p-
| |
− |
| |
− | logo, #sideMenu, #menubar, .logo_2017, .printfooter, .firstHeading,.visualClear {display:
| |
− |
| |
− | none;} /*-- hides default wiki settings --*/
| |
− |
| |
− | #top-section { /*-- styling for default menu bar (edit, page,
| |
− |
| |
− | history, etc.) --*/
| |
− |
| |
− | border: 0 none;
| |
− | height: 14px;
| |
− | z-index: 100;
| |
− | top: 0;
| |
− | position: fixed;
| |
− | width: 975px;
| |
− | left: 50%;
| |
− | margin-left: -487px;
| |
− | }
| |
− |
| |
− | #globalWrapper, #content { /*-- changes default wiki settings
| |
− |
| |
− | --*/
| |
− | width: 100%;
| |
− | height: 100%;
| |
− | border: 0px;
| |
− | background-color: transparent;
| |
− | margin: 0px;
| |
− | padding: 0px;
| |
− | }
| |
− |
| |
− | html, body, .wrapper { /*-- changes default wiki settings --
| |
− |
| |
− | */
| |
− | width: 100%;
| |
− | height: 100%;
| |
− | background-color: transparent;
| |
− | }
| |
− | </style>
| |
− |
| |
− | <!-- Assets -->
| |
− | <link rel="stylesheet" href="http://static.tildacdn.com/css/tilda-grid-3.0.min.css" type="text/css" media="all" />
| |
− |
| |
− | <link rel="stylesheet" href="http://static.tildacdn.com/css/tilda-zoom-1.0.min.css" type="text/css" media="all" />
| |
− | <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Josefin+Sans:300,400|Roboto:300,400,500">
| |
− | <link rel="stylesheet" href="http://azmind.com/demo/bootstrap-navbar-menu/layout-3/assets/bootstrap/css/bootstrap.min.css">
| |
− | <script src="http://azmind.com/demo/bootstrap-navbar-menu/layout-3/assets/bootstrap/js/bootstrap.min.js"></script>
| |
− | <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css?action=raw&ctype=text/css" type="text/css" rel="stylesheet">
| |
− | <link rel="stylesheet" href="http://azmind.com/demo/bootstrap-navbar-menu/layout-3/assets/font-awesome/css/font-awesome.min.css">
| |
− |
| |
− | <style>
| |
− |
| |
− |
| |
− | p {
| |
− | font-family: 'Roboto', sans-serif;
| |
− | font-size: 20px;
| |
− | font-weight: 300;
| |
− |
| |
− |
| |
− | overflow-x: hidden;
| |
− | text-align: center;
| |
− | }
| |
− |
| |
− | strong { font-weight: 500; }
| |
− |
| |
− | a, a:hover, a:focus {
| |
− | color: black; text-decoration: none;
| |
− | -o-transition: all .3s; -moz-transition: all .3s; -webkit-transition: all .3s; -ms-transition: all .3s; transition: all .3s;
| |
− | }
| |
− |
| |
− |
| |
− | h2 { margin-top: 10px; font-family: 'Josefin Sans', sans-serif; font-size: 48px; font-weight: 300; color: #393939; line-height: 56px; opacity: 0.9; text-align:center}
| |
− | h3 { font-family: 'Josefin Sans', sans-serif; font-size: 22px; font-weight: 300; color: #555; line-height: 40px; }
| |
− |
| |
− |
| |
− | img { max-width: 100%; }
| |
− |
| |
− | .medium-paragraph { font-size: 18px; line-height: 34px; }
| |
− |
| |
− | .colored { color: #df6482; }
| |
− |
| |
− | ::-moz-selection { background: #df6482; color: #fff; text-shadow: none; }
| |
− | ::selection { background: #df6482; color: #fff; text-shadow: none; }
| |
− |
| |
− | /***** General style, all sections *****/
| |
− |
| |
− | .section-container { margin: 0 auto; padding-bottom: 80px; }
| |
− | .section-description { margin-top: 60px; padding-bottom: 10px; }
| |
− | .section-description p { margin-top: 20px; padding: 0 120px; }
| |
− |
| |
− | /***** Divider *****/
| |
− |
| |
− | .divider-1 { padding: 25px 0 15px 0; }
| |
− | .divider-1 .line { width: 160px; margin: 0 auto; border-bottom: 1px dashed #ccc; }
| |
− |
| |
− | /***** Top menu *****/
| |
− | .navbar {
| |
− | margin-bottom: 0;
| |
− | position: fixed;
| |
− |
| |
− | background: white;
| |
− | border-bottom: 1px solid white;
| |
− | box-shadow: 2px 0px 30px black ;
| |
− | -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
| |
− | -o-transition: all .6s; -moz-transition: all .6s; -webkit-transition: all .6s; -ms-transition: all .6s; transition: all .6s;
| |
− | }
| |
− |
| |
− | .navbar-no-bg { padding-top: 10px; background: white; }
| |
− |
| |
− | ul.navbar-nav {
| |
− | padding-top: 10px;
| |
− | font-family: 'Josefin Sans', sans-serif;
| |
− | font-size: 14px;
| |
− | color: #fff;
| |
− | font-weight: 400;
| |
− | text-transform: uppercase;
| |
− | }
| |
− | .navbar-inverse ul.navbar-nav li a { color: grey; border: 0; }
| |
− | .navbar-inverse ul.navbar-nav li a:hover { color: #000; border: 0; }
| |
− | .navbar-inverse ul.navbar-nav li a:focus { color: #000; outline: 0; border: 0; }
| |
− |
| |
− |
| |
− | .navbar-brand {
| |
− | width: 100%;
| |
− | position: absolute;
| |
− | top: -10px;
| |
− | }
| |
− |
| |
− |
| |
− |
| |
− | .navbar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand { margin-left: 0; }
| |
− |
| |
− | .dropdown:hover .dropdown-menu {
| |
− | display: block;
| |
− | background-color: white;
| |
− | font-family: 'Josefin Sans', sans-serif;
| |
− | font-size: 14px;
| |
− | font-weight: 400;
| |
− | text-transform: uppercase;
| |
− | border-top: none;
| |
− | }
| |
− | .dropdown-menu>li>a {
| |
− | color: grey;
| |
− | }
| |
− |
| |
− | /* Animate */
| |
− |
| |
− |
| |
− |
| |
− | .top-content .text h1 { color: #393939; }
| |
− |
| |
− | .top-content .description { margin: 30px 0 10px 0; }
| |
− | .top-content .description p { opacity: 0.8; }
| |
− | .top-content .description a { color: #fff; border-bottom: 1px dotted #fff; }
| |
− | .top-content .description a:hover, .top-content .description a:focus { color: #fff; border: 0; }
| |
− |
| |
− |
| |
− | /***** Features *****/
| |
− |
| |
− | .features-box { margin-top: 30px; text-align: left; }
| |
− | .features-box .features-box-icon { font-size: 60px; color: #df6482; line-height: 60px; text-align: center; }
| |
− | .features-box h3 { margin-top: 0; padding: 0 0 10px 0; }
| |
− |
| |
− |
| |
− | #footer-sec {
| |
− | position: relative;
| |
− | background-color: #393939;
| |
− | font-family: 'Josefin Sans', sans-serif;
| |
− | }
| |
− | #footer-sec h4 {
| |
− | color: white;
| |
− |
| |
− | }
| |
− | #footer-sec li > a {
| |
− | color: grey;
| |
− | font-size: 16x;
| |
− | }
| |
− | #footer-sec span {
| |
− | font-family: 'Josefin Sans', sans-serif;
| |
− | color: grey;
| |
− | font-size: 16px;
| |
− | }
| |
− |
| |
− | #footer-sec li {
| |
− | color: grey;
| |
− | font-size: 16px;
| |
− | list-style: none;
| |
− | padding-bottom: 2px;
| |
− | }
| |
− |
| |
− |
| |
− | #footer-sec li > a:hover{
| |
− | color: white;
| |
− | text-decoration: none;
| |
− | transition-delay: 0.1s;
| |
− | -webkit-transition: color 1s; /* Safari */
| |
− | transition: color 1s;
| |
− | }
| |
− | #facebook, #twitter {
| |
− | color: grey
| |
− | }
| |
− | #facebook:hover,#twitter:hover {
| |
− | color: white;
| |
− | transition-delay: 0.1s;
| |
− | -webkit-transition: color 1s; /* Safari */
| |
− | transition: color 1s;
| |
− | }
| |
− |
| |
− |
| |
− | /***** MEDIA QUERIES *****/
| |
− |
| |
− |
| |
− | @media (min-width: 992px) and (max-width: 1199px) {}
| |
− |
| |
− | @media (min-width: 768px) and (max-width: 991px) {
| |
− |
| |
− | .section-description p { padding: 0; }
| |
− |
| |
− | .features-box .features-box-icon { font-size: 50px; line-height: 50px; }
| |
− |
| |
− | }
| |
− |
| |
− | @media (max-width: 767px) {
| |
− |
| |
− | .navbar { padding-top: 0; background: #444; }
| |
− | .navbar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand { margin-left: 15px; }
| |
− | .navbar-collapse { border: 0; }
| |
− | .navbar-inverse .navbar-toggle { border-color: transparent; }
| |
− | .navbar-inverse ul.navbar-nav li a.btn-link-3 { margin: 10px; }
| |
− |
| |
− | .section-description p { padding: 0; }
| |
− |
| |
− | .top-content { padding: 40px 0 60px 0; }
| |
− |
| |
− | .features-box { text-align: center; }
| |
− | .features-box h3 { margin-top: 5px; padding-top: 10px; }
| |
− |
| |
− | }
| |
− |
| |
− | @media (max-width: 415px) {
| |
− |
| |
− | h1, h2 { font-size: 36px; }
| |
− |
| |
− | }
| |
− |
| |
− |
| |
− | /* Retina-ize images/icons */
| |
− |
| |
− | @media
| |
− | only screen and (-webkit-min-device-pixel-ratio: 2),
| |
− | only screen and ( min--moz-device-pixel-ratio: 2),
| |
− | only screen and ( -o-min-device-pixel-ratio: 2/1),
| |
− | only screen and ( min-device-pixel-ratio: 2),
| |
− | only screen and ( min-resolution: 192dpi),
| |
− | only screen and ( min-resolution: 2dppx) {
| |
− |
| |
− | /* logo */
| |
− | .navbar-brand {
| |
− | background-image: url(../img/logo@2x.png) !important; background-repeat: no-repeat !important; background-size: 102px 32px !important;
| |
− | }
| |
− |
| |
− | }
| |
− |
| |
− |
| |
− |
| |
− | #circle {
| |
− | position: relative;
| |
− | top: 15px;
| |
− | height: 100px;
| |
− | width: 100px;
| |
− |
| |
− | border-radius: 50%;
| |
− | box-shadow: 2px 0px 30px black ;
| |
− |
| |
− | }
| |
− |
| |
− | #circle:before{
| |
− | position: absolute;
| |
− | content: "";
| |
− | width: 160%;
| |
− | height: 60%;
| |
− | left: -25%;
| |
− | top: -4%;
| |
− | background: white;
| |
− | }
| |
− |
| |
− |
| |
− | #circle:after{
| |
− | position: absolute;
| |
− | content: "";
| |
− | width: 100%;
| |
− | height: 100%;
| |
− | left: 0;
| |
− | top: 0;
| |
− | background: white;
| |
− | border-radius: 50%;
| |
− | background-image: url('https://static.igem.org/mediawiki/2017/8/8f/Heidelberg_2017_phage_logo.svg');
| |
− | background-size: 70px 70px;
| |
− | background-repeat: no-repeat;
| |
− | background-position: center;
| |
− | }
| |
− |
| |
− | #container1 h1, #container2 h1, #container3 h1, #container4 h1 {
| |
− | color:#393939;
| |
− | font-family: 'Josefin Sans', sans-serif;
| |
− | font-size: 58px;
| |
− | font-weight: 300;
| |
− | line-height: 56px;
| |
− | opacity: 0.9;
| |
− | text-align:center;
| |
− | }
| |
− |
| |
− | #container1 p, #container2 p, #container3 p, #container4 p {
| |
− | color: #393939;
| |
− | font-size: 20px;
| |
− | font-family: 'Josefin Sans', sans-serif;
| |
− | text-align: justify;
| |
− | }
| |
− |
| |
− |
| |
− | #form1 label {
| |
− | font-family: 'Josefin Sans', sans-serif;
| |
− | font-size: 20px;
| |
− | font-weight: 300;
| |
− | color: #393939;
| |
− | }
| |
− | #form1 label, #form2 label, #form3 label, #form4 label {
| |
− | font-family: 'Josefin Sans', sans-serif;
| |
− | font-size: 20px;
| |
− | font-weight: 300;
| |
− | color: #393939;
| |
− | }
| |
− |
| |
− | </style>
| |
− |
| |
− |
| |
− | <link rel="stylesheet" type="text/css"
| |
− | href="https://2017.igem.org/Template:Heidelberg/table_layout/CSS?action=raw&ctype=text/css" />
| |
− | <!-- Favicon and touch icons -->
| |
− | <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
| |
− | <script src="http://static.tildacdn.com/js/jquery-1.10.2.min.js"></script>
| |
− | <script src="http://static.tildacdn.com/js/tilda-scripts-2.8.min.js"></script>
| |
− |
| |
− | <script src="http://static.tildacdn.com/js/tilda-zoom-1.0.min.js"></script>
| |
− | <script src="http://static.tildacdn.com/js/bootstrap.min.js"></script>
| |
− | <script src="http://static.tildacdn.com/js/jquery.touchswipe.min.js"></script>
| |
− | <script src="http://static.tildacdn.com/js/tilda-map-1.0.min.js"></script>
| |
− | <script src="http://static.tildacdn.com/js/lazyload-1.3.min.js"></script>
| |
− |
| |
− | <style>
| |
− | #input_form {
| |
− | background-color: #939393;
| |
− | border: none;
| |
− | color: white;
| |
− | padding: 5px 32px;
| |
− | text-align: center;
| |
− | text-decoration: none;
| |
− | display: inline-block;
| |
− | font-size: 16px;
| |
− | }
| |
− |
| |
− | </style>
| |
− | </head>
| |
− | <body class="t-body">
| |
− |
| |
− | <!-- Top menu -->
| |
− | <nav class="navbar navbar-inverse navbar-fixed-top navbar-no-bg" role="navigation">
| |
− | <div class="container">
| |
− | <div class="navbar-header">
| |
− | <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#top-navbar-1">
| |
− | <span class="sr-only">Toggle navigation</span>
| |
− | <span class="icon-bar"></span>
| |
− | <span class="icon-bar"></span>
| |
− | <span class="icon-bar"></span>
| |
− | </button>
| |
− | <a class="navbar-brand" href="#"><div id="circle">
| |
− | </div></a>
| |
− | </div>
| |
− | <!-- Collect the nav links, forms, and other content for toggling -->
| |
− | <div class="collapse navbar-collapse" id="top-navbar-1">
| |
− | <ul class="nav navbar-nav navbar-right">
| |
− | <li><a href="#">Achievements</a></li>
| |
− | <li class="dropdown"><a href="#">Project <span class="caret"></span></a>
| |
− |
| |
− | </li>
| |
− | <li><a href="#">Modeling</a></li>
| |
− | <li><a href="#">Software & Hardware <span class="caret"></span></a></li>
| |
− | <li class="dropdown"><a href="#">Human Practice <span class="caret"></span></a>
| |
− | <ul class="dropdown-menu">
| |
− | <li><a href="">Safety & Security</a></li>
| |
− | <li class="divider"></li>
| |
− | <li><a href="">Integrated Human Practice</a></li>
| |
− | <li><a href="">Education</a></li>
| |
− | <li class="divider"></li>
| |
− | <li><a href="">Public Engagement</a></li>
| |
− | <li><a href="">Collaborations</a></li>
| |
− | </ul>
| |
− |
| |
− | </li>
| |
− | <li><a href="#">People</a></li>
| |
− | <li><a href="#">Toolbox</a></li>
| |
− | </ul>
| |
− | </div>
| |
− | </div>
| |
− | </nav>
| |
− |
| |
− | <div style="padding-top: 80px; background-color:white;">
| |
− | <div class="t-container">
| |
− | <div class="t-col t-col_12">
| |
− | <div class="container-fluid" style="margin-top: 10px;" id="container1">
| |
− | <h1>Internal Tools</h1>
| |
− | <h2>Number of mutations and mutated sequences</h2>
| |
− | <p>Expected number of mutations in a single sequence:
| |
− | $$p_{m} = \frac{N_{mutations}}{L_{Sequence}} = N_{generations} \cdot r_{mutation} = t_{total} \cdot \Phi \cdot r_{mutation}$$
| |
− | </p>
| |
− | <p>The expected share of sequences that shows at least one mutation in \(L_{Sequence}\) bp is the probability that \(L_{sequence}\) basepairs stay unchanged when \(\frac{N_{mutations}}{L_{Sequence}}\) mutations are expected:
| |
− | $$p_{M} = \frac{N_{mutated}}{N_{Sequences}} = 1 - p(N_{mutations}=0) = 1 - (1-p_{m})^{L_{Sequence}} $$
| |
− | </p>
| |
− | <p>With this equation we can also calculate the number of sequences \(N_{Sequences}\) that have to be sequenced in order to find a mutated one with a probability of \(p(N_{mutated} > 0)\).
| |
− | $$ N_{Sequences} = \frac{p(N_{mutated} > 0)}{p_{M}} $$
| |
− | </p>
| |
− | <p>The probability to find at least one mutated sequence under the given conditions is
| |
− | $$p(N_{mutated}>0) = 1 - (1-p_{M})^{N_{sequences}}$$
| |
− | which gives
| |
− | $$N_{Sequences} = \frac{ln(1-p(N_{mutated}>0))}{ln(1-p_{M})}$$
| |
− | </p>
| |
− | <p>Set \(\Phi\) to zero to use the number of generations for the calculation. If \(\Phi\) and the number of generations are given, \(\Phi\) is used.</p>
| |
− | <p>Consider \(L_{Sequence}\) as the number of basepairs that is expected to be mutated. If half of the sequence you are interested in, is highly conserved choose a lower \(L_{Sequence}\).</p>
| |
− |
| |
− |
| |
− | <form action="" id="form1">
| |
− | <section>
| |
− | <h2>Get your mutations</h2>
| |
− | <ul class="input-list style-1 clearfix">
| |
− | <li>
| |
− | <label>
| |
− | Mutation rate \(r_{mutation} \:[bp/generation]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="mr" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Flow troughLagoon \(\Phi_{lagoon} \: [Volumes/h]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="phi" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Total time<br> in lagoon \(t_{total} \: [h]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="tt" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Number<br> of generations \(N_{generations}\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="ng" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Length of sequence that can mutate \(L_{Sequence} \: [bp]\)<br>
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="ls" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Number of sequences that are sequenced \(N_{Sequences}\)<br>
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="ns" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Probability to get at least one mutated result \(p(N_{mutated}>0) \)
| |
− | <br>
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="pm" value="0.9" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <div style="padding-top: 30px;">
| |
− | <input type="button" value="Submit" id="input_form" onclick="return number_mutations();">
| |
− | </div>
| |
− | </li>
| |
− | </ul>
| |
− | </section>
| |
− | </form>
| |
− | </div>
| |
− | <div class="container-fluid" style="margin-top: 10px;" id="container2">
| |
− | <p id="warnings_mutations"></p>
| |
− | <br>
| |
− | <p id="number_generations"></p>
| |
− | <p>\(p_{m} =\) <span id="amount_mutations"></span> %(bp/bp).</p>
| |
− | <p>\(N_{mutations} =\) <span id="number_mutations"></span> bp per sequence.</p>
| |
− | <p>The share of sequences that shows at least one mutation in \(L_{Sequence}\) bp is \(p_{M}=\) <span id="amount_mutated"></span> % of sequences</p>
| |
− | <p id="probability_positive_sequencing"></p>
| |
− | <p id="number_to_seq"></p>
| |
− |
| |
− |
| |
− | <div class="container-fluid" style="margin-top: 10px;" id="container1">
| |
− | <h2>Diff tool</h2>
| |
− | <p>Marks differences in two strings, ignores newlines.
| |
− | </p>
| |
− |
| |
− |
| |
− | <form action="" id="form2">
| |
− | <section>
| |
− | <ul class="input-list style-1 clearfix">
| |
− | <li>
| |
− | <label>
| |
− | String 1
| |
− | <br>
| |
− | <textarea id="str1" lang='en-150' rows=8 cols=50></textarea>
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | String 2
| |
− | <br>
| |
− | <textarea id="str2" lang='en-150' rows=8 cols=50></textarea>
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− |
| |
− | <label for="case_sensitive">Case sensitive <input type="checkbox" Name="Case sensitive" id="case_sensitive" value="True" checked> </label>
| |
− | </li>
| |
− | <li>
| |
− | <div style="padding-top: 30px;">
| |
− | <input type="button" value="Submit" id="input_form2" onclick="return differences();">
| |
− | </div>
| |
− | </li>
| |
− | </ul>
| |
− | </section>
| |
− | </form>
| |
− | </div><p>Comparison:</p>
| |
− | <div style="overflow-x:scroll !important; overflow-y:hidden !important; max-height: 100px !important; background-color: whitesmoke;">
| |
− | <p id="outstr1" style="display:inline !important; overflow: hidden !important; white-space: nowrap !important; font-family: monospace !important;"></p>
| |
− | <br>
| |
− | <p id="outstr2" style="display:inline !important; overflow: hidden !important; white-space: nowrap !important; font-family: monospace !important;"></p>
| |
− | </div>
| |
− | <p id="diffinfo"></p>
| |
− |
| |
− |
| |
− | <h2>Glucose Concentratoin</h2>
| |
− | <p>
| |
− | Calculate the ideal glucose concentration in the medium used for either a turbidostat or a single flask.
| |
− | </p>
| |
− | <p> The glucose concentration in the <b>turbidostat</b> \(c_{G_{T}}\) is increased with the incoming medium with a flow rate of \(\Phi\) and a glucose concentration of \(c_{G_{M}}\). It is decreased by with the medium that leaves the turbidostat with the same flow rate, but a glucose concentration of \(c_{G_{T}}\). Additionally E. coli take up glucose with a concentration of \(c_{E}\) and a rate of \(q\).
| |
− | $$
| |
− | \frac{\partial c_{G_{T}}(t)}{\partial t} = \Phi \cdot c_{G_{M}} - \Phi \cdot c_{G_{T}} - c_{E} \cdot q
| |
− | $$
| |
− | In the case of a turbidostat we can assume a dynamic equilibrium:
| |
− | $$
| |
− | \frac{\partial c_{G_{T}}(t)}{\partial t} = 0
| |
− | $$
| |
− | This results in
| |
− | $$
| |
− | c_{G_{T}} = c_{G_{M}} - \frac{c_{E. coli} \cdot q}{\Phi}
| |
− | $$ $$
| |
− | \Leftrightarrow c_{G_{M}} (c_{G_{T}}) = c_{G_{T}} + \frac{c_{E} \cdot q}{\Phi}
| |
− | $$
| |
− | </p>
| |
− | <br>
| |
− | <p>If the concentration of glucose in a <b>flask</b>, \(c_{G_{F}}\) needs to be determined, the functional dependencies are as follows.</p>
| |
− | <p>
| |
− | As there is no incoming medium, or medium that leaves the flask, the concentration of glucose is only changed by <i>E. coli</i> degrading it.
| |
− | $$
| |
− | \frac{\partial c_{G_{F}}(t)}{\partial t} = q \cdot c_{E}(t)
| |
− | $$
| |
− | Exponential growth of the <i>E. coli</i> is assumed, resulting in
| |
− | $$c_{G_{F}}(t) = c_{G_{F}}(t_{0}) - q \cdot c_{E}(t) \cdot t
| |
− | $$
| |
− | $$
| |
− | = c_{G_{F}}(t_{0}) -q \cdot \int_{t_{0}}^{t} c_{E}(t_{0}) \cdot exp\left(\frac{t}{t_{E}}\right) dt
| |
− | $$
| |
− | $$
| |
− | = c_{G_{F}}(t_{0}) - q \cdot c_{E}(t_{0}) \cdot t_{E} \cdot \left(exp\left(\frac{t}{t_{E}}\right) - exp\left(\frac{t_{0}}{t_{E}}\right)\right)
| |
− | $$
| |
− | So the glucose starting concentration \(c_{G_{F}}(t_{0})\) needed to get a concentration of \(c_{G_{f}}(t)\) afer a duration of \(t\) is calculated by
| |
− | $$
| |
− | c_{G_{F}}(t_{0}) = c_{G_{F}}(t) + q \cdot c_{E}(t_{0}) \cdot t_{E} \cdot \left(exp\left(\frac{t}{t_{E}}\right) - exp\left(\frac{t_{0}}{t_{E}}\right)\right)
| |
− | $$
| |
− |
| |
− | </p>
| |
− | <br>
| |
− | <p><b>Further calculations</b> for simplification of entering data:</p>
| |
− | <p class="basictext">
| |
− | $$
| |
− | c_{E. coli_{DW}} = c_{E. coli_{OD600}} \cdot 0.36
| |
− | $$
| |
− | according to <i>Milo et al.</i><x-ref>Milo2009</x-ref>.
| |
− | $$
| |
− | q = 0.183 g_{Glucose} \: g_{DW}^{-1} \: h^{-1}
| |
− | $$
| |
− | according to <i>Neubauer et al.</i><x-ref>Neubauer2001</x-ref>.
| |
− | </p>
| |
− | <p>
| |
− | Because turbidstats are operated at a constant cell density, the flow rate \(Phi\) can be calculated from the generation time \(t_{E}\).
| |
− | $$
| |
− | \Phi = \frac{ln(2)}{t_{E}}
| |
− | $$
| |
− | </p>
| |
− | <p>If the <i>E. coli</i> titer in \(g_{DW}/l\) is zero, it is calculated from the OD, else the dryweight value is used. If the glucose concentration in \(mmol/l\) not zero, it is used for the calulation. If the generation time \(t_{E}\) is not zero, it is used to calculate the flow rate \(\Phi\). </p>
| |
− |
| |
− |
| |
− | <form action="" id="form1">
| |
− | <section>
| |
− | <h2>Get the ideal concentration</h2>
| |
− | <ul class="input-list style-1 clearfix">
| |
− | <li>
| |
− | <label>
| |
− | Glucose concentration <br> \(c_{G_{T}} \: [g/l]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="cturbidostat" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Glucose concentration <br> \(c_{G_{T}} \: [mmol/l]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="cturbidostatmol" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Flow rate <br>\(\Phi \:[Volumes/h]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="fr" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Generation time <br>\(t_{E} \:[min]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="te" value="30" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | <i>E. coli</i> titer<br> \(c_{E. coli} \:[OD600]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="ectiterod" value="0.8" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | <i>E. coli</i> titer<br> \(c_{E. coli} \:[g_{DW}/l]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="ectiterdw" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Glucose degradation<br>\(q \: [g_{glucose} \: g_{DW}^{-1} h^{-1}]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="q" value="0.183" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | Time <br>\(t \: [min]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="gluc_time" value="90" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | <i>E. coli</i> start concentration<br>\(c_{E} \: [g/L]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="ec0dw" value="0" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− | <li>
| |
− | <label>
| |
− | <i>E. coli</i> start concentration<br>\(c_{E} \: [OD600]\)
| |
− | <input type="number" pattern="[0-9]+([,\.][0-9]+)?" id="ec0od" value="0.01" lang='en-150' step="any">
| |
− | </label>
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | <div style="padding-top: 30px;">
| |
− | <input type="button" value="Calculate Continuous" id="input_form" onclick="return glucosecont();">
| |
− | </div>
| |
− | </li>
| |
− | <li>
| |
− | <div style="padding-top: 30px;">
| |
− | <input type="button" value="Calculate Discontinuous" id="input_form" onclick="return glucosedis();">
| |
− | </div>
| |
− | </li>
| |
− | <li>
| |
− | <div style="padding-top: 30px;">
| |
− | <input type="button" value="Calculate Discontinuous in new plot" id="input_form" onclick="return glucosedisnew();">
| |
− | </div>
| |
− | </li>
| |
− | </ul>
| |
− | </section>
| |
− | </form>
| |
− | <p id="glucoseout"></p>
| |
− | <br>
| |
− | <div style="overflow-x: auto !important;">
| |
− | <div style="min-width: 700 !important;" id="glucoseplot">
| |
− | </div>
| |
− | </div>
| |
− | <br>
| |
− | <p class="basictext" id="references"></p>
| |
− | </div>
| |
− | </div>
| |
− | </div>
| |
− | </div>
| |
− |
| |
− | <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
| |
− | <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
| |
− | <script src="https://cdnjs.cloudflare.com/ajax/libs/numjs/0.13.1/numjs.js"></script>
| |
− | <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
| |
− | <script src="http://evanplaice.github.io/jquery-csv/src/jquery.csv.min.js"></script>
| |
− | <script src="https://2017.igem.org/common/MathJax-2.5-latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
| |
− |
| |
− | <script>
| |
− |
| |
− | //example that contains everything needed
| |
− | function dummy(){
| |
− | //get the values
| |
− | var mr = Number(document.getElementById('mr').value);
| |
− |
| |
− | //initialise variables
| |
− | var a_mutations = 0;
| |
− |
| |
− | //calculate
| |
− | if(phi==0){
| |
− | a_mutations = ng * mr;
| |
− | }
| |
− |
| |
− | //return the results
| |
− | $("#amount_mutated").html((Math.round(100000 * a_mutated))/1000);
| |
− | $("#number_generations").html(ng_out);
| |
− |
| |
− | //end the function
| |
− | return false;
| |
− | }
| |
− |
| |
− | function number_mutations(){
| |
− |
| |
− | //get the values
| |
− | var mr = Number(document.getElementById('mr').value);
| |
− | var phi = Number(document.getElementById('phi').value);
| |
− | var ng = Number(document.getElementById('ng').value);
| |
− | var tt = Number(document.getElementById('tt').value);
| |
− | var ls = Number(document.getElementById('ls').value);
| |
− | var ns = Number(document.getElementById('ns').value);
| |
− | var pm = Number(document.getElementById('pm').value);
| |
− |
| |
− | //initialise variables
| |
− | var a_mutations = 0;
| |
− | var n_mutations = '?';
| |
− | var a_mutated = '?';
| |
− | var ng_out = "";
| |
− | var number_to_seq_out = "";
| |
− | var number_to_seq = 0;
| |
− | var probability_positive_sequencing = ''
| |
− | var warnings = ""
| |
− |
| |
− | //Check, if given values make sense:
| |
− |
| |
− | if(mr>1){
| |
− | warnings += "A mutation rate that is above one mutation per basepair, per generation does not make sense. 100 % should be enough, right? ";
| |
− | mr = 1;
| |
− | }
| |
− |
| |
− | if(pm>1){
| |
− | warnings += "A probability of 100 % should be enough, right?. ";
| |
− | pm = 1;
| |
− | }
| |
− |
| |
− | //calculate
| |
− | if(phi*tt==0){
| |
− | a_mutations = 1 - Math.pow((1 - mr), ng);
| |
− | ng_out = "";
| |
− | }
| |
− | else{
| |
− | a_mutations = 1 - Math.pow((1 - mr), tt*phi);
| |
− | ng = tt*phi;
| |
− | ng_out = "The conditions result in " + ng + " generations.";
| |
− | }
| |
− |
| |
− | n_mutations = ls * a_mutations;
| |
− | a_mutated = 1 - Math.pow((1-a_mutations), ls);
| |
− |
| |
− | if(ns!=0){
| |
− | probability_positive_sequencing = ns*a_mutated;
| |
− | $("#probability_positive_sequencing").html("Sequencing " + ns + " sequences results in a " + ((Math.round(probability_positive_sequencing*100))/100) + "% probabiltiy of finding at least one mutated sequence.");
| |
− | }
| |
− | else{
| |
− | $("#probability_positive_sequencing").html("");
| |
− | }
| |
− |
| |
− | if(pm!=0){
| |
− | number_to_seq = Math.max(1, Math.round((Math.log(1-pm))/(Math.log(1-a_mutated))));
| |
− | if(isNaN(number_to_seq)){
| |
− | if(pm==1){
| |
− | number_to_seq_out = "To be 100 % sure, sequence infinitely many sequences.";
| |
− | }
| |
− | else{
| |
− | number_to_seq_out = "Unluckily we were unable to calculate the number of sequences to sequence to have a " + (pm*100) + "% probability for a positive result.";
| |
− | }
| |
− | }
| |
− | else{
| |
− | number_to_seq_out = "Sequence " + number_to_seq + " clones to have a " + (pm*100) + " % probability to have at least one mutated under the results.";
| |
− | }
| |
− | }
| |
− |
| |
− | //return the results
| |
− | $("#amount_mutations").html((Math.round(1000000 * a_mutations))/10000);
| |
− | $("#number_mutations").html((Math.round(n_mutations*100))/100);
| |
− | $("#amount_mutated").html((Math.round(100000 * a_mutated))/1000);
| |
− | $("#number_generations").html(ng_out);
| |
− | $("#number_to_seq").html(number_to_seq_out);
| |
− | $("#warnings_mutations").html(warnings);
| |
− |
| |
− |
| |
− | //end the function
| |
− | return false;
| |
− | }
| |
− |
| |
− |
| |
− |
| |
− | function glucosecont(){
| |
− | glucose('cont');
| |
− | }
| |
− |
| |
− | function glucosedis(){
| |
− | glucose('dis');
| |
− | }
| |
− | function glucosedisnew(){
| |
− | glucose('disnew');
| |
− | }
| |
− |
| |
− | function glucose(mode){
| |
− |
| |
− | //get the values
| |
− | var cturbidostat = Number(document.getElementById('cturbidostat').value);
| |
− | var cturbidostatmol = Number(document.getElementById('cturbidostatmol').value);
| |
− | var fr = Number(document.getElementById('fr').value);
| |
− | var ectiterod = Number(document.getElementById('ectiterod').value);
| |
− | var ectiterdw = Number(document.getElementById('ectiterdw').value);
| |
− | var q = Number(document.getElementById('q').value);
| |
− | var te = Number(document.getElementById('te').value);
| |
− | var gluc_time = Number(document.getElementById('gluc_time').value);
| |
− | var ec0dw = Number(document.getElementById('ec0dw').value);
| |
− | var ec0od = Number(document.getElementById('ec0od').value);
| |
− |
| |
− | //initialise variables
| |
− | var glucoseout = "";
| |
− | var glucosemedium = 0;
| |
− | var gl_OD = 0.36;
| |
− |
| |
− | if(ectiterdw == 0){
| |
− | ectiterdw = ectiterod * gl_OD;
| |
− | }
| |
− | else{
| |
− | ectiterod = ectiterdw/gl_OD;
| |
− | }
| |
− |
| |
− | if(cturbidostatmol != 0){
| |
− | cturbidostat = cturbidostatmol * 180.1559/1000.0;
| |
− | }
| |
− | else{
| |
− | cturbidostatmol = cturbidostat/(180.1559/1000.0);
| |
− | }
| |
− |
| |
− | if(te != 0){
| |
− | fr = Math.LN2/te;
| |
− | }
| |
− | else{
| |
− | te = fr * Math.LN2;
| |
− | }
| |
− |
| |
− | if(ec0dw == 0){
| |
− | ec0dw = ec0od * gl_OD;
| |
− | }
| |
− | else{
| |
− | ec0od = ec0dw/gl_OD;
| |
− | }
| |
− |
| |
− | if(mode=='cont'){
| |
− | //calculate
| |
− | glucosemedium = cturbidostat + ((ectiterdw * q)/fr);
| |
− |
| |
− | var glucosemediummol = glucosemedium/(180.1559/1000.0);
| |
− |
| |
− | //return the results
| |
− | glucoseout = "With a <b>glucose concentration of " + (0.01*Math.round(100*glucosemedium)) + " g/L, " +(0.01*Math.round(100*glucosemediummol)) + "mmol/l in the medium</b>, a flow rate of " + (0.01*Math.round(100*fr)) + " Volumes/h, or a generation time of " + Math.round(te) + " min, an <i>E. coli</i> titer of " + (0.01*Math.round(100*ectiterdw)) + " g/l, an OD600 of " + (0.01*Math.round(100*ectiterod)) + " and a degradation rate of " + (0.01*Math.round(100*q)) + " g l<sup>-1</sup>cfu<sup>-1</sup>h<sup>-1</sup> a concentration of " + (0.01*Math.round(100*cturbidostat)) + " g/L, " + (0.01*Math.round(100*cturbidostatmol)) + " mmol/l is maintained.";
| |
− |
| |
− | $("#glucoseplot").html('');
| |
− |
| |
− | }
| |
− | else{
| |
− | //calculate
| |
− | glucosemedium = cturbidostat + q * ec0dw * te * (Math.exp(gluc_time/te) - 1);
| |
− |
| |
− | var glucosemediummol = glucosemedium/(180.1559/1000.0);
| |
− |
| |
− | //return the results
| |
− | glucoseout = "With a <b>glucose concentration of " + (0.01*Math.round(100*Math.max(0,glucosemedium))) + " g/L, " +(0.01*Math.round(100*Math.max(0,glucosemediummol))) + "mmol/l in the medium</b>, a generation time of " + (0.01*Math.round(100*te)) + " min, an <i>E. coli</i> starting titer of " + (0.01*Math.round(100*ec0dw)) + " g/l, an OD600 of " + (0.01*Math.round(100*ec0od)) + " and a degradation rate of " + (0.01*Math.round(100*q)) + " g l<sup>-1</sup>cfu<sup>-1</sup>h<sup>-1</sup> a concentration of " + (0.01*Math.round(100*cturbidostat)) + " g/L, " + (0.01*Math.round(100* cturbidostatmol)) + " mmol/l is reached after " + gluc_time + " minutes.";
| |
− | }
| |
− |
| |
− | $("#glucoseout").html(glucoseout);
| |
− |
| |
− | //plot glucose concentration and e. coli titer
| |
− | if(mode!='cont'){
| |
− | var glucoseplot = document.getElementById('glucoseplot');
| |
− |
| |
− | var gluc_time_exp = 1.2 * gluc_time;
| |
− | var t = new Array(501);
| |
− | var cecoli = new Array(501);
| |
− | var cg = new Array(501);
| |
− |
| |
− | for(var it = 0; it <=500; it++){
| |
− | t[it] = it*gluc_time_exp/500;
| |
− |
| |
− | cecoli[it] = Math.max(0, ec0od * Math.exp(t[it]/te));
| |
− |
| |
− | cg[it] = Math.max(0, glucosemedium - (q * ec0dw * te * (Math.exp((t[it]/te)) - 1.0)));
| |
− | }
| |
− |
| |
− | var glucosedata = [{x: t,
| |
− | y: cg,
| |
− | name: 'Glucose [g/l]'},
| |
− | {x: t,
| |
− | y: cecoli,
| |
− | name: 'E. coli [OD600]',
| |
− | yaxis: 'y2'
| |
− | }];
| |
− |
| |
− | var layout = {
| |
− | title: 'Glucose concentration and phage titer in discontinuous culture',
| |
− | showlegend: true,
| |
− | width: glucoseplot.width,
| |
− | legend: {
| |
− | orientation: 'v',
| |
− | x: 1.15,
| |
− | xanchor: 'left',
| |
− | y: 1
| |
− | },
| |
− | xaxis: {
| |
− | title: 'Duration [min]',
| |
− | titlefont: {
| |
− | family: 'Courier New, monospace',
| |
− | size: 18,
| |
− | color: '#7f7f7f'
| |
− | },
| |
− | showgrid: false
| |
− | },
| |
− | yaxis: {
| |
− | title: 'Glucose concentration [g/l]',
| |
− | titlefont: {
| |
− | family: 'Courier New, monospace',
| |
− | size: 18,
| |
− | color: '#7f7f7f'
| |
− | },
| |
− | showgrid: false
| |
− | },
| |
− | yaxis2: {
| |
− | title: 'E. coli titer [OD600]',
| |
− | side: 'right',
| |
− | overlaying: 'y',
| |
− | titlefont: {
| |
− | family: 'Courier New, monospace',
| |
− | size: 18,
| |
− | color: '#7f7f7f'
| |
− | },
| |
− | showgrid: false
| |
− | },
| |
− | shapes: [{
| |
− | type: 'line',
| |
− | x0: gluc_time,
| |
− | x1: gluc_time,
| |
− | y0: 0,
| |
− | y1: cg[0],
| |
− | line:{
| |
− | width: 1,
| |
− | color: '#7f7f7f'
| |
− | }
| |
− | }]
| |
− | };
| |
− | if(mode=='disnew'){
| |
− | Plotly.newPlot(glucoseplot, glucosedata, layout);
| |
− | }
| |
− | else{
| |
− | Plotly.plot(glucoseplot, glucosedata, layout);
| |
− | }
| |
− | }
| |
− | }
| |
− |
| |
− |
| |
− | function differences(){
| |
− | //get the values
| |
− | var str1 = document.getElementById('str1').value;
| |
− | var str2 = document.getElementById('str2').value;
| |
− | str1 = str1.replace(/(\r\n|\n|\r)/gm,"");
| |
− | str2 = str2.replace(/(\r\n|\n|\r)/gm,"");
| |
− |
| |
− | //initialise variables
| |
− | var diff = [];
| |
− | var outstr1 = "";
| |
− | var outstr2 = "";
| |
− | var diffs = 0;
| |
− | var lendiffs = 0;
| |
− | var sharedlen = 0;
| |
− | var diffinfo = "";
| |
− | var str1_comp = str1;
| |
− | var str2_comp = str2;
| |
− |
| |
− | //calculate
| |
− |
| |
− | if(document.getElementById("case_sensitive").checked == false){
| |
− | str1_comp = str1.toLowerCase();
| |
− | str2_comp = str2.toLowerCase();
| |
− | }
| |
− |
| |
− | var i = 0;
| |
− | while(i < str1.length){
| |
− | if(i==str2.length){
| |
− | break;
| |
− | }
| |
− | if(str1_comp[i]==str2_comp[i]){
| |
− | outstr1 += str1[i];
| |
− | outstr2 += str2[i];
| |
− | }
| |
− | else{
| |
− | diffs += 1;
| |
− | outstr1 += '<span style="color: red">' + str1[i] + '</span>';
| |
− | outstr2 += '<span style="color: red">' + str2[i] + '</span>';
| |
− | }
| |
− | i++;
| |
− | }
| |
− | sharedlen = i;
| |
− | while(i < str1.length){
| |
− | outstr1 = outstr1 + '<span style="color: blue">' + str1[i] + '</span>';
| |
− | i++;
| |
− | lendiffs++;
| |
− | }
| |
− | while(i < str2.length){
| |
− | outstr2 = outstr2 + '<span style="color: blue">' + str2[i] + '</span>';
| |
− | i++;
| |
− | lendiffs++;
| |
− | }
| |
− | diffinfo = "The strings are different for " + diffs + " from " + sharedlen + " positions (" + (0.01*Math.round(10000*(diffs/sharedlen))) + "%)and their length differs by " + lendiffs + " positions.";
| |
− |
| |
− | //return the results
| |
− | $("#outstr1").html(outstr1);
| |
− | $("#outstr2").html(outstr2);
| |
− | $("#diffinfo").html(diffinfo);
| |
− |
| |
− | //end the function
| |
− | return false;
| |
− | }
| |
− |
| |
− | </script>
| |
− |
| |
− |
| |
− | <!-- Saved in parser cache with key 2014_igem_org:pcache:idhash:224-0!1!0!!en!2!edit=0 and timestamp 20170831072851 -->
| |
− | <div class="printfooter">
| |
− | Retrieved from "<a href="https://2014.igem.org/WikitemplateA_home">https://2014.igem.org/WikitemplateA_home</a>"</div>
| |
− | <div id="catlinks"><div id='catlinks' class='catlinks catlinks-allhidden'></div></div> <!-- end content -->
| |
− | <div class="visualClear"></div>
| |
− | </div>
| |
− | </div>
| |
− | <!-- PAGE FOOTER -- ITEMS FROM COLUMN ! HAVE BEEN MOVED HERE -- RDR -->
| |
− | <div class="visualClear"></div>
| |
− | <div id='footer-box' class='noprint'>
| |
− | <div id="footer">
| |
− | <div id="f-poweredbyico"><a href="http://www.mediawiki.org/"><img src="/wiki/skins/common/images/poweredby_mediawiki_88x31.png" height="31" width="88" alt="Powered by MediaWiki" /></a></div> <div id="f-copyrightico"><a href="http://creativecommons.org/licenses/by/3.0/"><img src="http://i.creativecommons.org/l/by/3.0/88x31.png" alt="Attribution 3.0 Unported" width="88" height="31" /></a></div> <ul id="f-list">
| |
− |
| |
− |
| |
− | <!-- Recentchanges is not handles well DEBUG -->
| |
− | <li id="t-recentchanges"><a href="/Special:RecentChanges"
| |
− | title='Recent changes'>Recent changes</a></li>
| |
− |
| |
− | <li id="t-whatlinkshere"><a href="/Special:WhatLinksHere/WikitemplateA_home"
| |
− | title="List of all wiki pages that link here [j]" accesskey="j">What links here</a></li>
| |
− |
| |
− | <li id="t-recentchangeslinked"><a href="/Special:RecentChangesLinked/WikitemplateA_home"
| |
− | title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li>
| |
− |
| |
− |
| |
− |
| |
− | <li id="t-specialpages"><a href="/Special:SpecialPages"
| |
− | title="List of all special pages [q]" accesskey="q">Special pages</a>
| |
− | </li>
| |
− | <li><a href='/Special:Preferences'>My preferences</a></li>
| |
− | </ul>
| |
− | </div> <!-- close footer -->
| |
− | <div id='footer'>
| |
− | <ul id="f-list">
| |
− |
| |
− | <li id="t-print"><a href="/wiki/index.php?title=WikitemplateA_home&printable=yes"
| |
− | title="Printable version of this page [p]" accesskey="p">Printable version</a>
| |
− | </li>
| |
− |
| |
− | <li id="t-permalink"><a href="/wiki/index.php?title=WikitemplateA_home&oldid=145279"
| |
− | title="Permanent link to this revision of the page">Permanent link</a>
| |
− | </li>
| |
− |
| |
− |
| |
− | <li id="privacy"><a href="/2014.igem.org:Privacy_policy" title="2014.igem.org:Privacy policy">Privacy policy</a></li>
| |
− | <li id="disclaimer"><a href="/2014.igem.org:General_disclaimer" title="2014.igem.org:General disclaimer">Disclaimers</a></li>
| |
− | </ul>
| |
− | </div> <!-- close footer -->
| |
− | </div> <!-- close footer-box -->
| |
− |
| |
− | <script>if (window.runOnloadHook) runOnloadHook();</script>
| |
− | </div>
| |
− | <!-- Served in 0.069 secs. --></body>
| |
− |
| |
− |
| |
− | </p>
| |
− | <!--
| |
− | NewPP limit report
| |
− | CPU time usage: 0.003 seconds
| |
− | Real time usage: 0.003 seconds
| |
− | Preprocessor visited node count: 4/1000000
| |
− | Preprocessor generated node count: 24/1000000
| |
− | Post‐expand include size: 0/2097152 bytes
| |
− | Template argument size: 0/2097152 bytes
| |
− | Highest expansion depth: 2/40
| |
− | Expensive parser function count: 0/100
| |
− | -->
| |
− |
| |
− | <!-- Saved in parser cache with key 2017_igem_org:pcache:idhash:19802-0!*!*!*!*!*!* and timestamp 20170926073158 and revision id 131201
| |
− | -->
| |
− | </div> <div class="visualClear"></div>
| |
− | </div>
| |
− | </div>
| |
− |
| |
− | </div>
| |
− |
| |
− | <!-- Side Menubar -->
| |
− | <div id="sideMenu">
| |
− | <a href="https://2017.igem.org">
| |
− | <div id="home_logo" >
| |
− | <img src="https://static.igem.org/mediawiki/2017/b/bf/HQ_menu_logo.jpg">
| |
− | </div>
| |
− | </a>
| |
− |
| |
− | <div style="clear:both; height:5px;"></div>
| |
− |
| |
− | <div id="menuDisplay"></div> <!- Menu will be loaded here ->
| |
− | </div>
| |
− |
| |
− | <!-- Pop_Why Div is definded here -->
| |
− | <div class="pop_why_cover"></div>
| |
− |
| |
− | <div class="pop_why_box" >
| |
− | <div class="pop_close">× </div>
| |
− | <div class="pop_why_content"><h3> Loading ... </h3></div>
| |
− | </div>
| |
− |
| |
− | </div>
| |
− | </html>
| |