AlanAvilaRmz (Talk | contribs) |
Davidacevedo (Talk | contribs) |
||
Line 275: | Line 275: | ||
</div> <!-- scroll section ends --> | </div> <!-- scroll section ends --> | ||
− | <section> | + | <section style="height: 90vw"> |
− | + | <style> | |
− | </section> | + | #dropzoneWrapper { |
+ | width: 100%; | ||
+ | height: auto; | ||
+ | } | ||
+ | #outer-dropzone { | ||
+ | height: 60vw; | ||
+ | width: 60vw; | ||
+ | left: 30vw; | ||
+ | touch-action: none; | ||
+ | } | ||
+ | |||
+ | .dropzone { | ||
+ | background-color: black; | ||
+ | border: dashed 4px transparent; | ||
+ | border-radius: 4px; | ||
+ | padding: 10px; | ||
+ | width: 80%; | ||
+ | transition: background-color 0.3s; | ||
+ | } | ||
+ | |||
+ | .drop-active { | ||
+ | border-color: #aaa; | ||
+ | } | ||
+ | |||
+ | .drop-target { | ||
+ | background-color: #29e; | ||
+ | border-style: solid; | ||
+ | } | ||
+ | |||
+ | .drag-drop { | ||
+ | display: inline-block; | ||
+ | height: 10vh; | ||
+ | width: 10vh; | ||
+ | z-index: 50; | ||
+ | |||
+ | -webkit-transform: translate(0px, 0px); | ||
+ | transform: translate(0px, 0px); | ||
+ | |||
+ | transition: background-color 0.3s; | ||
+ | } | ||
+ | |||
+ | .drag-drop img { | ||
+ | position: absolute; | ||
+ | height: 100%; | ||
+ | width: 100%; | ||
+ | border-radius: 50%; | ||
+ | z-index: 50; | ||
+ | } | ||
+ | |||
+ | .drag-drop.can-drop { | ||
+ | color: #000; | ||
+ | /*background-color: #4e4;*/ | ||
+ | z-index: 50; | ||
+ | } | ||
+ | |||
+ | |||
+ | #backgroundHolder { | ||
+ | width: 60vw; | ||
+ | height: 60vw; | ||
+ | position: relative; | ||
+ | z-index: 1; | ||
+ | background-image: url("https://static.igem.org/mediawiki/2018/5/5d/T--Tec-Monterrey--cut_interactive.png"); | ||
+ | background-repeat:no-repeat; | ||
+ | background-size: 100%; | ||
+ | } | ||
+ | |||
+ | #interactive_Background { | ||
+ | height: 100%; | ||
+ | } | ||
+ | |||
+ | #plasmidHolder { | ||
+ | width: 60vw; | ||
+ | height: 60vw; | ||
+ | position: absolute; | ||
+ | z-index: 3; | ||
+ | background-image:url("https://static.igem.org/mediawiki/2018/9/91/T--Tec-Monterrey--cut_plasmid_full.png"); | ||
+ | background-repeat:no-repeat; | ||
+ | background-size: 100%; | ||
+ | } | ||
+ | |||
+ | #interactive_CutPlasmidFull { | ||
+ | height: 100%; | ||
+ | } | ||
+ | |||
+ | #colorsWrapper { | ||
+ | width: 60vw; | ||
+ | height: 60vw; | ||
+ | position: absolute; | ||
+ | z-index: 2; | ||
+ | background-repeat:no-repeat; | ||
+ | background-size: 100%; | ||
+ | } | ||
+ | #color1 { | ||
+ | opacity: 0; | ||
+ | left: 48%; | ||
+ | top: 54.5%; | ||
+ | height: 8%; | ||
+ | width: 8%; | ||
+ | background-color: yellow; | ||
+ | position: absolute; | ||
+ | z-index:3; | ||
+ | } | ||
+ | #color2 { | ||
+ | opacity: 0; | ||
+ | left: 56%; | ||
+ | top: 54.5%; | ||
+ | height: 8%; | ||
+ | width: 8%; | ||
+ | background-color: red; | ||
+ | position: absolute; | ||
+ | z-index:3; | ||
+ | } | ||
+ | #color3 { | ||
+ | opacity: 0; | ||
+ | left: 48%; | ||
+ | top: 63%; | ||
+ | height: 7%; | ||
+ | width: 7.5%; | ||
+ | background-color: aqua; | ||
+ | position: absolute; | ||
+ | z-index:3; | ||
+ | } | ||
+ | #color4 { | ||
+ | opacity: 0; | ||
+ | left: 56%; | ||
+ | top: 63%; | ||
+ | height: 7%; | ||
+ | width: 7.5%; | ||
+ | background-color: pink; | ||
+ | position: absolute; | ||
+ | z-index:3; | ||
+ | } | ||
+ | |||
+ | |||
+ | </style> | ||
+ | |||
+ | |||
+ | |||
+ | <div style="height: 10vh; width: 100%; background-color: black;"><p style="font-family: 'Norwester'; text-align: center; font-size: 50px; color: white;">DRAG AND DROP!</p></div> | ||
+ | <div id="dropzoneWrapper" style="background-color: black"> | ||
+ | <div id="gifDiv" style="height: 60vw; width: 60vw; background-color: black; position: absolute; z-index: 6; left: 20vw;"> | ||
+ | <img src="https://static.igem.org/mediawiki/2018/d/d3/T--Tec-Monterrey--giv_v3.gif" height="100%" width="100%"> | ||
+ | </div> | ||
+ | <div style="height: 60vw; width: 20vw; background-color: black; position: absolute; left: 0; "> | ||
+ | <div style="background-color: black; height: 50%; text-align: center;"> | ||
+ | <br> | ||
+ | <br> | ||
+ | <div id="alan" class="drag-drop"> <img src="https://static.igem.org/mediawiki/2018/8/8b/T--Tec-Monterrey--Foto_Alan.jpg"> </div> | ||
+ | <p style="font-family: 'Norwester'; text-align: center; font-size: 50px; color: white;"> Pb</p> | ||
+ | </div> | ||
+ | <div style="background-color: black; height: 50%; text-align: center;"> | ||
+ | <div id="esteban" class="drag-drop" style="margin: auto;"> <img src="https://static.igem.org/mediawiki/2018/4/44/T--Tec-Monterrey--Foto_Esteban.jpg"> </div> | ||
+ | <p style="font-family: 'Norwester'; text-align: center; font-size: 50px; color: white;"> NO3</p> | ||
+ | </div> | ||
+ | |||
+ | </div> | ||
+ | <div style="height: 60vw; width: 20vw; background-color: black; position: absolute; right: 0;"> | ||
+ | <div style="background-color: black; height: 50%; text-align: center;"> | ||
+ | <br> | ||
+ | <br> | ||
+ | <div id="acebae" class="drag-drop" style="margin: auto"> <img src="https://static.igem.org/mediawiki/2018/2/2f/T--Tec-Monterrey--Foto_David.jpg"> </div> | ||
+ | <p style="font-family: 'Norwester'; text-align: center; font-size: 50px; color: white;"> PO4</p> | ||
+ | </div> | ||
+ | <div style="background-color: black; height: 50%; text-align: center;"> | ||
+ | <div id="sofi" class="drag-drop" style="margin:auto"> <img src="https://static.igem.org/mediawiki/2018/9/9f/T--Tec-Monterrey--Foto_Sofia.jpg"> </div> | ||
+ | <p style="font-family: 'Norwester'; text-align: center; font-size: 50px; color: white;"> As</p> | ||
+ | </div> | ||
+ | </div> | ||
+ | <div style="height: 60vw; width: 60vw; background-color: black; position: absolute; left: 20vw;"> | ||
+ | <div id="outer-dropzone" class="dropzone"> | ||
+ | <div id="backgroundHolder"> | ||
+ | <div id="colorsWrapper"> | ||
+ | <div id="color1"></div> | ||
+ | <div id="color2"></div> | ||
+ | <div id="color3"></div> | ||
+ | <div id="color4"></div> | ||
+ | </div> | ||
+ | <div id="plasmidHolder" style="background-image:url('https://static.igem.org/mediawiki/2018/9/91/T--Tec-Monterrey--cut_plasmid_full.png')"> | ||
+ | </div> | ||
+ | </div> | ||
+ | </div> | ||
+ | </div> | ||
+ | </div> | ||
+ | <script> | ||
+ | |||
+ | $(document).on('scroll', function() { | ||
+ | if($(this).scrollTop()>=$('#gifDiv').position().top){ | ||
+ | $("#gifDiv").css("background-color: green;"); | ||
+ | setTimeout(function(){ $("#gifDiv").fadeOut(); }, 200); | ||
+ | } | ||
+ | }); | ||
+ | |||
+ | |||
+ | document.addEventListener("DOMContentLoaded", function(event) { | ||
+ | // target elements with the "draggable" class | ||
+ | interact('.draggable') | ||
+ | .draggable({ | ||
+ | // enable inertial throwing | ||
+ | inertia: true, | ||
+ | // keep the element within the area of it's parent | ||
+ | restrict: { | ||
+ | restriction: "#dropzoneWrapper", | ||
+ | endOnly: true, | ||
+ | elementRect: { | ||
+ | top: 0, | ||
+ | left: 0, | ||
+ | bottom: 1, | ||
+ | right: 1 | ||
+ | } | ||
+ | }, | ||
+ | // enable autoScroll | ||
+ | autoScroll: true, | ||
+ | |||
+ | // call this function on every dragmove event | ||
+ | onmove: dragMoveListener, | ||
+ | // call this function on every dragend event | ||
+ | onend: function(event) { | ||
+ | var textEl = event.target.querySelector('p'); | ||
+ | |||
+ | (textEl.textContent = | ||
+ | 'moved a distance of ' + | ||
+ | (Math.sqrt(Math.pow(event.pageX - event.x0, 2) + | ||
+ | Math.pow(event.pageY - event.y0, 2) | 0)) | ||
+ | .toFixed(2) + 'px'); | ||
+ | } | ||
+ | }); | ||
+ | |||
+ | function dragMoveListener(event) { | ||
+ | var target = event.target, | ||
+ | // keep the dragged position in the data-x/data-y attributes | ||
+ | x = (parseFloat(target.getAttribute('data-x')) || 0) + event.dx, | ||
+ | y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy; | ||
+ | |||
+ | // translate the element | ||
+ | target.style.webkitTransform = | ||
+ | target.style.transform = | ||
+ | 'translate(' + x + 'px, ' + y + 'px)'; | ||
+ | |||
+ | // update the posiion attributes | ||
+ | target.setAttribute('data-x', x); | ||
+ | target.setAttribute('data-y', y); | ||
+ | } | ||
+ | |||
+ | |||
+ | /* The dragging code for '.draggable' from the demo above | ||
+ | * applies to this demo as well so it doesn't have to be repeated. */ | ||
+ | |||
+ | // enable draggables to be dropped into this | ||
+ | interact('.dropzone').dropzone({ | ||
+ | // only accept elements matching this CSS selector | ||
+ | // accept: '#yes-drop', | ||
+ | // Require a 75% element overlap for a drop to be possible | ||
+ | overlap: 0.75, | ||
+ | |||
+ | // listen for drop related events: | ||
+ | |||
+ | ondropactivate: function(event) { | ||
+ | // activates when you grab an object | ||
+ | // add active dropzone feedback | ||
+ | event.target.classList.add('drop-active'); | ||
+ | //console.log("a"); | ||
+ | }, | ||
+ | ondragenter: function(event) { | ||
+ | // activates when object enters dropzone | ||
+ | var draggableElement = event.relatedTarget, | ||
+ | dropzoneElement = event.target; | ||
+ | |||
+ | // feedback the possibility of a drop | ||
+ | dropzoneElement.classList.add('drop-target'); | ||
+ | draggableElement.classList.add('can-drop'); | ||
+ | // draggableElement.textContent = 'Dragged in'; | ||
+ | //console.log("b"); | ||
+ | }, | ||
+ | ondragleave: function(event) { | ||
+ | // activates when object leaves dropzone | ||
+ | // remove the drop feedback style | ||
+ | event.target.classList.remove('drop-target'); | ||
+ | event.relatedTarget.classList.remove('can-drop'); | ||
+ | //event.relatedTarget.textContent = 'Dragged out'; | ||
+ | //console.log("c"); | ||
+ | }, | ||
+ | ondrop: function(event) { | ||
+ | // activates when object is dropped in dropzone | ||
+ | // event.relatedTarget.textContent = 'Dropped'; | ||
+ | var draggableElementID = event.relatedTarget.id; | ||
+ | if (event.relatedTarget.id == "alan") { | ||
+ | document.getElementById(draggableElementID).style.display = "none"; | ||
+ | document.getElementById("color1").style.opacity = "1"; | ||
+ | } else if (event.relatedTarget.id == "esteban") { | ||
+ | document.getElementById(draggableElementID).style.display = "none"; | ||
+ | document.getElementById("color2").style.opacity = "1"; | ||
+ | } else if (event.relatedTarget.id == "acebae") { | ||
+ | document.getElementById(draggableElementID).style.display = "none"; | ||
+ | document.getElementById("color3").style.opacity = "1"; | ||
+ | } else if (event.relatedTarget.id == "sofi") { | ||
+ | document.getElementById(draggableElementID).style.display = "none"; | ||
+ | document.getElementById("color4").style.opacity = "1"; | ||
+ | } | ||
+ | //console.log("d"); | ||
+ | }, | ||
+ | ondropdeactivate: function(event) { | ||
+ | // activates when you drop an object anywhere | ||
+ | // remove active dropzone feedback | ||
+ | event.target.classList.remove('drop-active'); | ||
+ | event.target.classList.remove('drop-target'); | ||
+ | //console.log("e"); | ||
+ | } | ||
+ | }); | ||
+ | |||
+ | interact('.drag-drop') | ||
+ | .draggable({ | ||
+ | inertia: true, | ||
+ | restrict: { | ||
+ | restriction: "#dropzoneWrapper", | ||
+ | endOnly: true, | ||
+ | elementRect: { | ||
+ | |||
+ | top: 0, | ||
+ | left: 0, | ||
+ | bottom: 1, | ||
+ | right: 1 | ||
+ | } | ||
+ | }, | ||
+ | autoScroll: true, | ||
+ | // dragMoveListener from the dragging demo above | ||
+ | onmove: dragMoveListener, | ||
+ | }); | ||
+ | }); | ||
+ | </script> | ||
+ | </section> | ||
<div class="slideshow"> | <div class="slideshow"> |
Revision as of 18:03, 17 October 2018
DNA has been called an excellent medium
for archiving data, interpreting the four base
pairs as a new language.
iGEM Tec-Monterrey 2018 attempts to create
a new system, which saves information regarding
its surroundings.
Through gene induction,
bacteria could store
external information in their DNA.
Information storage in DNA has
been demonstrated by recent efforts,
saving anything
from messages to animations.
Through gene induction,
bacteria could store
external information in their DNA.
Translating an input from its surroundings,
to an encoded DNA output
E. coding
Tec-Monterrey
DRAG AND DROP!
Pb
NO3
PO4
As
References
[1] Díez-Villaseñor, C., Guzmán, N. M., Almendros, C., García-Martínez, J. & Mojica, F. J. M. CRISPR-spacer integration reporter plasmids reveal distinct genuine acquisition specificities among CRISPR-Cas I-E variants of Escherichia coli. RNA Biol. (2013). doi:10.4161/rna.24023
[2] Farzadfard, F., & Lu, T. K. Genomically encoded analog memory with precise in vivo DNA writing in living cell populations. Science. (2014). doi: 10.1126/science.1256272
[3] Levy, A., Goren, M. G., Yosef, I., Auster, O., Manor, M., Amitai, G., Edgar, R., Qimron, U. & Sorek, R. CRISPR adaptation biases explain preference for acquisition of foreign DNA. Nature. (2015). doi:10.1038/nature14302
[4] Nuñez, J. K. Mechanism of CRISPR–Cas Immunological Memory. (2016). Doctoral dissertation, UC Berkeley.
[5] Nuñez, J. K., Kranzusch P, Noeske J, Wright A, Davies C, Doudna J. Cas1-Cas2 complex formation mediates spacer acquisition during CRISPR-Cas adaptive immunity. Nat. Struct. Mol. Biol. (2014). doi:10.1038/nsmb.2820
[6] Shipman, S. L., Nivala, J., Macklis, J. D., & Church, G. M. Molecular recordings by directed CRISPR spacer acquisition. Science.(2016). doi: 10.1126/science.aaf1175