Team:UCSF/Project/Background1

From 2013.igem.org

(Difference between revisions)
Line 294: Line 294:
-
<div id="sidebar">
+
<!--{{Template:12SJTU_floatnav_head}}-->
-
<div id="list">
+
    <!----{{Template:12SJTU_js}}---->
-
<h2>Project</h2>
+
    <html>
-
<ul>
+
<head>
-
<li><a href="https://2013.igem.org/Team:UCSF/Project/Background">Background</a></li>
+
<script type="text/javascript" >
-
<li><a href="">CRISPRi Conjugation</a></li>
+
    function SDMenu(id) {
-
                <ul>
+
        if (!document.getElementById || !document.getElementsByTagName)
-
<li><a href="https://2013.igem.org/Team:UCSF/Project/Conjugation/Design">Design</a></li>
+
            return false;
-
<li><a href="https://2013.igem.org/Team:UCSF/Project/Conjugation/Data">Data</a></li>
+
        this.menu = document.getElementById(id);
-
</ul></li>
+
        this.submenus = this.menu.getElementsByTagName("div");
-
<li><a href="">CRISPRi Circuit</a></li>
+
        this.remember = true;
-
                <ul>
+
        this.speed = 3;
-
<li><a href="https://2013.igem.org/Team:UCSF/Project/Circuit/Design">Design</a></li>
+
        this.markCurrent = true;
-
<li><a href="https://2013.igem.org/Team:UCSF/Project/Circuit/Data">Data</a></li>
+
        this.oneSmOnly = false;
-
</ul></li>
+
    }
-
</ul>
+
    SDMenu.prototype.init = function () {
-
</div>
+
        var mainInstance = this;
-
</div>
+
        for (var i = 0; i < this.submenus.length; i++)
 +
            this.submenus[i].getElementsByTagName("span")[0].onclick = function () {
 +
                mainInstance.toggleMenu(this.parentNode);
 +
            };
 +
        if (this.markCurrent) {
 +
            var links = this.menu.getElementsByTagName("a");
 +
            for (var i = 0; i < links.length; i++)
 +
                if (links[i].href == document.location.href) {
 +
                    links[i].className = "current";
 +
                    break;
 +
                }
 +
        }
 +
        if (this.remember) {
 +
            var regex = new RegExp("sdmenu_" + encodeURIComponent(this.menu.id) + "=([01]+)");
 +
            var match = regex.exec(document.cookie);
 +
            if (match) {
 +
                var states = match[1].split("");
 +
                for (var i = 0; i < states.length; i++)
 +
                    this.submenus[i].className = (states[i] == 0 ? "collapsed" : "");
 +
            }
 +
        }
 +
    };
 +
    SDMenu.prototype.toggleMenu = function (submenu) {
 +
        if (submenu.className == "collapsed")
 +
            this.expandMenu(submenu);
 +
        else
 +
            this.collapseMenu(submenu);
 +
        this.collapseOthers(submenu);
 +
    };
 +
    SDMenu.prototype.expandMenu = function (submenu) {
 +
        var fullHeight = submenu.getElementsByTagName("span")[0].offsetHeight;
 +
        var links = submenu.getElementsByTagName("a");
 +
 
 +
        for (var i = 0; i < links.length; i++)
 +
            fullHeight += links[i].offsetHeight;
 +
        var moveBy = Math.round(this.speed * links.length);
 +
 
 +
        var mainInstance = this;
 +
        var intId = setInterval(function () {
 +
            var curHeight = submenu.offsetHeight;
 +
            var newHeight = curHeight + moveBy;
 +
            if (newHeight < fullHeight)
 +
                submenu.style.height = newHeight + "px";
 +
            else {
 +
                clearInterval(intId);
 +
                submenu.style.height = "";
 +
                submenu.className = "";
 +
                mainInstance.memorize();
 +
            }
 +
        }, 30);
 +
        this.collapseOthers(submenu);
 +
    };
 +
    SDMenu.prototype.collapseMenu = function (submenu) {
 +
        var minHeight = submenu.getElementsByTagName("span")[0].offsetHeight;
 +
        var moveBy = Math.round(this.speed * submenu.getElementsByTagName("a").length);
 +
        var mainInstance = this;
 +
        var intId = setInterval(function () {
 +
            var curHeight = submenu.offsetHeight;
 +
            var newHeight = curHeight - moveBy;
 +
            if (newHeight > minHeight)
 +
                submenu.style.height = newHeight + "px";
 +
            else {
 +
                clearInterval(intId);
 +
                submenu.style.height = "";
 +
                submenu.className = "collapsed";
 +
                mainInstance.memorize();
 +
            }
 +
        }, 30);
 +
    };
 +
    SDMenu.prototype.collapseOthers = function (submenu) {
 +
        if (this.oneSmOnly) {
 +
            for (var i = 0; i < this.submenus.length; i++)
 +
                if (this.submenus[i] != submenu) {
 +
                    if (this.submenus[i].className != "collapsed") {
 +
                        this.collapseMenu(this.submenus[i]);
 +
                    }
 +
                }
 +
        }
 +
    };
 +
    SDMenu.prototype.expandAll = function () {
 +
        var oldOneSmOnly = this.oneSmOnly;
 +
        this.oneSmOnly = false;
 +
        for (var i = 0; i < this.submenus.length; i++)
 +
            if (this.submenus[i].className == "collapsed")
 +
                this.expandMenu(this.submenus[i]);
 +
        this.oneSmOnly = oldOneSmOnly;
 +
    };
 +
    SDMenu.prototype.collapseAll = function () {
 +
        for (var i = 0; i < this.submenus.length; i++)
 +
            if (this.submenus[i].className != "collapsed")
 +
                this.collapseMenu(this.submenus[i]);
 +
    };
 +
    SDMenu.prototype.memorize = function () {
 +
        if (this.remember) {
 +
            var states = new Array();
 +
            for (var i = 0; i < this.submenus.length; i++)
 +
                states.push(this.submenus[i].className == "collapsed" ? 0 : 1);
 +
            var d = new Date();
 +
            d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000));
 +
            document.cookie = "sdmenu_" + encodeURIComponent(this.menu.id) + "=" + states.join("") + "; expires=" + d.toGMTString() + "; path=/";
 +
        }
 +
    };
 +
