Difference between revisions of "Team:Edinburgh UG/Lexicon Encoding"

Line 87: Line 87:
 
</style>
 
</style>
  
    <div id="custom-bootstrap-menu" class="navbar navbar-default navbar-fixed-top" role="navigation">
+
<div id="custom-bootstrap-menu" class="navbar navbar-default navbar-fixed-top" role="navigation">
        <div class= "container-fluid">
+
    <div class= "container-fluid">
          <!-- Navigation -->
+
      <!-- Navigation -->
          <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+
      <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
              <div class="container">
+
          <div class="container">
                  <!-- Brand and toggle get grouped for better mobile display -->
+
              <!-- Brand and toggle get grouped for better mobile display -->
                  <div class="navbar-header">
+
              <div class="navbar-header">
                      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+
                  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                          <span class="sr-only">Toggle navigation</span>
+
                      <span class="sr-only">Toggle navigation</span>
                          <span class="icon-bar"></span>
+
                      <span class="icon-bar"></span>
                          <span class="icon-bar"></span>
+
                      <span class="icon-bar"></span>
                          <span class="icon-bar"></span>
+
                      <span class="icon-bar"></span>
                      </button>
+
                  </button>
                      <a class="navbar-brand" href="#">
+
                  <a class="navbar-brand" href="https://2016.igem.org/Team:Edinburgh_UG">
                          <img src="https://static.igem.org/mediawiki/2016/9/92/Edinburgh_logo2_MINI.png" alt="">
+
                      <img src="https://static.igem.org/mediawiki/2016/9/92/Edinburgh_logo2_MINI.png" alt="">
                      </a>
+
                  </a>
                  </div>
+
                  <!-- Collect the nav links, forms, and other content for toggling -->
+
                  <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+
                      <ul class="nav navbar-nav">
+
                          <li>
+
                              <a href="https://2016.igem.org/Team:Edinburgh_UG">Home</a>
+
                          </li>
+
                          <li class="dropdown">
+
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Team<span class="caret"></span></a>
+
                            <ul class="dropdown-menu" role="menu">
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Team">Team</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Attribution">Attribution</a></li>
+
                            </ul>
+
                          </li>
+
                          <li class="dropdown">
+
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Human Practices<span class="caret"></span></a>
+
                            <ul class="dropdown-menu" role="menu">
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Silver">Silver</a> </li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Gold">Gold</a> </li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Integrated_Practices">Integrated Practices</a> </li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Engagement">Engagement</a> </li>
+
                            </ul>
+
                          </li>
+
                          <li class="dropdown">
+
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Project<span class="caret"></span></a>
+
                            <ul class="dropdown-menu" role="menu">
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Description">Description</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Design">Design</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Proof">Proof of Concept</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Demonstrate">Demonstrate</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Notebook">Notebook</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Babbled2.0">Babbled2.0</a></li>
+
                            </ul>
+
                          </li>
+
                          <li class="dropdown">
+
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Informatics<span class="caret"></span></a>
+
                            <ul class="dropdown-menu" role="menu">
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Lexicon_Encoding">Lexicon Encoding</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Error_Correction">Error Correction</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Encryption">Encryption</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Files">Files</a></li>
+
                            </ul>
+
                          </li>
+
                          <li class="dropdown">
+
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Parts<span class="caret"></span></a>
+
                            <ul class="dropdown-menu" role="menu">
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Basic_Part">Basic Parts</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Composite_Part">Composite Parts</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Part_Collection">Part Collection</a> </li>
+
                            </ul>
+
                          </li>
+
                          <li>
+
                              <a href="#">Collaboration</a>
+
                          </li>
+
                          <li class="dropdown">
+
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Awards<span class="caret"></span></a>
+
                            <ul class="dropdown-menu" role="menu">
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Entrepreneurship">Entrepreneurship</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Software">Software</a> </li>
+
                            </ul>
+
                          </li>
+
                          <li class="dropdown">
+
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Safety<span class="caret"></span></a>
+
                            <ul class="dropdown-menu" role="menu">
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Safety">Lab Safety</a></li>
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Biological Safety">Biological Safety</a></li>
+
                            </ul>
+
                          </li>
