Team:Waterloo
From 2013.igem.org
(Description popups when clicking people images.) |
(Fix ability to display popups more than once.) |
||
Line 71: | Line 71: | ||
.layer { | .layer { | ||
position: absolute; | position: absolute; | ||
- | height: | + | height: 800px; |
width: 18000px; | width: 18000px; | ||
} | } | ||
Line 91: | Line 91: | ||
} | } | ||
.page { | .page { | ||
- | height: | + | height: 800px; |
width: 1905px; | width: 1905px; | ||
float: left; | float: left; | ||
Line 102: | Line 102: | ||
.pageStuff { | .pageStuff { | ||
color: white; | color: white; | ||
- | width: | + | width: 685px; |
- | height: | + | height: 750px; |
- | margin-left: | + | margin-left: 745px; |
padding-top: 15px; | padding-top: 15px; | ||
} | } | ||
Line 119: | Line 119: | ||
} | } | ||
.navBar { | .navBar { | ||
- | + | z-index: 20; | |
- | + | position: absolute; | |
- | + | width: 225px; | |
- | + | height: 730px; | |
- | + | /*left: 465px;*/ | |
- | + | padding: 10px 20px 10px 20px; | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | padding: | + | |
color: white; | color: white; | ||
Line 179: | Line 164: | ||
} | } | ||
.placeHolder { | .placeHolder { | ||
- | height: | + | height: 800px; |
} | } | ||
.largeLogo { | .largeLogo { | ||
width: 575px; | width: 575px; | ||
- | margin: 150px 0 0 | + | margin: 150px 0 0 50px; |
} | } | ||
.pageLinks { | .pageLinks { | ||
- | + | margin: 30px 0 10px 0; | |
} | } | ||
Line 246: | Line 231: | ||
} | } | ||
+ | .shownSublinks { | ||
+ | } | ||
+ | .hiddenSublinks { | ||
+ | } | ||
.link { | .link { | ||
font-size: 24px; | font-size: 24px; | ||
line-height: 25px; | line-height: 25px; | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
} | } | ||
.sublink { | .sublink { | ||
- | margin: 0 0 14px | + | margin: 0 0 14px 20px; |
font-size: 20px; | font-size: 20px; | ||
line-height: 23px; | line-height: 23px; | ||
+ | } | ||
+ | /* TODO animate resizing this */ | ||
+ | .hiddenSublinks .sublink { | ||
+ | display: none; | ||
} | } | ||
.socialButtons { | .socialButtons { | ||
- | + | position: absolute; | |
+ | top: 590px | ||
} | } | ||
#bodyContent .socialButtons a { | #bodyContent .socialButtons a { | ||
Line 319: | Line 300: | ||
width: 500px; | width: 500px; | ||
position: absolute; | position: absolute; | ||
- | left: | + | left: 545px; |
top: 300px; | top: 300px; | ||
} | } | ||
Line 420: | Line 401: | ||
this.links = []; | this.links = []; | ||
this.sublinks = []; | this.sublinks = []; | ||
- | this. | + | this.linkWrappers = []; |
- | + | this.focus = 0; | |
- | this.focus = | + | |
- | + | ||
} | } | ||
NavBar.prototype.addLink = function(link, sublinks) { | NavBar.prototype.addLink = function(link, sublinks) { | ||
Line 432: | Line 411: | ||
this.sublinks.push(sublinks); | this.sublinks.push(sublinks); | ||
}; | }; | ||
- | NavBar.prototype. | + | NavBar.prototype.showSectionOnly = function(section_idx) { |
- | + | for (var i = 0; i < this.linkWrappers.length; i++) { | |
- | this. | + | var wrapper = this.linkWrappers[i]; |
- | + | if (i === section_idx) { | |
- | + | wrapper.removeClass('hiddenSublinks'); | |
- | + | wrapper.addClass('shownSublinks'); | |
- | + | ||
- | + | ||
} else { | } else { | ||
- | + | wrapper.removeClass('shownSublinks'); | |
+ | wrapper.addClass('hiddenSublinks'); | ||
} | } | ||
- | |||
- | |||
} | } | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
}; | }; | ||
NavBar.prototype.render = function() { | NavBar.prototype.render = function() { | ||
- | var page_links = $('< | + | var page_links = $('<ul class="pageLinks" />'); |
for (var i = 0; i < this.links.length; i++) { | for (var i = 0; i < this.links.length; i++) { | ||
- | var | + | var link_wrapper = $('<li class="hiddenSublinks"/>'); |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
var link_string = '<div class="link"><a href="{0}">{1}</a></div>'; | var link_string = '<div class="link"><a href="{0}">{1}</a></div>'; | ||
- | var link = $(link_string.format(this.links[i].link, | + | var link = $(link_string.format(this.links[i].link, this.links[i].text)); |
- | + | link_wrapper.append(link); | |
var sublinks = this.sublinks[i]; | var sublinks = this.sublinks[i]; | ||
Line 486: | Line 435: | ||
var sublink_string = '<div class="sublink"><a href="{0}">{1}</a></div>'; | var sublink_string = '<div class="sublink"><a href="{0}">{1}</a></div>'; | ||
var sublink = $(sublink_string.format(sublinks[j].link, sublinks[j].text)); | var sublink = $(sublink_string.format(sublinks[j].link, sublinks[j].text)); | ||
- | + | link_wrapper.append(sublink); | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | |||
- | |||
- | |||
- | |||
- | |||
} | } | ||
- | + | link.click(this.showSectionOnly.bind(this, i)); | |
- | page_links.append( | + | this.linkWrappers.push(link_wrapper); |
+ | page_links.append(link_wrapper); | ||
} | } | ||
return page_links; | return page_links; | ||
Line 574: | Line 512: | ||
var nav_bar_element = $('.navBar'); | var nav_bar_element = $('.navBar'); | ||
nav_bar_element.append(navBar.render()); | nav_bar_element.append(navBar.render()); | ||
- | nav_bar_element | + | nav_bar_element.append(socialButtons( |
- | + | ||
- | + | ||
- | + | ||
[ | [ | ||
new ImageLink('https://www.facebook.com/WaterlooiGEM', 'https://static.igem.org/mediawiki/2013/8/81/Waterloo_facebook_button_64.jpg'), | new ImageLink('https://www.facebook.com/WaterlooiGEM', 'https://static.igem.org/mediawiki/2013/8/81/Waterloo_facebook_button_64.jpg'), | ||
Line 658: | Line 593: | ||
PersonClickableElement.hidePopup = function() { | PersonClickableElement.hidePopup = function() { | ||
if (PersonClickableElement.currentPopup) { | if (PersonClickableElement.currentPopup) { | ||
- | PersonClickableElement.currentPopup. | + | PersonClickableElement.currentPopup.detach(); |
PersonClickableElement.currentPopup = null; | PersonClickableElement.currentPopup = null; | ||
} | } | ||
Line 664: | Line 599: | ||
PersonClickableElement.prototype.showPopup = function(event) { | PersonClickableElement.prototype.showPopup = function(event) { | ||
PersonClickableElement.hidePopup(); | PersonClickableElement.hidePopup(); | ||
+ | event.stopPropagation(); | ||
+ | |||
if (!this.popup) { | if (!this.popup) { | ||
var root = $('<div class="personPopup fadeIn"></div>'); | var root = $('<div class="personPopup fadeIn"></div>'); | ||
Line 671: | Line 608: | ||
root.append(info); | root.append(info); | ||
this.popup = root; | this.popup = root; | ||
- | + | this.popup.click(function (e) { | |
+ | e.stopPropagation(); | ||
+ | }); | ||
} | } | ||
- | |||
- | |||
- | |||
- | |||
$(document.body).append(this.popup); | $(document.body).append(this.popup); | ||
PersonClickableElement.currentPopup = this.popup; | PersonClickableElement.currentPopup = this.popup; | ||
Line 870: | Line 805: | ||
$('#humanPracticesTeamPhotos').append(createPersonPhotoGrid(math_team, 4, 150)); | $('#humanPracticesTeamPhotos').append(createPersonPhotoGrid(math_team, 4, 150)); | ||
- | $('#mathModellingTeamPhotos').append(createPersonPhotoGrid(hp_team, | + | $('#mathModellingTeamPhotos').append(createPersonPhotoGrid(hp_team, 3, 150)); |
- | $('#advisorPhotos').append(createPersonPhotoGrid(advisors, | + | $('#advisorPhotos').append(createPersonPhotoGrid(advisors, 3, 150)); |
$('#gradStudentPhotos').append(createPersonPhotoGrid(grad_students, 2, 150)); | $('#gradStudentPhotos').append(createPersonPhotoGrid(grad_students, 2, 150)); | ||
Line 1,013: | Line 948: | ||
trans(idx, complete_f); | trans(idx, complete_f); | ||
// Open correct Nav Bar section | // Open correct Nav Bar section | ||
- | if (navBar) navBar. | + | if (navBar) navBar.showSectionOnly(idx - 1); // TODO fix hack |
// Special logo swapping for homepage | // Special logo swapping for homepage | ||
Line 1,305: | Line 1,240: | ||
<!-- Placeholder --> | <!-- Placeholder --> | ||
<div class="placeHolder"> </div> | <div class="placeHolder"> </div> | ||
- | |||
- | |||
</body> | </body> | ||
</html> | </html> |
Revision as of 22:54, 4 September 2013
Abstract
Due to its nature as an information-encoding molecule, the use of DNA as an intercellular messaging molecule would enable more information-rich communication between populations of cells than traditional AHL-based messaging. The first demonstration of DNA messaging was published by the Endy group at Stanford University in late 2012, wherein DNA encoding instructions for expression of fluorescence and antibiotic resistance were transmitted from one bacterial population to another, carried by M13 bacteriophage particles.
Incorporation of well-established in vivo DNA modification techniques into DNA messaging will diversify and extend potential intercellular communication programs, and will enable the integration of recent developments in DNA digital logic with DNA messaging.
The goal of our project is to place on a DNA message a switch that can be flipped in receiver cells under inducible conditions, and whose state determines whether or not the DNA message is retransmitted from receiver cells to a population of secondary receiver cells. The switch consists of a promoter that can be inverted using a serine integrase, leading to transcription of different genes. It is directly inspired by the recombinase addressable data (RAD) module published by the Endy group in early 2012.
We have synthesized four such DNA switches and will soon test the ability of PhiC31 and Bxb1 serine integrases, along with the respective recombination directionality factors (RDFs), to control their states. We have also produced constructs that we will use to attempt to control the production of M13 viral particles containing a DNA message and we will test these soon. We will integrate these efforts to demonstrate our goal of incorporating digital DNA logic into DNA messaging. Through this work, we will broaden the horizons of engineered intercellular communication.
Design
Ottawa's Collaboration
Video
Results
Future Aspirations
BioBricks
- Hpdo with no gene 8
- Bxb1 rdf
- Bxb1 int
- Bxb1 switch
- BXB1 switch flipped
- ΦC31 rdf
- ΦC31 int
- ΦC31 switch
- ΦC31 switch flipped
Switch Modelling
x y z
Population & Infection Modelling
a b c
Phage Particle Production Modelling
a b c
Intent to Invent
Vlogs
Special Project
Intent to Invent
Laboratory
Safety
This page is still in progress
Sponsors