Team:UCSF/Project/Conjugation/Design1

From 2013.igem.org

(Difference between revisions)
 
(11 intermediate revisions not shown)
Line 130: Line 130:
}
}
-
#textlink a:link,
+
a:link,
a:visited{
a:visited{
font-family: Calibri, Sans-Serif;
font-family: Calibri, Sans-Serif;
Line 138: Line 138:
}
}
-
#textlink a:hover,
+
a:hover,
a:active{
a:active{
font-family: Calibri, Sans-Serif;
font-family: Calibri, Sans-Serif;
Line 236: Line 236:
-->
-->
-
<!--Sidebar Scripts-->
+
<!-------------------------------Sidebar Styles-------------------------------->
-
<script type="text/javascript" >
+
-
    function SDMenu(id) {
+
-
        if (!document.getElementById || !document.getElementsByTagName)
+
-
            return false;
+
-
        this.menu = document.getElementById(id);
+
-
        this.submenus = this.menu.getElementsByTagName("div");
+
-
        this.remember = true;
+
-
        this.speed = 20;
+
-
        this.markCurrent = true;
+
-
        this.oneSmOnly = false;
+
-
    }
+
-
    SDMenu.prototype.init = function () {
+
-
        var mainInstance = this;
+
-
        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 if (submenu.className == "collapsed_ab")
+
-
            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]);
+
-
                    }
+
-
                    else if (this.submenus[i].className != "collapsed_ab") {
+
-
                        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]);
+
-
            else if (this.submenus[i].className == "collapsed_ab")
+
-
                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]);
+
-
            else if (this.submenus[i].className != "collapsed_ab")
+
-
                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>
+
-
 
+
-
<!--End Sidebar Scripts-->
+
-
 
+
-
<!--Sidebar Styles-->
+
<style type="text/css">
<style type="text/css">
div.sdmenu {
div.sdmenu {
Line 377: Line 248:
overflow: hidden;
overflow: hidden;
}
}
-
 
div.sdmenu div.collapsed {
div.sdmenu div.collapsed {
height: 30px;}
height: 30px;}
Line 422: Line 292:
}
}
</style>
</style>
 +
 +
<!-------------------------------Sidebar JavaScripts----------------------------->
 +
<script type="text/javascript" >
 +
    function SDMenu(id) {
 +
        if (!document.getElementById || !document.getElementsByTagName)
 +
            return false;
 +
        this.menu = document.getElementById(id);
 +
        this.submenus = this.menu.getElementsByTagName("div");
 +
        this.remember = true;
 +
        this.speed = 20;
 +
        this.markCurrent = true;
 +
        this.oneSmOnly = false;
 +
    }
 +
    SDMenu.prototype.init = function() {
 +
var mainInstance = this;
 +
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>
<script type="text/javascript">
<script type="text/javascript">
Line 438: Line 423:
</head>
</head>
 +
 +
<body>
<body>
Line 447: Line 434:
<td width="100%">
<td width="100%">
 +
<!--Project Sidebar-->
 +
    <div style="float: left" id="my_menu" class="sdmenu">
 +
      <div class="collapsed">
 +
        <span>Background</span>
 +
        <a href="https://2013.igem.org/Team:UCSF/Project/Background2">Background</a>
 +
      </div>
 +
      <div class="collapsed">
 +
        <span>CRISPRi Conjugation</span>       
 +
        <a href="https://2013.igem.org/Team:UCSF/Project/Conjugation/Design1">Project Design</a>
 +
        <a href="https://2013.igem.org/Team:UCSF/Project/Conjugation/Data1">Data</a>
 +
      </div>
 +
      <div class="collapsed">
 +
        <span>CRISPRi Circuit</span>
 +
        <a href="/Team:UCSF/Project/Circuit/Design">Circuit Design</a>
 +
        <a href="/Team:UCSF/Project/Circuit/Design">Promoter Engineering</a>
 +
        <a href="/Team:UCSF/Project/Circuit/Data">Data</a>
 +
      </div>
 +
</div>
 +
<!--Span: Project-Conjugation-->
<script type="text/javascript">
<script type="text/javascript">
// <![CDATA[
// <![CDATA[
Line 456: Line 462:
         myMenu.remember = false;
         myMenu.remember = false;
         myMenu.init();
         myMenu.init();
-
         myMenu.expandMenu(myMenu.submenus[0]);
+
         myMenu.expandMenu(myMenu.submenus[1]);
     };
     };
// ]]>
// ]]>
</script>
</script>
-
    <div style="float: left" id="my_menu" class="sdmenu">
 
-
      <div class="collapsed">
 
-
        <span>Background</span>
 
-
        <a href="/Team:UCSF/Project/Background2">Background</a>
 
-
      </div>
 
-
      <div class="collapsed">
 
-
        <span>CRISPRi Conjugation</span>       
 
-
        <a href="/Team:UCSF/Project/Conjugation/Design">Design</a>
 
-
        <a href="/Team:UCSF/Project/Conjugation/Data">Data</a>
 
-
      </div>
 
-
      <div class="collapsed">
 
-
        <span>CRISPRi Circuit</span>
 
-
        <a href="/Team:UCSF/Project/Circuit/Design">Design</a>
 
-
        <a href="/Team:UCSF/Project/Circuit/Data">Data</a>
 