+
                          <li class="dropdown">
+
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Interlab<span class="caret"></span></a>
+
                            <ul class="dropdown-menu" role="menu">
+
                              <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Plate_Reader">Plate Reader</a></li>
+
                            </ul>
+
                          </li>
+
                      </ul>
+
                  </div>
+
                  <!-- /.navbar-collapse -->
+
 
               </div>
 
               </div>
               <!-- /.container -->
+
 
          </nav>
+
               <!-- Collect the nav links, forms, and other content for toggling -->
        </div>
+
              <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
 +
                  <ul class="nav navbar-nav">
 +
                      <li>
 +
                          <a href="https://2016.igem.org/Team:Edinburgh_UG">Home</a>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Team<span class="caret"></span></a>
 +
                        <ul class="dropdown-menu" role="menu">
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Team">Team</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Attribution">Attribution</a></li>
 +
                        </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Human Practices<span class="caret"></span></a>
 +
                        <ul class="dropdown-menu" role="menu">
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Overview">Overview</a> </li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/HP/Silver">Silver</a> </li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/HP/Gold">Gold</a> </li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Integrated_Practices">Integrated Practices</a> </li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Engagement">Engagement</a> </li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Ethics">Ethics</a> </li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Mary_Queen_of _Scots">Mary Queen of Scots</a> </li>
 +
                        </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Project<span class="caret"></span></a>
 +
                        <ul class="dropdown-menu" role="menu">
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Description">Description</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Design">Design</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Proof">Proof of Concept</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Demonstrate">Demonstrate</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Notebook">Notebook</a></li>
 +
                        </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Informatics<span class="caret"></span></a>
 +
                        <ul class="dropdown-menu" role="menu">
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Lexicon_Encoding">Lexicon Encoding</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Error_Correction">Error Correction</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Encryption">Encryption</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Files">Files</a></li>
 +
                        </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Parts<span class="caret"></span></a>
 +
                        <ul class="dropdown-menu" role="menu">
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Basic_Part">Basic Parts</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Composite_Part">Composite Parts</a></li>
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Part_Collection">Part Collection</a> </li>
 +
                        </ul>
 +
                      </li>
 +
                      <li>
 +
                          <a href="https://2016.igem.org/Team:Edinburgh_UG/Collaboration">Collaboration</a>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Awards<span class="caret"></span></a>
 +
                        <ul class="dropdown-menu" role="menu">
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Software">Software</a> </li>
 +
                        </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Safety<span class="caret"></span></a>
 +
                        <ul class="dropdown-menu" role="menu">
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Safety/Biological Safety">Biological Safety</a></li>
 +
                        </ul>
 +
                      </li>
 +
                      <li class="dropdown">
 +
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Interlab<span class="caret"></span></a>
 +
                        <ul class="dropdown-menu" role="menu">
 +
                          <li><a href="https://2016.igem.org/Team:Edinburgh_UG/Plate_Reader">Plate Reader</a></li>
 +
                        </ul>
 +
                      </li>
 +
                  </ul>
 +
              </div>
 +
              <!-- /.navbar-collapse -->
 +
          </div>
 +
          <!-- /.container -->
 +
      </nav>
 
     </div>
 
     </div>
 
+
</div>
  
 
     <!-- End of menu  -->
 
     <!-- End of menu  -->
Line 211: Line 211:
 
     </div>
 
     </div>
 
   </div>
 
   </div>
   
+
 
 
   <div class="container-fluid">
 
   <div class="container-fluid">
 
     <div class="col-cm-3"></div>
 
     <div class="col-cm-3"></div>
Line 264: Line 264:
 
     </div>
 
     </div>
 
   </div>
 
   </div>
 +
 +
  <br>
 +
  <br>
  
 
   <div class="row">
 
   <div class="row">
Line 269: Line 272:
 
               <div class="col-lg-12">
 
               <div class="col-lg-12">
 
                   <hr>
 
                   <hr>
                   <h2 class="intro-text text-center">Contact