</script>
 +
</head>
 +
</html>
 +
    <!----End {{Template:12SJTU_js}}---->
 +
 
 +
    <!----{{Template:12SJTU_sdmenu_css}}---->
 +
    <html>
 +
<head>
 +
<style type="text/css">
 +
div.sdmenu {
 +
 
 +
font-family: Arial, sans-serif;
 +
 
 +
padding-bottom: 10px;
 +
 
 +
color: #fff;
 +
}
 +
div.sdmenu div {
 +
background-color: #CD7D1F;
 +
overflow: hidden;
 +
}
 +
 
 +
div.sdmenu div.collapsed {
 +
height: 30px;
 +
}
 +
div.sdmenu div span {
 +
display: block;
 +
padding: 6px 25px;
 +
width: 130px;
 +
font-weight: bold;
 +
color: white;
 +
background: url(/wiki/images/f/f7/12SJTU_floatnav_expanded.gif) no-repeat 10px center;
 +
cursor: default;
 +
border-bottom: 1px solid #ddd;
 +
cursor: pointer;
 +
}
 +
div.sdmenu div:hover{
 +
background-color: #f79a2d;
 +
}
 +
div.sdmenu div.collapsed span {
 +
background-image: url(/wiki/images/2/20/12SJTU_floatnav_collapsed.gif);
 +
}
 +
div.sdmenu div a {
 +
padding: 5px 10px;
 +
background: #eee;
 +
display: block;
 +
border-bottom: 1px solid #ddd;
 +
color: #014d67;
 +
}
 +
div.sdmenu div a.current {
 +
background : #ccc;
 +
}
 +
div.sdmenu div a:hover {
 +
background : #014d67 url(/wiki/images/2/2d/12SJTU_floatnav_linkarrow.gif) no-repeat right center;
 +
color: #fff;
 +
text-decoration: none;
 +
}
 +
</style>
 +
</head>
 +
</html>
 +
    <!----End {{Template:12SJTU_sdmenu_css}}---->
 +
 
 +
<html>
 +
<head>
 +
 
 +
<style type="text/css">  
 +
 
 +
.floatbox{
 +
position:absolute;
 +
width:160px;
 +
height:00px;
 +
background:#FFFFFF
 +
}
 +
 
 +
</style>
 +
 
 +
</head>
 +
<body>
 +
 
 +
 
 +
<div class="floatbox" id="12SJTU_floatnav" style="top:184px; left:22px;">
 +
<table border="0" width="190" cellspacing="0" cellpadding="0">
 +
  <tr>
 +
<td width="100%">
 +
</html>
 +
<!--End {{Template:12SJTU_floatnav_head}}-->
 +
 
 +
<html>
 +
<script type="text/javascript">
 +
