Here is the link to download the file above.
m |
m |
||
(14 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Fudan-TSI}}< | + | {{Fudan-TSI}}<!-- jquery loaded by HQ 1.12.4 --> |
− | < | + | <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" /> | |
− | + | <link rel="stylesheet" type="text/css" href="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-css.css&action=raw&ctype=text/css" /> | |
− | --> | + | <style> |
− | <!-- | + | /*****************************************************************************/ |
− | < | + | /* DEFAULT WIKI SETTINGS */ |
− | + | /*****************************************************************************/ | |
+ | #home_logo, #sideMenu { display:none; } | ||
+ | #sideMenu, #top_title, .patrollink { display:none; } | ||
+ | #content { margin-left: 0; padding:0px; width:100%;} | ||
+ | .judges-will-not-evaluate { border: 4px solid #e4dede; padding: 2% !important; width: 92%!important; } | ||
+ | /* css clean * */ | ||
+ | #FudanTSIBody li { list-style: none; } | ||
+ | </style> | ||
+ | <title>Notebook | 2019 iGEM Team:Fudan-TSI</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | <div id="FudanTSIdivWrapper"><div id="FudanTSIBody"> | ||
+ | <header> | ||
+ | <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"> | ||
+ | <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 practices</a></li><li class="hide-on-med-and-down"><a class="dropdown-trigger" data-target="dropdown6">Team</a></li> | ||
+ | <li class="hide-on-med-and-down"><a href="/Team:Fudan-TSI/Judging">Judging</a></li> | ||
+ | <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> | ||
+ | <!-- Dropdown and List elements in navigation bar --> | ||
+ | <ul id="dropdown1" class="dropdown-content"> | ||
+ | <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> | ||
+ | </ul> | ||
+ | <ul id="dropdown2" class="dropdown-content"> | ||
+ | <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> | ||
+ | <ul id="dropdown3" class="dropdown-content"> | ||
+ | <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> | ||
+ | <ul id="dropdown4" class="dropdown-content"> | ||
+ | <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> | ||
+ | <ul id="dropdown5" class="dropdown-content"> | ||
+ | <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> | ||
+ | <ul id="dropdown6" class="dropdown-content"> | ||
+ | <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> | ||
− | |||
− | |||
− | + | <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">Notebook</span></p> | ||
+ | </div></li> | ||
+ | <li> | ||
+ | <ul class="collapsible expandable"> | ||
+ | <li class="onThisPageNav"><span>On this page</span></li> | ||
+ | <li class="onThisPageNav"><a href="#section1">section1</a></li> | ||
+ | <li class="onThisPageNav"><a href="#section2">section2</a></li> | ||
+ | <li class="onThisPageNav"><a href="#section3">section3</a></li> | ||
+ | <li class="onThisPageNav"><a href="#section4">section4</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 active"><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"><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/>Notebook</h1> | |
− | / | + | <p class="flow-text">We hereby present a toolbox for <i>in vivo</i> continuous mutation library construction. Our toolbox is orthogonal and provides a wide range of applications among various species.</p> |
− | body, | + | </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> | ||
+ | <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 |
− | + | 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> | ||
+ | <div style="position:absolute;top:100px;left:9%"><center><img style="height:120px;width:auto" alt="cover notebook" src="https://static.igem.org/mediawiki/2019/4/4b/T--Fudan-TSI--coverNotebook.gif" /></center></div> | ||
+ | </div> | ||
+ | </div> | ||
− | + | <!--//////////////////////////////////////////////////// | |
− | <!-- | + | do not edit above, if must BE CAREFUL |
− | + | //////////////////////////////////////////////////////--> | |
− | + | <div class="container"> | |
− | + | <!-- side navigator of page content --> | |
− | + | <!-- main content of the page --> | |
− | + | <main style="margin:0"><article> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | <div class="section container"> | |
− | + | <embed src="https://static.igem.org/mediawiki/2019/a/a3/T--Fudan-TSI--Notebook.pdf" width="100%" height="600px" type="application/pdf" /> | |
− | + | <p>Here is <a target="_blank" href="https://static.igem.org/mediawiki/2019/a/a3/T--Fudan-TSI--Notebook.pdf">the link</a> to download the file above.</p> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</div> | </div> | ||
− | <!-- | + | <!--//////////////////////////////////////////////////// |
− | + | do not edit below, if must BE CAREFUL | |
− | + | //////////////////////////////////////////////////////--> | |
+ | </article></main></div><!-- end of side navigator and main of the page --> | ||
− | <!-- | + | <!-- Floating Btns, Footer with sponsors --> |
− | < | + | <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 active"> <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"> <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"> </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 --> | ||
+ | <script src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/materialize.js&action=raw&ctype=text/javascript"></script><!-- Materialize 1.0.0-rc.2 --> | ||
+ | <script src="https://2019.igem.org/wiki/index.php?title=Template:Fudan-TSI/Fudan-js.js&action=raw&ctype=text/javascript"></script> | ||
</body> | </body> | ||
</html> | </html> |
Latest revision as of 05:51, 16 November 2019
Notebook