+
                   <h2 class="intro-text text-center">Follow
 
                       <strong>Us</strong>
 
                       <strong>Us</strong>
 
                   </h2>
 
                   </h2>
 
                   <hr>
 
                   <hr>
 
                   <div class="intro-text text-center">
 
                   <div class="intro-text text-center">
                      <p><a href="mailto:edinburgh.igem2016@gmail.com">edinburgh.igem2016@gmail.com</a>
 
                      </p>
 
 
                       <ul class="list-inline banner-social-buttons">
 
                       <ul class="list-inline banner-social-buttons">
 
                           <li>
 
                           <li>
                               <a href="https://twitter.com/EdiGEM2016"><img src="https://static.igem.org/mediawiki/2016/0/04/Twitterlogo_ed2016.png"></img></a>
+
                               <a href="https://twitter.com/EdiGEM2016"><img src="https://static.igem.org/mediawiki/2016/9/94/Edinburgh2_t2.jpg"></img></a>
 
                           </li>
 
                           </li>
 
                           <li>
 
                           <li>
                               <a href="https://www.facebook.com/EdiGEM2016"><img src="https://static.igem.org/mediawiki/2016/c/c2/Facebook_ed2016.png"></img></a>
+
                               <a href="https://www.facebook.com/EdiGEM2016"><img src="https://static.igem.org/mediawiki/2016/c/ce/Edinburgh2_f2.png"></img></a>
 
                           </li>
 
                           </li>
 
                           <li>
 
                           <li>
                               <a href="https://www.instagram.com/edigem2016/"><img src="https://static.igem.org/mediawiki/2016/5/5d/Instagram_ed2016.png"></img></a>
+
                               <a href="https://www.instagram.com/edigem2016/"><img src="https://static.igem.org/mediawiki/2016/6/64/Edinburgh2_insta2.png"></img></a>
 
                           </li>
 
                           </li>
 
                       </ul>
 
                       </ul>
Line 291: Line 292:
 
           </div>
 
           </div>
 
       </div>
 
       </div>
 +
<br>
 +
<br>
 +
 +
  
 
</body>
 
</body>
 
</html>
 
</html>

Revision as of 14:15, 19 October 2016

To create BabblED we needed the capacity to rapidly design and process the information contained in a large lexicon of BabbleBricks. This would have been practically impossible to accomplish by hand and hence required the creation of a software tool with the functionality to encode and decode BabbleBlocks and BabbleBlocks. You can read more about all these mechanisms below or jump straight into the code at our Github

To encode the BabbleBricks that make up a lexicon we begin by taking a list of words. We then enumerate this list first in decimal and then in base 4. We convert these numbers into their DNA equivalent using the schema; A is 0, T is 1, G is 2, C is 3 and pad them all up to 5 base pairs. Now we have these variable sequences we must ensure that no illegal restriction sites can occur so we add gap sequences. Finally we append a stop codon region, restriction site preventing gapped error correcting region and hangs in each BabbleBrick form. For example:

When we assemble our BabbleBricks together to create BabbleBlocks its vital we know what the sequence will be for both verification purposes, so that we can instruct the user exactly which BabbleBricks to use and so we can work out our checksum and address values. We start by appending our word coding BabbleBricks together:

5' GGAGACCAAAATAGCTAATCACTTATGAAAGGAATTAAGGAATTAA + GGAGACCAAATTAGCTAATCACTTATGAAAGGATTTAAGGATTTAA

5' GGAGACCAAAATAGCTAATCACTTATGAAAGGAATTAAGGAATTAAGGAGACCAAATTAGCTAATCACTTATGAAAGGATTTAAGGATTTAA

We then look at the word coding regions spaced at regular intervals and use them to calculate a checksum as described in the error correction section here. Finally, we append an address BabbleBlock which acts like a line number telling the decoding program where this BabbleBlock lies in the overall archive.

In order to decode a BabbleBlock we first look at our checksum and use it to verify whether or not error correction needs to be done - if some mistakes are flagged we use our error correcting apparatus, as described below, and return their results (what our sequence was before the change) back to the decoding program. The error correcting program will look at each word coding region, convert it back to it numerical values and use it as an index to look up the information value of that BabbleBrick in the lexicon. Having decoded all the BabbleBlocks in a batch these will then be sorted in order using the address found at the end of each sequence before the decoded information is returned to the user.




Follow Us