Difference between revisions of "Team:HFUT-China"
Line 1: | Line 1: | ||
<html lang="en"> | <html lang="en"> | ||
+ | |||
<head> | <head> | ||
− | + | <meta charset="UTF-8"> | |
− | + | <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1"> | |
− | + | <title>HFUT-China</title> | |
− | + | <link rel="stylesheet" type="text/css" href="css/index.css"> | |
− | + | <link rel="stylesheet" type="text/css" href="https://2015.igem.org/Team:HFUT-China/ghcss?action=raw&ctype=text/css"> | |
− | + | <link rel="stylesheet" type="text/css" href="https://2015.igem.org/Team:HFUT-China/bootstrapcss?action=raw&ctype=text/css"> | |
− | + | <link rel="stylesheet" type="text/css" href="https://2015.igem.org/Team:HFUT-China/onepagecss?action=raw&ctype=text/css"> | |
− | + | <script type="text/javascript" src="https://2015.igem.org/Team:HFUT-China/jqjs? | |
action=raw&ctype=text/javascript"></script> | action=raw&ctype=text/javascript"></script> | ||
− | + | <script type="text/javascript" src="https://2015.igem.org/Team:HFUT-China/btsjs? | |
action=raw&ctype=text/javascript"></script> | action=raw&ctype=text/javascript"></script> | ||
− | + | <script type="text/javascript" src="https://2015.igem.org/Team:HFUT-China/onepagejs? | |
action=raw&ctype=text/javascript"></script> | action=raw&ctype=text/javascript"></script> | ||
− | + | <script type="text/javascript" src="https://2015.igem.org/Team:HFUT-China/snapsvg? | |
action=raw&ctype=text/javascript"></script> | action=raw&ctype=text/javascript"></script> | ||
− | <script> | + | <script> |
− | + | if ($('.firstHeading')) $('.firstHeading').remove(); | |
</script> | </script> | ||
− | <style> | + | <style> |
− | #contentSub, #contentcontainer, #footer-box, #sitesub, #catlinks, #search-controls, #p-logo, .h3, .printfooter, .firstHeading, .visualClear {display: none;} /*-- hides default wiki settings --*/ | + | #contentSub, |
− | + | #contentcontainer, | |
− | #globalWrapper, #content { /*-- changes default wiki settings --*/ | + | #footer-box, |
− | + | #sitesub, | |
− | + | #catlinks, | |
− | + | #search-controls, | |
− | + | #p-logo, | |
− | + | .h3, | |
− | + | .printfooter, | |
− | } | + | .firstHeading, |
− | /* disable IGEM's style */ | + | .visualClear { |
− | /* | + | display: none; |
− | #bodyContent{ | + | } |
− | + | /*-- hides default wiki settings --*/ | |
− | + | ||
− | }*/ | + | #globalWrapper, |
− | /* | + | #content { |
+ | /*-- changes default wiki settings --*/ | ||
+ | width: 100%; | ||
+ | height: 100%; | ||
+ | border: 0px; | ||
+ | background-color: transparent; | ||
+ | margin: 0px; | ||
+ | padding: 0px; | ||
+ | } | ||
+ | /* disable IGEM's style */ | ||
+ | /* | ||
+ | #bodyContent { | ||
+ | width: 100%; | ||
+ | height: 100%; | ||
+ | }*/ | ||
+ | /* | ||
#bodyContent h1, #bodyContent h2, #bodyContent h3, #bodyContent h4, #bodyContent h5, #bodyContent h6 { | #bodyContent h1, #bodyContent h2, #bodyContent h3, #bodyContent h4, #bodyContent h5, #bodyContent h6 { | ||
border-bottom: none; | border-bottom: none; | ||
Line 53: | Line 69: | ||
font-size: 100%; | font-size: 100%; | ||
}*/ | }*/ | ||
− | + | </style> | |
− | </style> | + | |
</head> | </head> | ||
+ | |||
<body> | <body> | ||
− | + | <nav id="globalheader" class="globalheader" role="navigation" aria-label="Global Navigation"> | |
<div id="gh-content" class="gh-content"> | <div id="gh-content" class="gh-content"> | ||
<ul class="gh-nav-list navbar-nav"> | <ul class="gh-nav-list navbar-nav"> | ||
Line 63: | Line 79: | ||
<a href="https://2015.igem.org/Team:HFUT-China" class="gh-tab-link"> | <a href="https://2015.igem.org/Team:HFUT-China" class="gh-tab-link"> | ||
<div class="gh-logo"> | <div class="gh-logo"> | ||
− | + | <img src="https://static.igem.org/mediawiki/2015/e/eb/Logo_white_small.png" alt="35x35" class="img-rounded" style="width: 35px;height: 35px;"> | |
</div> | </div> | ||
</a> | </a> | ||
</li> | </li> | ||
<li class="gh-tab"><a href="#" class="gh-tab-link">Software</a></li> | <li class="gh-tab"><a href="#" class="gh-tab-link">Software</a></li> | ||
− | + | <li class="gh-tab"><a href="#" class="gh-tab-link">Design</a></li> | |
− | + | <li class="gh-tab"><a href="https://2015.igem.org/Team:HFUT-China/Description" class="gh-tab-link">Description</a></li> | |
− | + | <li class="gh-tab"><a href="#" class="gh-tab-link">Documents</a></li> | |
− | + | <li class="gh-tab"><a href="https://2015.igem.org/Team:HFUT-China/Practices" class="gh-tab-link">Human Practices</a></li> | |
− | + | <li class="gh-tab"><a href="https://2015.igem.org/Team:HFUT-China/Collaborations" class="gh-tab-link">Collaborations</a></li> | |
− | + | <li class="gh-tab"><a href="https://2015.igem.org/Team:HFUT-China/Team" class="gh-tab-link">Team</a></li> | |
− | + | <li class="gh-tab"><a href="https://2015.igem.org/Team:HFUT-China/Attributions" class="gh-tab-link">Attributors</a></li> | |
− | </ul> <!-- ul.gh-nav-list --> | + | </ul> |
− | </div> <!-- div#gh-content --> | + | <!-- ul.gh-nav-list --> |
− | </nav> <!-- nav#globalheader --> | + | </div> |
− | + | <!-- div#gh-content --> | |
− | + | </nav> | |
− | + | <!-- nav#globalheader --> | |
− | + | <div class="container main"> | |
− | + | <section class="intro brief"> | |
− | + | <figure class="title-logo"></figure> | |
− | + | <div class="title">BioDesigner</div> | |
− | + | <div class="slogn">All you want, right here</div> | |
− | + | <div class="presentation box inline-box"> | |
− | + | <div class="left-trigger"> | |
− | + | <button id="left"></button> | |
− | + | </div> | |
− | + | <div class="big-img"> | |
− | + | <figure class="project"> | |
− | + | </figure> | |
− | + | </div> | |
− | + | <div class="right-trigger"> | |
− | + | <button id="right"></button> | |
− | + | </div> | |
− | + | </div> | |
− | + | </section> | |
− | + | <section class="intro desc"> | |
− | + | <div class="desc jumbotron"> | |
− | + | <div class="desc-title">What is BioDesigner</div> | |
− | + | <p class="desc-words">BioDesigner is a smart assistant tool for Synthetic Biology design. Helping Synthetic Biologist make more creative products is BioDesigner's final purpose. With this idea, BioDesigner presents all valuable informations to the user. Also by improving the BioBrick searching process and providing practical BioBrick during the design process, BioDesigner leads Synthetic Biology design to a new level. </p> | |
− | + | </div> | |
− | + | <div class="img-logo"> | |
− | + | <svg id="test" width="100%" height="100%" viewBox="0 0 200 200"></svg> | |
− | + | </div> | |
− | + | </section> | |
− | + | <section class="intro search"> | |
− | + | <div class="search-anim"> | |
− | + | <svg id="search" width="100%" height="100%" viewBox="0 0 500 500"> | |
− | + | </svg> | |
− | + | </div> | |
− | + | <div class="func-desc jumbotron"> | |
− | + | <div class="func-title">Search</div> | |
− | + | <div class="func-subtitle">Search BioBricks, but more than BioBricks</div> | |
− | + | <p class="func-words">Searching for a part is the most fundamental step in Synthetic Biolody. With BioDesigner's powerful search tool, you can search parts by typing what you what, and the costum-built result will be presented to you. But what BioDesigner can do is more than that. Lots of valuable information will also be presented to the user, like some basic information, and most important one, is a parts' related papers. By collecting lots of information together, user can get more than BioBricks.</p> | |
− | + | </div> | |
− | + | </section> | |
− | + | <section class="intro recommend"> | |
− | + | <div class="recommend-anim"> | |
− | + | <svg id="recommend" width="100%" height="100%" viewBox="0 0 500 500"> | |
− | + | </svg> | |
− | + | </div> | |
− | + | <div class="func-desc jumbotron"> | |
− | + | <div class="func-title">Recommendation</div> | |
− | + | <div class="func-subtitle">Select in selection, not Search in ocean</div> | |
− | + | <p class="func-words">The decision of a part is always a pain point to every Synthetic Biology researcher. BioDesigner is the assistant which can help users make that decision. By analyzing users' design with lots of datas, BioDesigner can provide useful parts as a recommendation to the user. Also, by lots of data analyze of part's function, the recommendation will adjust to your design. BioDesigner can also show you relations between different proteins and genes. With lots of hard working, by providing all those valuable informations, the decision of part won't be that hard.</p> | |
− | + | </div> | |
− | + | </section> | |
− | + | <section class="intro simulation"> | |
− | + | <div class="simu-anim"> | |
− | + | <svg id="simulation" width="100%" height="100%" viewBox="0 0 500 500"> | |
− | + | </svg> | |
− | + | </div> | |
− | + | <div class="func-desc jumbotron"> | |
− | + | <div class="func-title">Simulation</div> | |
− | + | <div class="func-subtitle">Tell how it works, before you do your works</div> | |
− | + | <p class="func-words">Traditionally, the test of a Synthetic Biology design is by doing lots of experiments, which can be a extremely time-consuming process. By using SSA algorithm, BioDesigner can show a glance of how the design will performed to the user. With BioDesigner's interactive simulator, user can check amount of a certain compound at any time, or during any time period.</p> | |
− | <script type="text/javascript"> | + | </div> |
− | + | </section> | |
− | + | </div> | |
− | </script> | + | <!-- div.container-fluid --> |
− | <script type="text/javascript"> | + | <script type="text/javascript"> |
− | + | window.image_index = 0; | |
+ | window.total_image = 3; | ||
+ | </script> | ||
+ | <script type="text/javascript"> | ||
+ | $(document).ready(function() { | ||
− | + | $('.main').onepage_scroll({ | |
− | + | sectionContainer: "section", | |
− | + | easing: "ease", | |
− | + | animationTime: 1000, | |
− | + | pagination: true, | |
− | + | afterMove: function(index) { | |
− | + | drawContent(index); | |
− | + | }, | |
− | + | loop: false, | |
− | + | keyboard: true, | |
− | + | direction: "vertical" | |
− | + | }) | |
− | + | }); | |
− | </script> | + | </script> |
− | <script type="text/javascript"> | + | <script type="text/javascript"> |
− | + | $(document).on({ | |
− | + | click: function() { | |
− | + | window.image_index -= 1; | |
− | + | if (window.image_index < 0) { | |
− | + | window.image_index = window.total_image - 1; | |
− | + | } | |
− | + | var image_width = $('figure.project').width(); | |
− | + | var new_width = image_width * window.image_index; | |
− | + | var pos_str = '-' + new_width + 'px 0px'; | |
− | + | console.log(pos_str); | |
− | + | $('figure.project').css('background-position', pos_str); | |
− | + | } | |
− | + | }, 'button#left'); | |
− | </script> | + | </script> |
− | <script type="text/javascript"> | + | <script type="text/javascript"> |
− | + | $(document).on({ | |
− | + | click: function() { | |
− | + | window.image_index += 1; | |
− | + | if (window.image_index >= window.total_image) { | |
− | + | window.image_index = 0; | |
− | + | } | |
− | + | var image_width = $('figure.project').width(); | |
− | + | var new_width = image_width * window.image_index; | |
− | + | var pos_str = '-' + new_width + 'px 0px'; | |
− | + | console.log(pos_str); | |
− | + | $('figure.project').css('background-position', pos_str); | |
− | + | } | |
− | + | }, 'button#right'); | |
− | </script> | + | </script> |
− | <script type="text/javascript"> | + | <script type="text/javascript"> |
− | + | function drawContent(index) { | |
− | + | if (index == 1) {} else if (index == 2) { | |
− | + | drawLogo(); | |
− | + | } else if (index == 3) { | |
− | + | animate_search(); | |
− | + | } else if (index == 4) { | |
− | + | animate_recommendation(); | |
− | + | } else if (index == 5) { | |
− | + | animate_simulate(); | |
− | + | } | |
− | + | } | |
− | + | </script> | |
− | </script> | + | <script type="text/javascript"> |
− | <script type="text/javascript"> | + | function drawSearch() { |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | } | |
− | + | </script> | |
− | + | <script type="text/javascript"> | |
− | + | function drawLogo() { | |
− | + | var s = Snap('#test'); | |
− | + | s.clear(); | |
− | + | var path1 = s.path('M27.014,120.007c-10.25-0.183-17.187,7.394-17.066,16.297c0.098,6.935,5.523,13.152,12.199,14.747c6.874,1.639,13.909-1.388,17.399-7.665c0.741-1.344,1.518-1.735,2.992-1.731c16.309,0.054,32.618,0.064,48.929-0.008c1.657-0.005,2.524,0.444,3.34,1.918c3.516,6.372,10.816,9.386,17.763,7.511c6.847-1.848,12.005-8.626,11.812-15.52c-0.194-6.922-5.247-13.241-11.95-14.947c-6.913-1.755-14.021,1.145-17.527,7.374c-0.811,1.444-1.711,1.759-3.194,1.755c-16.388-0.037-32.774-0.042-49.162,0.004c-1.43,0.007-2.239-0.31-3.006-1.678C36.647,122.908,32.09,120.279,27.014,120.007z M55.312,69.361c0.203,0.152,0.354,0.22,0.441,0.337c2.129,2.763,4.324,5.478,6.328,8.332c0.502,0.714,0.683,1.916,0.509,2.793c-0.713,3.628,1.352,6.981,4.809,7.515c3.583,0.559,6.754-1.909,7.011-5.448c0.257-3.516-2.463-6.337-6.139-6.458c-0.688-0.024-1.639-0.141-1.996-0.588c-2.464-3.048-4.801-6.198-7.146-9.272c5.118-6.465,5.876-13.023,1.653-20.015c-0.29-0.48-0.107-1.576,0.267-2.085c2.03-2.738,4.266-5.332,6.278-8.086c1.065-1.46,1.935-1.931,3.878-1.285c8.596,2.837,17.725-2.468,19.888-11.325c2.206-9.052-3.742-17.634-13.488-19.446c-7.699-1.431-16.192,5.197-17.41,13.522c-0.635,4.353,0.549,8.231,2.947,11.804c-2.572,3.273-5.134,6.376-7.514,9.609c-0.994,1.349-1.823,1.697-3.524,1.175c-7.82-2.411-16.154,1.783-19.083,9.419c-2.895,7.544,0.432,16.141,7.694,19.717C45.607,71.99,50.522,71.729,55.312,69.361z M45.403,101.716c0.668,0.135,1.12,0.203,1.561,0.314c7.917,2.062,15.845,4.093,23.737,6.255c0.708,0.198,1.444,1.168,1.717,1.938c1.536,4.354,5.158,7.015,9.638,6.898c4.238-0.111,7.947-2.972,9.091-7.011c1.183-4.164-0.505-8.581-4.165-10.908c-3.705-2.355-8.286-1.895-11.834,1.004c-0.67,0.548-1.905,0.888-2.721,0.688c-7.65-1.881-15.257-3.952-22.912-5.832c-1.876-0.46-2.623-1.251-2.934-3.244c-1.299-8.387-9.561-14.011-18.171-12.6c-8.456,1.386-14.186,9.647-12.727,18.345c1.377,8.194,9.483,14.012,17.705,12.752C38.81,109.486,42.664,106.476,45.403,101.716z'); | |
− | + | ||
− | + | ||
− | + | path1.attr({ | |
− | + | id: "pathA", | |
− | + | fill: "none", | |
− | + | strokeWidth: "1", | |
− | + | stroke: "#000", | |
− | + | strokeMiterLimit: "10", | |
− | + | strokeDasharray: "9 9", | |
− | + | strokeDashOffset: "988.01" | |
− | + | }); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | var len1 = path1.getTotalLength(); | |
− | + | path1.attr({ | |
− | + | stroke: '#000', | |
+ | strokeWidth: 1, | ||
+ | fill: '#E6E6E6', | ||
+ | // Draw Path | ||
+ | "stroke-dasharray": len1 + " " + len1, | ||
+ | "stroke-dashoffset": len1 | ||
+ | }).animate({ | ||
+ | "stroke-dashoffset": 10 | ||
+ | }, 2000, mina.easeout, function() { | ||
+ | path1.animate({ | ||
+ | fill: '#000' | ||
+ | }, 1000); | ||
+ | }); | ||
+ | } | ||
+ | </script> | ||
+ | <script type="text/javascript"> | ||
+ | function animate_recommendation() { | ||
+ | var ss = Snap('#recommend'); | ||
+ | ss.clear(); | ||
+ | var first_image = ss.image('https://static.igem.org/mediawiki/2015/2/20/Blue_biobrick.png', 250, 500, 99, 174); | ||
+ | var second_image = ss.image('https://static.igem.org/mediawiki/2015/2/20/Blue_biobrick.png', -130, 184, 99, 174); | ||
+ | var recommend_image1 = ss.image('https://static.igem.org/mediawiki/2015/f/fd/Green_biobrick.png', 175, 75, 99, 174).attr({ | ||
+ | 'opacity': 0 | ||
+ | }); | ||
+ | var recommend_image2 = ss.image('https://static.igem.org/mediawiki/2015/0/08/Red_biobrick.png', 320, 75, 99, 174).attr({ | ||
+ | 'opacity': 0 | ||
+ | }); | ||
+ | first_image.animate({ | ||
+ | y: 290 | ||
+ | }, 1000, mina.easeout, function() { | ||
+ | second_image.animate({ | ||
+ | x: 250 | ||
+ | }, 1300, mina.easeout, function() { | ||
+ | recommend_image1.animate({ | ||
+ | 'opacity': 1 | ||
+ | }, 1000); | ||
+ | recommend_image2.animate({ | ||
+ | 'opacity': 1 | ||
+ | }, 700, function() { | ||
+ | recommend_image1.animate({ | ||
+ | x: 250 | ||
+ | }, 1000); | ||
+ | recommend_image2.animate({ | ||
+ | 'opacity': 0 | ||
+ | }, 750); | ||
+ | }); | ||
+ | }); | ||
+ | }); | ||
+ | } | ||
+ | </script> | ||
+ | <script type="text/javascript"> | ||
+ | function animate_search() { | ||
+ | var ss = Snap('#search'); | ||
+ | ss.clear(); | ||
+ | var bb_image = ss.image('https://static.igem.org/mediawiki/2015/2/20/Blue_biobrick.png', 300, 410, 40, 70); | ||
− | + | var hook_image = ss.image('https://static.igem.org/mediawiki/2015/e/e8/Search_hook.png', 290, -153, 61, 153); | |
− | + | var cloud_image = ss.image('https://static.igem.org/mediawiki/2015/8/87/Search_cloud.png', 250, 400, 144, 80); | |
− | + | var name_image = ss.image('https://static.igem.org/mediawiki/2015/8/86/Name.png', 300, 210, 50, 50).attr({ | |
− | + | 'opacity': 0 | |
+ | }); | ||
+ | var paper_image = ss.image('https://static.igem.org/mediawiki/2015/b/b2/Paper.png', 300, 210, 50, 50).attr({ | ||
+ | 'opacity': 0 | ||
+ | }); | ||
+ | var type_image = ss.image('https://static.igem.org/mediawiki/2015/5/5f/Type.png', 300, 210, 50, 50).attr({ | ||
+ | 'opacity': 0 | ||
+ | }); | ||
+ | var desc_image = ss.image('https://static.igem.org/mediawiki/2015/8/85/DESC.png', 300, 210, 50, 50).attr({ | ||
+ | 'opacity': 0 | ||
+ | }); | ||
+ | hook_image.animate({ | ||
+ | y: 300 | ||
+ | }, 1000, mina.easeout, function() { | ||
+ | hook_image.animate({ | ||
+ | y: 100 | ||
+ | }, 1500); | ||
+ | bb_image.animate({ | ||
+ | y: 210 | ||
+ | }, 1500, function() { | ||
+ | name_image.animate({ | ||
+ | 'opacity': 1, | ||
+ | x: 230, | ||
+ | y: 150, | ||
+ | width: 65, | ||
+ | height: 65 | ||
+ | }, 1000); | ||
+ | paper_image.animate({ | ||
+ | 'opacity': 1, | ||
+ | x: 230, | ||
+ | y: 270, | ||
+ | width: 65, | ||
+ | height: 65 | ||
+ | }, 1000); | ||
+ | type_image.animate({ | ||
+ | 'opacity': 1, | ||
+ | x: 350, | ||
+ | y: 150, | ||
+ | width: 65, | ||
+ | height: 65 | ||
+ | }, 1000); | ||
+ | desc_image.animate({ | ||
+ | 'opacity': 1, | ||
+ | x: 350, | ||
+ | y: 270, | ||
+ | width: 65, | ||
+ | height: 65 | ||
+ | }, 1000); | ||
+ | }); | ||
+ | }) | ||
+ | } | ||
+ | </script> | ||
+ | <script type="text/javascript"> | ||
+ | function animate_simulate() { | ||
+ | var ss = Snap('#simulation'); | ||
+ | ss.clear(); | ||
+ | var linex = ss.path('M395.667,349.333L416.501,357.666L395.5,366.625L395.5,359.5L73,359.5').attr({ | ||
+ | fill: 'none', | ||
+ | stroke: '#FFFFFF', | ||
+ | strokeWidth: 5, | ||
+ | 'stroke-linecap': 'round', | ||
+ | 'stroke-linejoin': 'round', | ||
+ | 'stroke-miterlimit': 10, | ||
+ | strokeDasharray: "9 9", | ||
+ | strokeDashOffset: "988.01" | ||
+ | }); | ||
+ | var liney = ss.path('M119.417,164.417L110.959,144.041L102.5,166.5L109.5,166.5L109.5,394').attr({ | ||
+ | fill: 'none', | ||
+ | stroke: '#FFFFFF', | ||
+ | 'stroke-width': 5, | ||
+ | 'stroke-linecap': 'round', | ||
+ | 'stroke-linejoin': 'round', | ||
+ | 'stroke-miterlimit': 10, | ||
+ | strokeDasharray: "9 9", | ||
+ | strokeDashOffset: "988.01" | ||
+ | }); | ||
+ | var line1 = ss.path('M136,172.094L196.699,295.088L256,311L315,321L376,327.667').attr({ | ||
+ | fill: 'none', | ||
+ | stroke: '#5FAEFF', | ||
+ | 'stroke-width': 7, | ||
+ | 'stroke-linecap': 'round', | ||
+ | 'stroke-linejoin': 'round', | ||
+ | 'stroke-miterlimit': 10, | ||
+ | strokeDasharray: "9 9", | ||
+ | strokeDashOffset: "988.01" | ||
+ | }); | ||
+ | var line2 = ss.path('M136,331.5L196.699,249.881L256,241.091L315,200.333L376,195').attr({ | ||
+ | fill: 'none', | ||
+ | stroke: '#2FCE71', | ||
+ | 'stroke-width': 7, | ||
+ | 'stroke-linecap': 'round', | ||
+ | 'stroke-linejoin': 'round', | ||
+ | 'stroke-miterlimit': 10, | ||
+ | strokeDasharray: "9 9", | ||
+ | strokeDashOffset: "988.01" | ||
+ | }); | ||
+ | var lenx = linex.getTotalLength(); | ||
+ | var leny = liney.getTotalLength(); | ||
+ | var len1 = line1.getTotalLength(); | ||
+ | var len2 = line2.getTotalLength(); | ||
+ | line1.attr({ | ||
+ | "stroke-dasharray": len1 + " " + len1, | ||
+ | "stroke-dashoffset": len1 | ||
+ | }); | ||
+ | line2.attr({ | ||
+ | "stroke-dasharray": len2 + " " + len2, | ||
+ | "stroke-dashoffset": len2 | ||
+ | }); | ||
− | + | linex.attr({ | |
− | + | stroke: '#fff', | |
− | + | strokeWidth: 5, | |
− | + | ||
− | + | // Draw Path | |
− | + | "stroke-dasharray": lenx + " " + lenx, | |
− | + | "stroke-dashoffset": lenx | |
− | + | }).animate({ | |
− | + | "stroke-dashoffset": 10 | |
− | + | }, 2000, mina.easeout, function() { | |
− | + | ||
− | + | }); | |
− | + | liney.attr({ | |
− | + | stroke: '#fff', | |
− | + | strokeWidth: 5, | |
− | + | ||
− | + | ||
− | + | ||
− | + | // Draw Path | |
− | + | "stroke-dasharray": leny + " " + leny, | |
− | + | "stroke-dashoffset": leny | |
− | + | }).animate({ | |
− | + | "stroke-dashoffset": 10 | |
− | + | }, 2000, mina.easeout, function() { | |
− | + | line1.attr({ | |
− | </script> | + | stroke: '#5FAEFF', |
+ | strokeWidth: 7, | ||
+ | |||
+ | // Draw Path | ||
+ | "stroke-dasharray": len1 + " " + len1, | ||
+ | "stroke-dashoffset": len1 | ||
+ | }).animate({ | ||
+ | "stroke-dashoffset": 10 | ||
+ | }, 2000, mina.easeout, function() { | ||
+ | line2.attr({ | ||
+ | stroke: '#2FCE71', | ||
+ | strokeWidth: 7, | ||
+ | |||
+ | // Draw Path | ||
+ | "stroke-dasharray": len2 + " " + len2, | ||
+ | "stroke-dashoffset": len2 | ||
+ | }).animate({ | ||
+ | "stroke-dashoffset": 10 | ||
+ | }, 2000, mina.easeout) | ||
+ | }); | ||
+ | }); | ||
+ | } | ||
+ | </script> | ||
</body> | </body> | ||
+ | |||
</html> | </html> |
Revision as of 14:34, 16 September 2015
BioDesigner is a smart assistant tool for Synthetic Biology design. Helping Synthetic Biologist make more creative products is BioDesigner's final purpose. With this idea, BioDesigner presents all valuable informations to the user. Also by improving the BioBrick searching process and providing practical BioBrick during the design process, BioDesigner leads Synthetic Biology design to a new level.
Searching for a part is the most fundamental step in Synthetic Biolody. With BioDesigner's powerful search tool, you can search parts by typing what you what, and the costum-built result will be presented to you. But what BioDesigner can do is more than that. Lots of valuable information will also be presented to the user, like some basic information, and most important one, is a parts' related papers. By collecting lots of information together, user can get more than BioBricks.
The decision of a part is always a pain point to every Synthetic Biology researcher. BioDesigner is the assistant which can help users make that decision. By analyzing users' design with lots of datas, BioDesigner can provide useful parts as a recommendation to the user. Also, by lots of data analyze of part's function, the recommendation will adjust to your design. BioDesigner can also show you relations between different proteins and genes. With lots of hard working, by providing all those valuable informations, the decision of part won't be that hard.
Traditionally, the test of a Synthetic Biology design is by doing lots of experiments, which can be a extremely time-consuming process. By using SSA algorithm, BioDesigner can show a glance of how the design will performed to the user. With BioDesigner's interactive simulator, user can check amount of a certain compound at any time, or during any time period.