// <![CDATA[
 +
    var myMenu;
 +
    window.onload = function () {
 +
        myMenu = new SDMenu("my_menu");
 +
        myMenu.oneSmOnly = true;
 +
        myMenu.remember = false;
 +
        myMenu.init();
 +
        myMenu.expandMenu(myMenu.submenus[0]);
 +
    };
 +
// ]]>
 +
</script>
 +
</html>
 +
 
 +
<!--{{Template:12SJTU_nav_project}}-->
 +
<html>
 +
    <div style="float: left" id="my_menu" class="sdmenu">
 +
      <div class="collapsed">
 +
        <span>Overview</span>
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project">Project Overview</a>
 +
 
 +
      </div>
 +
      <div class="collapsed">
 +
        <span>System Construction</span>
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project/project1.1">Membrane Localization</a>
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project/project1.2">Membrane Accelerator</a>
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project/project1.3">Membrane Rudder</a>
 +
      </div>
 +
      <div class="collapsed">
 +
        <span>Application</span>       
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project/project2.2">Membrane Accelerator I  (Biosynthesis)</a>
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project/project2.3">Membrane Accelerator II  (Biodegradation)</a>
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project/project2.1">Membrane Rudder</a>
 +
      </div>
 +
      <div class="collapsed">
 +
        <span>Modeling</span>
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project/project3">Acceleration Model</a>
 +
        <a href="/Team:SJTU-BioX-Shanghai/Project/project3.2">Switch Model</a>
 +
      </div>
 +
    </div>
 +
</html>
 +
<!--End {{Template:12SJTU_nav_project}}-->
 +
 
 +
<!--{{Template:12SJTU_floatnav_foot}}-->
 +
<html>
 +
  </tr>
 +
</table>
 +
</div>
 +
<script type="text/javascript">
 +
    var id = function (o) { return document.getElementById(o) }
 +
    var scroll = function (o) {
 +
        var space = id(o).offsetTop;
 +
        id(o).style.top = space + 'px';
 +
        void function () {
 +
            var goTo = 0;
 +
            var roll = setInterval(function () {
 +
                var height = document.documentElement.scrollTop + document.body.scrollTop + space;
 +
                var top = parseInt(id(o).style.top);
 +
                if (parseInt(document.documentElement.scrollTop + document.body.scrollTop) > 98) {
 +
                    height = height - 100;
 +
                    if (parseInt(document.documentElement.scrollTop + document.body.scrollTop) > 198) {
 +
                        height = height - 100;
 +
                        if (parseInt(document.documentElement.scrollTop + document.body.scrollTop) > 298) {
 +
                            height = height - 100;
 +
                        }
 +
                    }
 +
                }
 +
                if (height != top) {
 +
                    goTo = height - parseInt((height - top) * 0.9);
 +
                    id(o).style.top = goTo + 'px';
 +
                }
 +
            }, 30);
 +
        } ()
 +
    }
 +
    scroll('12SJTU_floatnav');
 +
</script>
 +
</body>
 +
</html>
 +
<!--End {{Template:12SJTU_floatnav_foot}}-->
</body>
</body>
</html>
</html>

Revision as of 18:20, 27 October 2013

Operation CRISPR: Deploying precision guided tools to target unique species in a complex microbiome

Rarely in nature do bacterial strains exist in isolation; they form complex microbial communities that interact with various organisms. We ourselves contain a major microbial community in our digestive tract that has shown to directly affect our health and well-being. As shown on the left, to improve and maintain healthly living it would be useful to have the ability to change the microbial community. For example, if a large of amount of a certain sugar was present in your gut ("signal #1") you might want to slow the growth of a certain bacterial populations . In another scenario ("signal #2") it might be useful to increase the growth of other specific bacteria in your gut. But targeting precise bacterial community strains and controlling their growth, activity, and outputs is difficult and requires many new tools.
At the beginning of this summer, we asked ourselves a question: “What could we introduce to a microbiome which would allow targeting and eventual gene expression changes in a specific bacteria?” The difficulty faced with this situation is in
  1. Introduce a targeting system into a defined mixture of bacteria such that you can select and introduce manipulations without negatively affecting other bacteria.
  2. Creating easy to transfer pathways or circuits that can produce a multitude of outcomes (killing, repressing, upregulating)
1. Introducing CRISPRi to a bacterial community: To selectively target and eliminate harmful bacteria, we are utilizing the CRISPRi system, a tool repurposed from a natural adaptive immunity system in bacteria (see diagram below). This tool is comprised of a catalytically dead Cas9 (dCas9) protein that complexes with guide RNAs (gRNA) complementary to the target bacteria’s DNA sequence. This complex binds to DNA complementary to the gRNA and prevents transcription, therefore repressing gene expression.

   




</body> </html>