Team:BU Wellesley Software/Trumpet

From 2011.igem.org

(Difference between revisions)
 
(38 intermediate revisions not shown)
Line 23: Line 23:
/*actual content styles*/
/*actual content styles*/
-
body {width: 860px; margin:auto;}
+
body {width: 800px; margin:auto;}
#bu-wellesley_wiki_content {height:auto; line-height:100%;}
#bu-wellesley_wiki_content {height:auto; line-height:100%;}
-
#bu-wellesley_wiki_content a {color:#69d01d;}
+
/*#bu-wellesley_wiki_content a {color:#69d01d;}*/
-
#bu-wellesley_wiki_content a:hover {text-decoration:none; color:#bababa;}
+
#bu-wellesley_wiki_content a:hover {text-decoration:none; color:#3d3f3c;}
-
</style>
+
.navbar li {color: #ffffff;}
-
<link rel="stylesheet" type="text/css" href="http://cs.wellesley.edu/~hcilab/iGEM_wiki/css/ProjectSpecific.css">
+
.navbar li a {color: #ffffff;}
 +
.navbar li a:hover {background:#69d01d; color: #ffffff;}
 +
/*only use for current page content header (i.e. Team, G-nomeSurferPro, etc)*/
 +
H6 {
 +
      font-family: Helvetica;
 +
      text-transform: uppercase;
 +
      text-decoration: none;
 +
      text-align: left;
 +
      color: #3d3f3c;
 +
      font-size: 32pt;
 +
    }
 +
</style>
 +
<link rel="stylesheet" type="text/css" href="http://cs.wellesley.edu/~hcilab/iGEM_wiki/css/Team.css">
</head>
</head>
<body class="basiclayout">
<body class="basiclayout">
-
 
<div id="bu-wellesley_wiki_content">
<div id="bu-wellesley_wiki_content">
 +
<p  style="text-align:center;"><a href="https://2011.igem.org/Team:BU_Wellesley_Software"><img src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/banner.png" width="800px"></a></p>
<p  style="text-align:center;"><a href="https://2011.igem.org/Team:BU_Wellesley_Software"><img src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/banner.png" width="800px"></a></p>
-
<!-- "previous page" action -->
 
-
<a class="prev browse left"></a>
 
-
<!-- root element for scrollable -->
 
-
<div class="scrollable" width="800px"> 
 
-
  <div class="items">
 
-
  <div id="comp">
 
-
<h1>TRUMPET: Description</h1>
 
-
<!-- Comp people's content here-->
 
 +
<ul id="nav">
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Team">Team</a></li>
 +
<li><a href="#">Project</a>
 +
<ul>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Project_Overview">Overview</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Clotho">Clotho</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/G-nomeSurferPro">G-nome Surfer Pro</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/OptimusPrimer">Optimus Primer</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Trumpet">Trumpet</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Puppetshow">Puppetshow</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/eLabNotebook">eLabNotebook</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Wet_Lab">Wet Lab</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Downloads_and_Tutorials">Downloads and Tutorials</a></li>
 +
</ul>
 +
</li>
 +
<li><a href="#">Process</a>
 +
<ul>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Methodology">Methodology</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Safety">Safety</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Notebook">Notebook</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Outreach">Outreach</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Tips">Tips and Tricks</a></li>
 +
</ul>
 +
</li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Gold">Medal Fulfillment</a></li>
 +
<li><a href="#">Additional Info</a>
 +
<ul>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Acknowledgement">Acknowledgement</a></li>
 +
<li><a href="https://2011.igem.org/Team:BU_Wellesley_Software/Social">Fun</a></li>
 +
</ul>
 +
</li>
 +
</ul>
-
<h5>Motivation:</h5><br>
+
<br>
-
The goal of Trumpet is to aid the user in designing fully reconfigurable genetic circuit plasmids.  Imagine that as a researcher, you have a particular set of genes, and you are interested in how the expressions of these genes interact with one another.  Conventionally, in order to do this, you must tediously construct many different plasmids, each with the correct combinations and permutations of these genes, and study the expressions of these plasmids one at a time. 
+
<h6>Trumpet</h6>
-
<img style="float:right; width:270px; height:250px" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/Trumpet/TrumpetLogo.png"/>
+
<div id="tracking_nav">
 +
JUMP TO...<br>
 +
<a href="#bu-wellesley_wiki_content">Top</a><br>
 +
<a href="#tooloverview">Tool Overview</a><br>
 +
<a href="#method">Method</a><br>
 +
<a href="#example">Design Example</a><br>
 +
<a href="#download">Tutorial and Download</a><br>
 +
<a href="#tutorial">Tabletop Demo</a><br>
 +
<a href="#results">Results</a><br>
 +
<a href="#futurework">Future Work</a>
 +
</div>
-
However, what if you could make a single plasmid containing the genes of interest, and use enzymatic reactions to reconfigure the genes into the different permutations and combinations?  Not only would this save a great deal of time in the building phase, but it would open the door to a world of completely reconfigurable genetic circuits based on user input via recombinase embedded suicide vectors.<br><br><br>
+
<div id ="tooloverview">
-
 
+
<h1>Tool Overview</h1>
-
<h5>Overview of Results:</h5><br>
+
<p>
-
 
+
We are developing a synthetic testbed design for a DNA molecule,
-
Trumpet is our first attempt at this dream. We have developed a software tool that takes in a set of genes along with the user’s desired set of permutations/combinations, and returns to the user an intelligently designed plasmid which can be reconfigured into the permutations/combinations specified by the user.  Along with the plasmid design, Trumpet outputs a set of “keys” for each permutation/combinationThese keys indicate the ordered set of recombinase inputs which must be introduced by the user in order to reconfigure the plasmid into the proper state.  By developing Trumpet as a Clotho application, the user can quickly save this design to their database of parts.  Then, they can use Puppetshow, another one of our applications, to quickly and efficiently build the plasmid using a liquid handling robot.<br><br><br>
+
which we call <em>Trumpet</em>. A trumpet testbed comprises a library of genes and promoters, which can  
-
 
+
be configured into any desired permutation or combination by treating the DNA with a sequence of
-
<h5>Design Method:</h5><br>
+
enzymes called recombinasesOur design algorithm takes a set of DNA parts, and produces a testbed
-
 
+
design and enzyme key dictionary, such that the testbed can be configured into any sequence of
-
(CL: This needs to show some configurable constructs that were designed using Trumpet.)
+
promoters and genes by treating it with the corresponding enzyme key. This allows us to
-
 
+
rewire the genes and switches and study all their combinations.
-
For this project, we focused on the use of invertases as our recombinase inputs.  By orienting two identical copies of an att site in opposite directions, the corresponding invertase which recognizes these att sites will effectively flip the entire duplex region located between the sites.  Using this property, we developed two separate algorithms which place att sites intelligently between and around the genes of interest, such that all of the desired combinations and permutations can be achieved through these enzymatic inversions.
+
<p>
-
 
+
<img style="float:right; width:270px; height:250px padding:10px" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/Trumpet/TrumpetLogo.png"/>
-
<img style="float:left; width:280px; height:200px" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/temp_placeholder.png"/>
+
The goal of Trumpet is to aid the user in designing fully reconfigurable genetic circuit plasmids.  Imagine that as a researcher, you have a particular set of genes, and you are interested in how the expressions of these genes interact with one another.  Conventionally, in order to do this, you must tediously construct many different plasmids, each with the correct combinations and permutations of these genes, and study the expressions of these plasmids one at a time. 
 +
<p>
 +
However, what if you could make a single plasmid containing the genes of interest, and use enzymatic reactions to reconfigure the genes into the different permutations and combinations?  Not only would this save a great deal of time in the building phase, but it would open the door to a world of completely reconfigurable genetic circuits based on user input via recombinase embedded suicide vectors.
 +
Trumpet is our first attempt at this dream.  We have developed a software tool that takes in a set of genes along with the user’s desired set of permutations/combinations, and returns to the user an intelligently designed plasmid which can be reconfigured into the permutations/combinations specified by the user.  Along with the plasmid design, Trumpet outputs a set of “keys” for each permutation/combination.  These keys indicate the ordered set of recombinase inputs which must be introduced by the user in order to reconfigure the plasmid into the proper state.  By developing Trumpet as a Clotho application, the user can quickly save this design to their database of parts.  Then, they can use Puppetshow, another one of our applications, to quickly and efficiently build the plasmid using a liquid handling robot.
 +
<p>
 +
<div id="method">
 +
<h1>Method</h1>
 +
<p>
 +
For this project, we focused on the use of invertases as our recombinase inputs.  By orienting two identical copies of an att site in opposite directions, the corresponding invertase which recognizes these att sites will effectively flip the entire duplex region located between the sites.  Using this property, we developed two separate algorithms which place at sites intelligently between and around the genes of interest, such that all of the desired combinations and permutations can be achieved through these enzymatic inversions.
 +
<p>
 +
The output of our Pancake and LinkSort translations is a large composite part-containing set of genes with att sites properly inserted such that all permutations and combinations of the genes can be achieved given a particular set of invertase inputs.  However, we realize that the user is most likely not interested in the entire combination/permutation output space.  Due to this, we propose a top-down design approach to a tailored reconfigurable circuit.
 +
<p>
 +
If the user is not interested in the entire permutation/combination space, many of the att sites can be removed from the fully reconfigurable design.  Thus, Trumpet follows the following process:  First, the user specifies the permutations/combinations of interest.  Then, based on which algorithm is chosen (Pancake or LinkSort), a fully reconfigurable circuit is produced with att sites that allow for all permutations and combinations.  Lastly, all of the att sites which are unnecessary for achieving the desired permutations and combinations are removed.  The output of this is a tailored design with only the att sites necessary for the user’s desired permutations/combinations.  We call this entire process the top-down design approach.
 +
<p>
 +
We hope that by attempting to solve this problem, we might inspire others out there to design their own att site placing algorithms which are more efficient than ours.  Or, perhaps, people interested in this problem can find new and exciting ways to reconfigure circuit plasmids.  We believe that if this problem could be solved very efficiently, it might pave the way to more interesting genetic circuits.
 +
</div>
 +
<div id="example">
 +
<h1>Design Example</h1>
 +
<p>
 +
<img style="float:right; width:320px" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/Trumpet/twoPartDesign.png"/>
 +
To the right, we see a solution for a two part design which helps illustrate the use of invertases for re configuring a plasmid.  This circuit plasmid allows for all permutations/combinations of the two genes using only three sets of invertase sites, illustrated by the sets of red, blue, and orange triangles.  By flanking each gene with its own set of att sites, each gene can be turned "on" and "off" by inputting the corresponding invertase.  To change the order of the two genes, the invertase corresponding to the outermost att sites (the red sites) must be inputted into the system.  The cartoon to the right displays a sequence of invertase inputs, and the effect each input has on the circuit plasmid.  The order of these inputs does not particularly matter in this example; however, in more complicated designs the sequence is very important.  Also, it should be noted that only four out of the eight possible configurations of this design are displayed in the cartoon.
 +
</div>
 +
<br>
 +
<br>
 +
<div id ="download">
 +
<h1>Tutorial and Download</h1>
 +
<p>
 +
<a href="https://github.com/igemsoftware/BU_Wellesley_Software_2011/tree/master/Trumpet"><img id="download_button" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/temp_download_button.jpg" width="100px"/></a>
 +
<p>
 +
<center>
 +
<iframe width="425" height="349" src="http://www.youtube.com/embed/B8_3RUEwY_8?hl=en&fs=1" frameborder="0" allowfullscreen></iframe></center>
<br><br>
<br><br>
 +
</div>
-
To develop these algorithms, we recognized this problem as a special case of sorting which only allows for inversions in order to sort a set of elements.  Thus, our first step towards solving this sorting problem was to develop sorting algorithms that follow these inversion rules.   The result of this process was two algorithms which we have called “Pancake” and “LinkSort” (due to their sorting nature)While one can imagine any number of ways to sort elements through inversions, the next step, and certainly the more difficult and important step, was to translate these algorithms into a set of rules which intelligently places att sites such that, by following the corresponding algorithm, there is always a set of att sites available for the next inversion. <br><br>
+
<div id="tutorial">
 +
<h1>Tabletop Implementation</h1>
 +
<p>After seeing the success of the desktop implementation of Trumpet, we realized it could be useful to have a tabletop version of Trumpet to allow for collaboration between users. The process of choosing specific combinations of genes, promoters, ribosome binding sites, and other genomic sequences inherently relies on collaboration, since the outcome of such a process will influence the work that each member of the lab needs to completeDifferent members of the lab will have different research goals for their work, and the best way to figure out how each person will accomplish their goals in the context of the overall research question requires input from the entire team.  A tabletop Trumpet application will allow the entire lab to get involved in determining research goals.
-
The output of our Pancake and LinkSort translations is a large composite part-containing set of genes with att sites properly inserted such that all permutations and combinations of the genes can be achieved given a particular set of invertase inputsHowever, we realize that the user is most likely not interested in the entire combination/permutation output space.   Due to this, we propose a top-down design approach to a tailored reconfigurable circuit. <br> <br>
+
<p>To this end, we created and iterated upon a design for a tabletop version of TrumpetAfter some initial discussions in the computational team, we showed our goals to the wetlab researchers and got their feedback on which features they would find useful in a tabletop version. While we were not able to create the tabletop version of Trumpet this year due to time constraints, we anticipate adding it to the suite of Surface tools in the future.
 +
<br>
 +
<center><iframe width="425" height="349" src="http://www.youtube.com/embed/AGQ9VbdOIeM" frameborder="0" allowfullscreen></iframe></center>
 +
</div>
 +
<br>
 +
<br>
-
If the user is not interested in the entire permutation/combination space, many of the att sites can be removed from the fully reconfigurable design.  Thus, Trumpet follows the following process:  First, the user specifies the permutations/combinations of interest.  Then, based on which algorithm is chosen (Pancake or LinkSort), a fully reconfigurable circuit is produced with att sites that allow for all permutations and combinations.  Lastly, all of the att sites which are unnecessary for achieving the desired permutations and combinations are removed.  The output of this is a tailored design with only the att sites necessary for the user’s desired permutations/combinations.  We call this entire process the top-down design approach. <br> <br>
 
-
We hope that by attempting to solve this problem, we might inspire others out there to design their own att site placing algorithms which are more efficient than ours. Or, perhaps, people interested in this problem can find new and exciting ways to reconfigure circuit plasmids. We believe that if this problem could be solved very efficiently, it might pave the way to more interesting genetic circuits. <br><br><br>
+
<div id="results">
 +
<h1>Results</h1>
 +
<p>
 +
After designing the primers for the TB transcription factors and sequencing these genes, we can build our constructs with the genes of interest and invertase sites using Trumpet's invertase tree. The tree helps us visualize when we need to apply each invertase to the genetic device. We will be using PCR-based methodologies to add the invertase sites and the transcription factors to a biobrick backbone. This way we can restriction digest these parts and ligate them to the basic devices we constructed.  
 +
<p>
 +
In order for the correct permutation to take place, we need to treat the complete construct with invertases. The invertase tree will be useful in telling us the order in which we need to treat the device with the appropriate invertases. The first invertase will be on a seperate plasmid then during transformation of the larger construct we will heat shock the construct to prompt the invertase's actions on the construct. This step is will activate the inversion and flipping  action of the desired permutation. With these steps, we will be able to manipulate the actions of the promoter on a gene or even investigate the relationships between a variety of TB transcription factors in a network. 
 +
<p>
 +
<center><img style="float:center; width:600px; height:370px" id="invertase_map" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/Wet_Lab/InvertaseKeyTree.png"></center>
 +
<p>
-
<h5>Design Example:</h5><br>
 
-
Here we illustrate a simple, yet nontrivial, solution for a two part designThis circuit plasmid allows for all permutations/combinations of the two genes using only three sets of invertase sites, illustrated by the sets of red, blue, and orange trianglesBy flanking each gene with a its own set of att sites, each gene can be turned "on" and "off" by inputting the corresponding invertaseTo change the order of the two genes, the invertase corresponding to the outermost att sites (the red sites) must be inputted into the systemBelow is a cartoon displaying the sequence of inputs that leads to three of the five total permutations/combinations.
+
<div id="futurework">
 +
<h1>Future Work</h1>
 +
<p>
 +
<ul>
 +
<li>A surface application for Trumpet is still being developed. On the surface, users would be able to directly manipulate and arrange parts and participate in collaborative design and decision making. Design prototypes include integration with the Clotho database and ability to drag and drop components from a toolbox of parts. The patterns generated by Trumpet could then be translated for use in the lab with <a href="https://2011.igem.org/Team:BU_Wellesley_Software/Puppetshow">Puppetshow </a>and further integration with other applications.
 +
<li>The two algorithms we developed have different required invertase complexities which scale with the number of genes,nThe "better" of these two algorithms has an O(n<sup>2</sup>) complexity.  We believe that lower complexity algorithms may exist.  Future versions of Trumpet will implement more efficient att site placing algorithms, possibly using a bottom-up approach rather than a top-down approach.
 +
<li>Each of Trumpet's algorithms has an associated key generator.  For any permutation, the key generator returns the proper key according to the logic behind the algorithm.  While the keys returned are certainly correct, they are not guaranteed to be the shortest possible keysAs the complexity scales with n<sup>2</sup>, we can imagine that some invertase sites which were included in the design for permutation A, for example, could also be used for permutation B.  Unfortunately, the key generator has no way of knowing that these sites would also be useful for permutation BIntelligent algorithms should be developed to find these minimum length keys.
 +
<li>Future versions of Trumpet should also allow the user to specify the maximum length of the longest key, as this may directly correspond to the number of vectors added to the cellBy specifying this length, future Trumpet could return a set of designs, each individually adhering to this maximum key length.  As a set, these designs still achieve all desired permutations/combinations. Our current version of Trumpet allows the user to split a design into small sub-designs in an attempt to address this feature.
 +
</ul>
-
<img style="width:280px; height:200px" align="middle" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/temp_placeholder.png"/>
 
-
 
-
 
-
<br><br><br>
 
-
 
-
<h5>Future work:</h5><br>
 
-
 
-
A surface application for Trumpet is still being developed. On the surface, users would be able to directly manipulate and arrange parts and participate in collaborative design and decision making. Design prototypes include integration with the Clotho database and ability to drag and drop components from a toolbox of parts. The patterns generated by Trumpet could then be translated for use in the lab with <a href="https://2011.igem.org/Team:BU_Wellesley_Software/Puppetshow">Puppetshow </a>and further integration with other applications.
 
-
 
-
</div>
 
-
<div id="overview">
 
-
<h1>Overview: Trumpet</h1>
 
-
 
-
We are developing a synthetic testbed design for a DNA molecule,
 
-
which we call <em>Trumpet</em>. A trumpet testbed comprises a library of genes and promoters, which can
 
-
be configured into any desired permutation or combination by treating the DNA with a sequence of
 
-
enzymes called recombinases.  Our design algorithm takes a set of DNA parts, and produces a testbed
 
-
design and enzyme key dictionary, such that the testbed can be configured into any sequence of
 
-
promoters and genes by treating it with the corresponding enzyme key. This allows us to
 
-
rewire the genes and switches and study all their combinations.
 
-
<br><br><br>
 
-
 
-
<a href="#"><img id="download_button" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/temp_download_button.jpg"/></a>
 
-
<br><br><br><br><br><br><br>
 
-
<h5>Demo Video</h5>
 
-
</div>
 
-
<div id="wetlab">
 
-
<h1>Wetlab</h1>
 
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In et dictum ">
 
-
leo. Maecenas porttitor augue nec arcu lacinia ultricies. Maecenas at
 
-
dictum augue. Proin eget odio ac mi tristique scelerisque.
 
-
<img style="width:400px; height:300px" src="http://cs.wellesley.edu/~hcilab/iGEM_wiki/images/temp_placeholder.png"/>Integer at
 
-
nisl nec purus laoreet condimentum sed semper dui. Duis feugiat, ligula
 
-
eu vehicula vulputate, sem nisl ornare neque, eu dictum lacus sapien
 
-
eu neque.
 
-
<br><br>
 
-
Vestibulum gravida, turpis tempus suscipit euismod, ipsum mi
 
-
tristique nibh, sed sagittis ante felis at urna. Suspendisse eu neque
 
-
vitae lorem elementum elementum sit amet ac ligula. Mauris vestibulum
 
-
Donec ac sapien erat. Proin id enim sed
 
-
dolor suscipit laoreet vitae sit amet ligula. Nam ultricies orci vitae
 
-
mauris egestas tincidunt. Vestibulum sit amet est dolor.
 
-
<br><br><br>
 
-
<h5>Results:</h5>
 
-
Ut eu nunc eget ante egestas egestas at eu metus. Integer quam justo,
 
-
vehicula non sodales id, consequat vitae eros.<br>
 
-
  Aenean egestas, ipsum sed fringilla porta, erat mi facilisis lectus, quis elementum quam felis nec elit.
 
-
 
-
  <br><br>
 
-
  <h5>Safety practices:</h5>
 
-
  Aliquam in felis sit amet eros pharetra volutpat.
 
</div>
</div>
-
 
 
-
  </div>
 
-
 
 
-
</div>
 
-
<!-- "next page" action -->
 
-
<a class="next browse right"></a>
 
-
 
-
<script>
 
-
// execute your scripts when the DOM is ready. this is mostly a good habit
 
-
$(function() {
 
-
// initialize scrollable
 
-
$(".scrollable").scrollable();
 
-
//move the scrollable content to show the middle section
 
-
                        var api = $(".scrollable").data("scrollable");
 
-
                        api.seekTo(1, 500);
 
-
});
 
-
</script>
 
-
 
</div><!--end bu-wellesley_wiki_content div-->
</div><!--end bu-wellesley_wiki_content div-->

Latest revision as of 01:06, 29 September 2011

BU-Wellesley iGEM Team: Trumpet


Trumpet

Tool Overview

We are developing a synthetic testbed design for a DNA molecule, which we call Trumpet. A trumpet testbed comprises a library of genes and promoters, which can be configured into any desired permutation or combination by treating the DNA with a sequence of enzymes called recombinases. Our design algorithm takes a set of DNA parts, and produces a testbed design and enzyme key dictionary, such that the testbed can be configured into any sequence of promoters and genes by treating it with the corresponding enzyme key. This allows us to rewire the genes and switches and study all their combinations.

The goal of Trumpet is to aid the user in designing fully reconfigurable genetic circuit plasmids. Imagine that as a researcher, you have a particular set of genes, and you are interested in how the expressions of these genes interact with one another. Conventionally, in order to do this, you must tediously construct many different plasmids, each with the correct combinations and permutations of these genes, and study the expressions of these plasmids one at a time.

However, what if you could make a single plasmid containing the genes of interest, and use enzymatic reactions to reconfigure the genes into the different permutations and combinations? Not only would this save a great deal of time in the building phase, but it would open the door to a world of completely reconfigurable genetic circuits based on user input via recombinase embedded suicide vectors. Trumpet is our first attempt at this dream. We have developed a software tool that takes in a set of genes along with the user’s desired set of permutations/combinations, and returns to the user an intelligently designed plasmid which can be reconfigured into the permutations/combinations specified by the user. Along with the plasmid design, Trumpet outputs a set of “keys” for each permutation/combination. These keys indicate the ordered set of recombinase inputs which must be introduced by the user in order to reconfigure the plasmid into the proper state. By developing Trumpet as a Clotho application, the user can quickly save this design to their database of parts. Then, they can use Puppetshow, another one of our applications, to quickly and efficiently build the plasmid using a liquid handling robot.

Method

For this project, we focused on the use of invertases as our recombinase inputs. By orienting two identical copies of an att site in opposite directions, the corresponding invertase which recognizes these att sites will effectively flip the entire duplex region located between the sites. Using this property, we developed two separate algorithms which place at sites intelligently between and around the genes of interest, such that all of the desired combinations and permutations can be achieved through these enzymatic inversions.

The output of our Pancake and LinkSort translations is a large composite part-containing set of genes with att sites properly inserted such that all permutations and combinations of the genes can be achieved given a particular set of invertase inputs. However, we realize that the user is most likely not interested in the entire combination/permutation output space. Due to this, we propose a top-down design approach to a tailored reconfigurable circuit.

If the user is not interested in the entire permutation/combination space, many of the att sites can be removed from the fully reconfigurable design. Thus, Trumpet follows the following process: First, the user specifies the permutations/combinations of interest. Then, based on which algorithm is chosen (Pancake or LinkSort), a fully reconfigurable circuit is produced with att sites that allow for all permutations and combinations. Lastly, all of the att sites which are unnecessary for achieving the desired permutations and combinations are removed. The output of this is a tailored design with only the att sites necessary for the user’s desired permutations/combinations. We call this entire process the top-down design approach.

We hope that by attempting to solve this problem, we might inspire others out there to design their own att site placing algorithms which are more efficient than ours. Or, perhaps, people interested in this problem can find new and exciting ways to reconfigure circuit plasmids. We believe that if this problem could be solved very efficiently, it might pave the way to more interesting genetic circuits.

Design Example

To the right, we see a solution for a two part design which helps illustrate the use of invertases for re configuring a plasmid. This circuit plasmid allows for all permutations/combinations of the two genes using only three sets of invertase sites, illustrated by the sets of red, blue, and orange triangles. By flanking each gene with its own set of att sites, each gene can be turned "on" and "off" by inputting the corresponding invertase. To change the order of the two genes, the invertase corresponding to the outermost att sites (the red sites) must be inputted into the system. The cartoon to the right displays a sequence of invertase inputs, and the effect each input has on the circuit plasmid. The order of these inputs does not particularly matter in this example; however, in more complicated designs the sequence is very important. Also, it should be noted that only four out of the eight possible configurations of this design are displayed in the cartoon.



Tutorial and Download



Tabletop Implementation

After seeing the success of the desktop implementation of Trumpet, we realized it could be useful to have a tabletop version of Trumpet to allow for collaboration between users. The process of choosing specific combinations of genes, promoters, ribosome binding sites, and other genomic sequences inherently relies on collaboration, since the outcome of such a process will influence the work that each member of the lab needs to complete. Different members of the lab will have different research goals for their work, and the best way to figure out how each person will accomplish their goals in the context of the overall research question requires input from the entire team. A tabletop Trumpet application will allow the entire lab to get involved in determining research goals.

To this end, we created and iterated upon a design for a tabletop version of Trumpet. After some initial discussions in the computational team, we showed our goals to the wetlab researchers and got their feedback on which features they would find useful in a tabletop version. While we were not able to create the tabletop version of Trumpet this year due to time constraints, we anticipate adding it to the suite of Surface tools in the future.



Results

After designing the primers for the TB transcription factors and sequencing these genes, we can build our constructs with the genes of interest and invertase sites using Trumpet's invertase tree. The tree helps us visualize when we need to apply each invertase to the genetic device. We will be using PCR-based methodologies to add the invertase sites and the transcription factors to a biobrick backbone. This way we can restriction digest these parts and ligate them to the basic devices we constructed.

In order for the correct permutation to take place, we need to treat the complete construct with invertases. The invertase tree will be useful in telling us the order in which we need to treat the device with the appropriate invertases. The first invertase will be on a seperate plasmid then during transformation of the larger construct we will heat shock the construct to prompt the invertase's actions on the construct. This step is will activate the inversion and flipping action of the desired permutation. With these steps, we will be able to manipulate the actions of the promoter on a gene or even investigate the relationships between a variety of TB transcription factors in a network.

Future Work

  • A surface application for Trumpet is still being developed. On the surface, users would be able to directly manipulate and arrange parts and participate in collaborative design and decision making. Design prototypes include integration with the Clotho database and ability to drag and drop components from a toolbox of parts. The patterns generated by Trumpet could then be translated for use in the lab with Puppetshow and further integration with other applications.
  • The two algorithms we developed have different required invertase complexities which scale with the number of genes,n. The "better" of these two algorithms has an O(n2) complexity. We believe that lower complexity algorithms may exist. Future versions of Trumpet will implement more efficient att site placing algorithms, possibly using a bottom-up approach rather than a top-down approach.
  • Each of Trumpet's algorithms has an associated key generator. For any permutation, the key generator returns the proper key according to the logic behind the algorithm. While the keys returned are certainly correct, they are not guaranteed to be the shortest possible keys. As the complexity scales with n2, we can imagine that some invertase sites which were included in the design for permutation A, for example, could also be used for permutation B. Unfortunately, the key generator has no way of knowing that these sites would also be useful for permutation B. Intelligent algorithms should be developed to find these minimum length keys.
  • Future versions of Trumpet should also allow the user to specify the maximum length of the longest key, as this may directly correspond to the number of vectors added to the cell. By specifying this length, future Trumpet could return a set of designs, each individually adhering to this maximum key length. As a set, these designs still achieve all desired permutations/combinations. Our current version of Trumpet allows the user to split a design into small sub-designs in an attempt to address this feature.