-
      </div>
 
-
     
 
-
</div>
 
  </tr>
  </tr>
</table>
</table>
Line 528: Line 517:
<div id="photos" style = "width: 740px" align="justify">
<div id="photos" style = "width: 740px" align="justify">
-
<center><img style="margin-top:0px; height:300px"; padding:0;"
+
<center><img style="margin-top:0px; height:280px"; padding:0;"
src="https://static.igem.org/mediawiki/2013/a/ac/UCSF2013-Project-Conjugation-1.png"> </center>
src="https://static.igem.org/mediawiki/2013/a/ac/UCSF2013-Project-Conjugation-1.png"> </center>
</div>
</div>
-
<div id="leftcontenttext" style = "width: 740px; height:85px" align="justify">
+
<div id="leftcontenttext" style = "width: 740px; height:95px" align="justify">
<p2><br>Upon conjugation with the target population, the conjugative plasmid would be transferred. Both dCas9 and gRNA would subsequently be expressed in the recipient cell, and the complex formed will repress the targeted gene specified by the gRNA, shutting down certain cell functions. </p2>
<p2><br>Upon conjugation with the target population, the conjugative plasmid would be transferred. Both dCas9 and gRNA would subsequently be expressed in the recipient cell, and the complex formed will repress the targeted gene specified by the gRNA, shutting down certain cell functions. </p2>
</div>
</div>
Line 541: Line 530:
</div>
</div>
-
<div id="leftcontenttext" style = "width: 740px; height:175px" align="justify">
+
<div id="leftcontenttext" style = "width: 740px; height:180px" align="justify">
<p2><br>For the summer, we used fluorescent proteins to differentiate between our target cell strains and our unaffected cell strains. Our targeted cells will be marked with red fluorescent protein (RFP) while our unaffected cells with be marked with the fluorescent protein, citrine. Both cell strains will receive the conjugative plasmid from the donor. The gRNA-dCAS9 complex will then form and repress the production of RFP in our target cells. The RFP cell strain will no longer be able to fluoresce, since the gRNA in our conjugative plasmid only recognizes a specific site on RFP, while the citrine cell strain will be left unaffected because there is no gRNA in the conjugative plasmid that recognizes citrine. </p2>
<p2><br>For the summer, we used fluorescent proteins to differentiate between our target cell strains and our unaffected cell strains. Our targeted cells will be marked with red fluorescent protein (RFP) while our unaffected cells with be marked with the fluorescent protein, citrine. Both cell strains will receive the conjugative plasmid from the donor. The gRNA-dCAS9 complex will then form and repress the production of RFP in our target cells. The RFP cell strain will no longer be able to fluoresce, since the gRNA in our conjugative plasmid only recognizes a specific site on RFP, while the citrine cell strain will be left unaffected because there is no gRNA in the conjugative plasmid that recognizes citrine. </p2>
</div>
</div>
<div id="photos" style = "width: 740px" align="justify">
<div id="photos" style = "width: 740px" align="justify">
-
<center><img style="margin-top:0px; height:250px"; padding:0;"
+
<center><img style="margin-top:0px; height:350px"; padding:0;"
src="https://static.igem.org/mediawiki/2013/7/70/Target_and_unaffected_cells.jpg"> </center>
src="https://static.igem.org/mediawiki/2013/7/70/Target_and_unaffected_cells.jpg"> </center>
</div>
</div>

Latest revision as of 03:32, 29 October 2013

Transmitting CRISPRi Circuits through Cell-to-Cell Conjugation

GOAL: To construct a specific gene repression system using CRISPRi that can be efficiently transmitted between cells by conjugation.

What is conjugation?

In nature, bacterial strains rarely exist as distinct populations. Instead, they are almost always found in mixed populations where they compete for resources. Conjugation is a naturally occurring process in bacteria that allows genetic material to be transferred between populations of bacterial cells. This process promotes gene diversity, and in certain situations, provides a competitive advantage for the recipient cell.

Combining CRISPRi and Conjugation

By combining CRISPRi and conjugation, we've come up with a system that will allow us to specifically target certain populations within a microbiome. To do this, an engineered cell capable of conjugating must be introduced into a microbiome of interest. The engineered cell, or donor cell, is capable of conjugating (proteins necessary for conjugation are contained in the genome) and carries a conjugative plasmid, which codes for a catalytically dead Cas9 (dCas9) protein and guide RNA (gRNA) for a specific gene that is present in the targeted population.

Upon conjugation with the target population, the conjugative plasmid would be transferred. Both dCas9 and gRNA would subsequently be expressed in the recipient cell, and the complex formed will repress the targeted gene specified by the gRNA, shutting down certain cell functions.

For the summer, we used fluorescent proteins to differentiate between our target cell strains and our unaffected cell strains. Our targeted cells will be marked with red fluorescent protein (RFP) while our unaffected cells with be marked with the fluorescent protein, citrine. Both cell strains will receive the conjugative plasmid from the donor. The gRNA-dCAS9 complex will then form and repress the production of RFP in our target cells. The RFP cell strain will no longer be able to fluoresce, since the gRNA in our conjugative plasmid only recognizes a specific site on RFP, while the citrine cell strain will be left unaffected because there is no gRNA in the conjugative plasmid that recognizes citrine.