Difference between revisions of "Team:HebrewU/Software"

 
(32 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
<!--- Own CSS --->
 
<!--- Own CSS --->
 
<link rel="stylesheet" href="https://2018.igem.org/Template:HebrewU/CSS?action=raw&ctype=text/css">
 
<link rel="stylesheet" href="https://2018.igem.org/Template:HebrewU/CSS?action=raw&ctype=text/css">
 
<!--- Jquery script - ****** remove when uploading to wiki ********** --->
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
 
  
 
<!--- Main Menu script --->
 
<!--- Main Menu script --->
Line 21: Line 18:
 
   <link rel="stylesheet" href="https://2018.igem.org/Template:HebrewU/strap?action=raw&ctype=text/css">
 
   <link rel="stylesheet" href="https://2018.igem.org/Template:HebrewU/strap?action=raw&ctype=text/css">
 
    
 
    
 +
  <!--- Open interview in new window --->
 +
<script type="text/javascript">
 +
            function openTab(th)
 +
            {
 +
                window.open(th.name,'_blank');
 +
            }
 +
</script>
 +
       
 +
       
 +
       
 
<style>
 
<style>
 
/* Disable I-GEM defult properties for blank page */
 
/* Disable I-GEM defult properties for blank page */
Line 39: Line 46:
 
     }
 
     }
  
 
.ahuji {
 
    color:black
 
    }
 
  
  
Line 54: Line 57:
 
}
 
}
  
#panel, #flip_experts #panel_industry {
 
    padding: 5px;
 
    text-align: center;
 
}
 
  
#panel panel_industry{
 
    padding: 50px;
 
    display: none;
 
}
 
 
 
.button3 {
 
font-size: 25px;
 
    background-color: white;
 
    color: #008CBA;
 
border: 2px solid black;
 
padding: 8px 8px;
 
font-family:"Comic Sans MS", cursive;
 
 
}
 
 
.button3:hover {
 
font-size: 25px;
 
    padding: 8px 8px;
 
    background-color: black;
 
    color: white;
 
border: 2px solid black;
 
 
}
 
  
 
body {
 
body {
Line 115: Line 90:
 
     font-size: 14px;
 
     font-size: 14px;
 
     line-height: 1.42857143;
 
     line-height: 1.42857143;
 +
}
 +
 +
body {
 +
background-color:blue-gray;
 +
color: #e4e4e4;
 +
font-family:Tahoma, Geneva, sans-serif;
 +
}
 +
 +
#HQ_page p {
 +
    font-family: Tahoma, Geneva, sans-serif;
 +
    color: #e4e4e4;
 +
}
 +
 +
#HQ_page h1, h2, h3, h4, h5 {
 +
    font-family: Tahoma, Geneva, sans-serif;
 +
    border-bottom: none;
 +
    font-weight: bold;
 +
}
 +
 +
 +
.w3-blue-grey, .w3-hover-blue-grey:hover, .w3-blue-gray, .w3-hover-blue-gray:hover {
 +
    color: #e4e4e4;
 
}
 
}
  
 
a {
 
a {
    color: hotpink;
+
color:yellow;
 +
 
}
 
}
  
 +
sup {
 +
color:yellow;
 +
 +
}
 +
 +
a:visited {
 +
color:white;
 +
 +
}
 
</style>
 
</style>
  
Line 165: Line 172:
 
             <li><a href="https://2018.igem.org/Team:HebrewU/Description">Description</a></li>
 
             <li><a href="https://2018.igem.org/Team:HebrewU/Description">Description</a></li>
 
             <li><a href="https://2018.igem.org/Team:HebrewU/Model">Model</a></li>
 
             <li><a href="https://2018.igem.org/Team:HebrewU/Model">Model</a></li>
             <li><a href="https://2018.igem.org/Team:HebrewU/Results">Results</a></li>
+
             <li><a href="https://2018.igem.org/Team:HebrewU/Demonstrate">Results</a></li>
 
             <li><a href="https://2018.igem.org/Team:HebrewU/Parts">Parts</a></li>
 
             <li><a href="https://2018.igem.org/Team:HebrewU/Parts">Parts</a></li>
             <li><a href="https://2018.igem.org/Team:HebrewU/Software">Moolti</a></li>
+
             <li><a href="https://2018.igem.org/Team:HebrewU/Software">MOOLTi</a></li>
  
 
         </ul>         
 
         </ul>         
Line 219: Line 226:
 
             <a href="https://2018.igem.org/Team:HebrewU/Description"><button class="b_huji_small_subnav">Description</button></a>
 
             <a href="https://2018.igem.org/Team:HebrewU/Description"><button class="b_huji_small_subnav">Description</button></a>
 
             <a href="https://2018.igem.org/Team:HebrewU/Model"><button class="b_huji_small_subnav">Model</button></a>
 
             <a href="https://2018.igem.org/Team:HebrewU/Model"><button class="b_huji_small_subnav">Model</button></a>
             <a href="https://2018.igem.org/Team:HebrewU/Results"><button class="b_huji_small_subnav">Results</button></a>
+
             <a href="https://2018.igem.org/Team:HebrewU/Demonstrate"><button class="b_huji_small_subnav">Results</button></a>
 
             <a href="https://2018.igem.org/Team:HebrewU/Parts"><button class="b_huji_small_subnav">Parts</button></a>
 
             <a href="https://2018.igem.org/Team:HebrewU/Parts"><button class="b_huji_small_subnav">Parts</button></a>
             <a href="https://2018.igem.org/Team:HebrewU/Software"><button class="b_huji_small_subnav">Moolti</button></a>
+
             <a href="https://2018.igem.org/Team:HebrewU/Software"><button class="b_huji_small_subnav">MOOLTi</button></a>
 
         </div>
 
         </div>
  
Line 285: Line 292:
 
     }
 
     }
 
     </script>
 
     </script>
 +
   
 +
    <a onClick="topFunction()" id="myBtn_up" title="Go to top"><img src="https://static.igem.org/mediawiki/2018/1/1e/T--hebrewu--arrow_up.png" width="40px" /></a>
 +
 +
 +
<script>
 +
// When the user scrolls down 20px from the top of the document, show the button
 +
window.onscroll = function() {scrollFunction()};
 +
 +
function scrollFunction() {
 +
    if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
 +
        document.getElementById("myBtn_up").style.display = "block";
 +
    } else {
 +
        document.getElementById("myBtn_up").style.display = "none";
 +
    }
 +
}
 +
 +
// When the user clicks on the button, scroll to the top of the document
 +
function topFunction() {
 +
    document.body.scrollTop = 0;
 +
    document.documentElement.scrollTop = 0;
 +
}
 +
</script>
 
<!------------ HP start ------------->
 
<!------------ HP start ------------->
  
Line 294: Line 323:
 
   <div class="w3-content">
 
   <div class="w3-content">
 
     <div class="w3">
 
     <div class="w3">
       <div class="w3-center">
+
       <div class="w3-center w3-animate-zoom">
 
             <img src="https://static.igem.org/mediawiki/2018/7/7a/T--hebrewu--moolti_welacome1.png" width="80%">
 
             <img src="https://static.igem.org/mediawiki/2018/7/7a/T--hebrewu--moolti_welacome1.png" width="80%">
 
           <br /> <br /> <br />
 
           <br /> <br /> <br />
Line 302: Line 331:
  
 
       <div class="w3">
 
       <div class="w3">
  <p class="w3-justify" style="padding-right:30px;padding-left:30px;"> Several tools exist that provide a solution for codon usage bias when optimizing a DNA sequence, such as IDT and COOL. These tools, however, do not allow users to perform optimization on more than one organism at a time. This means that iGEM teams and researchers that wish to transform the same gene into multiple organisms have to try using a singularly-optimized gene (not necessarily compatible with all of the organisms being tested), or spend time and resources experimenting with differently optimized versions of the same gene.
+
  <p class="w3-justify" style="padding-right:30px;padding-left:30px;color:white;"> MOOLTi allows for the codon optimization of a DNA sequence for multiple organisms, simultaneously. While it has a number of uses, it is especially beneficial for labs and iGEM teams working with plants. Genetically engineering plants is on the rise today; similarly, there is a growing trend amongst iGEM teams to work with plants in recent years. Also, as there is the option to upload custom codon usage tables, this tool can be used to optimize less standard organisms.
 +
 
 +
 
 
   
 
   
 
  <br />  <br /> <br />  
 
  <br />  <br /> <br />  
 
   <div class="w3-center">
 
   <div class="w3-center">
   <a href="http://ec2-52-23-211-181.compute-1.amazonaws.com/"><button class="button3">  OPTIMIZE Now!</button> </a>
+
   <a href="http://ec2-52-23-211-181.compute-1.amazonaws.com/"><img src="https://static.igem.org/mediawiki/2018/f/f8/T--hebrewu--moolti_botoon.png" width="50%">  
 +
  </a>
 
   </div>
 
   </div>
 
+
           
 
+
          <br /> <br /> <br />
<br /> <br />  </p>
+
   </p>
       <p class="w3-justify" style="padding-right:30px;padding-left:30px;"> MOOLTi allows for the codon optimization of a DNA sequence for multiple organisms, simultaneously. While it has a number of uses, it is especially beneficial for labs and iGEM teams working with plants. Genetically engineering plants is on the rise today; similarly, there is a growing trend amongst iGEM teams to work with plants in recent years.  
+
       <p class="w3-justify" style="padding-right:30px;padding-left:30px;color:white;"> Several tools exist that provide a solution for codon usage bias when optimizing a DNA sequence, such as IDT's<sup>1</sup> and COOL<sup>2</sup>. These tools, however, do not allow users to perform optimization on more than one organism at a time. This means that iGEM teams and researchers that wish to transform the same gene into multiple organisms have to try using a singularly-optimized gene (not necessarily compatible with all of the organisms being tested) or spend time and resources experimenting with differently optimized versions of the same gene.
 +
 
  <br /> <br />  </p>
 
  <br /> <br />  </p>
 
        
 
        
 
        
 
        
       <p class="w3-justify" style="padding-left:30px;padding-right:30px;;"> Modifying organisms takes a lot of time and resources, which many iGEM teams cannot allow themselves to waste. As such, being able to test proteins and enzymes in microorganisms, or even in model plants, prior to final plant transformation is incLight-Blueibly advantageous. <br />  <br />
+
       <p class="w3-justify" style="padding-left:30px;padding-right:30px;color:white;"> Modifying organisms takes a lot of time and resources, which many iGEM teams cannot allow themselves to waste. As such, being able to test proteins and enzymes in microorganisms, or even in model plants, prior to final plant transformation is incredibly advantageous.
 +
 
 +
<br />  <br />
  
  
Line 323: Line 358:
  
  
MOOLTi is programed to optimize genes for their most efficient translation in multiple organisms based on recent studies in tRNA and codon usage. It is also filled with useful features such as giving priority to one of the two organisms (if necessary), custom limits on the lowest usage (bias) percentages you would like to allow, and ensuring there are no restriction sites, so that genes can be Biobrick compatible.  
+
MOOLTi is programmed to optimize genes for their most efficient translation in multiple organisms based on recent studies in tRNA and codon usage. It is also filled with useful features such as custom limits on the lowest usage (bias) percentages you would like to allow, and ensuring there are no restriction sites so that genes can be Biobrick compatible.
 +
 
 
</p> <br />   
 
</p> <br />   
 
      
 
      
Line 332: Line 368:
  
  
       <p class="w3-justify" style="padding-left:30px;padding-right:30px;;"> MOOLTi analyzes and processes the input protein and codon usage tables, creating and updating internal data structures. After computing the average codon usage across organisms and ensuring minimum thresholds (at least 0.05% usage in each individual organism), MOOLTi creates a codon pool for each amino acid, which parallels the frequency in which they are used by the organisms. When the final DNA sequence is constructed, the codons are selected randomly from this pool creating a balanced mRNA molecule ready for translation. The resulting sequence is validated by internal mechanisms, checked for restriction sites, and then exported to a FASTA file.
+
       <p class="w3-justify" style="padding-left:30px;padding-right:30px;color:white;"> MOOLTi analyzes and processes the input protein or DNA sequence, and codon usage tables, creating and updating internal data structures. After computing the average codon usage across organisms and ensuring minimum thresholds (at least 0.05% usage in each individual organism), MOOLTi creates a codon pool for each amino acid, which parallels the frequency in which they are used by the organisms. When the final DNA sequence is constructed, the codons are selected randomly from this pool creating a balanced mRNA molecule ready for translation. The resulting sequence is validated by internal mechanisms, checked for restriction sites, and then exported to the user.
 +
 
 
  <br />  <br />
 
  <br />  <br />
  
This means that the final DNA output might differ from iterations of the program with the same input, whilst still translating to the same protein. Similar to the optimizer which is offeLight-Blue by IDT [1] and OPTIMIZER [2], our tool randomly chooses codons with a bias that parallels the natural bias observed in the selected organisms' genome. Using this approach, as opposed to confusing the most frequent codon with the “best” codon and using it exclusively, we overcome translational inefficiencies that were caused by an imbalanced spread of codons
+
This means that the final DNA output might differ from iterations of the program with the same input, whilst still translating to the same protein. Similar to the optimizer which is offered by IDT <sup>1</sup> and OPTIMIZER<sup>3</sup>, our tool chooses codons with a bias that parallels the natural bias observed in the selected organisms' genome. Using this approach, as opposed to confusing the most frequent codon with the “best” codon and using it exclusively, we overcome translational inefficiencies caused by an imbalanced spread of codons.
 
</p>  
 
</p>  
 
<br />  <br />   
 
<br />  <br />   
<h2 class="w3-center"> Maximizing the minimum score </h2>
 
      <p class="w3-justify" style="padding-left:30px;padding-right:30px;;"> The basis of this optimization is selecting, for each amino acid, the codon whose average frequency is the highest, while making sure that the lowest frequency of that codon in each organism stays above 0.05%.
 
<br />  <br />
 
  
In other words, let us have amino acid coding codons C={c_1,c_2….c_n }  with n=61 ,Amino Acids A={a_1…a_m }  with m=20 and Usage(c)={codon frequency fraction} 
 
The function we are maximizing ,  f:C→  Q:
 
 argmax f(C_a )={U(c)┤|  U(c)≥0.05}.
 
 
</p> <br />  <br /> 
 
  
 
<h2 class="w3-center"> Instructions </h2>
 
<h2 class="w3-center"> Instructions </h2>
      <p class="w3-justify" style="padding-left:30px;padding-right:30px;;">  
+
<div align="left" style="padding-left:30px;">
 +
<button type="button" style="backgrpund-color:#607d8b" class="w3-button" data-toggle="collapse" data-target="#web">Web (recommended)</button><br />
 +
  </div>
 +
  <div id="web" class="collapse w3-blue-gray">
 +
  <div style="float:right">
 +
<img src="https://static.igem.org/mediawiki/2018/5/5d/T--Hebrewu--MOOLTi_Web.jpeg" width="40%" /> <br /><br />
 +
</div>
 +
<p class="w3-justify" style="padding-left:30px;padding-right:30px;color:white;">
 +
1. Enter  <a href="http://ec2-52-23-211-181.compute-1.amazonaws.com/">Moolti web page </a> and select your organism input format, there are two options:<br /> </p>
 +
<p style="padding-left:50px;text-align:justify;padding-right:30px;">
 +
- Select an organism from our database, which includes a number of model organisms. <br />
 +
- Upload a CSV file containing your organisms' codon usage. We suggest downloading the files from our website or to use the STANDART option in the Codon Usage Database from <a href="https://www.kazusa.or.jp/codon/">Kazusa Database.</a></p>
 +
<p class="w3-justify" style="padding-left:30px;padding-right:30px;color:white;">
 +
2. Enter your protein sequence by copy/ pasting.<br /></p>
 +
<p style="font-size:14px;text-align:left;padding-left:50px;">* Make sure there is no stop codon in the middle of the protein sequence.</p>
 +
<p class="w3-justify" style="padding-left:30px;padding-right:30px;color:white;">
 +
3. Select restriction sites you would like to avoid.<br />
 +
 
 +
4. If necessary, customize your minimal percentage for codon usage (one number for both organisms).<br />
 +
5. Press "Optimize".  <br /> <br />
 +
</p>
 +
</div>
 +
 
 +
 
 +
<div align="left" style="padding-left:30px;">
 +
<button type="button" style="backgrpund-color:#607d8b" class="w3-button" data-toggle="collapse" data-target="#windows">python (windows) </button><br />
 +
  </div>
 +
  <div id="windows" class="collapse w3-blue-gray">
 +
<p class="w3-justify" style="padding-left:30px;color:white;">
 +
1. Add the following python libaries:
 +
<p style="padding-left:50px;text-align:justify;">
 +
-biopython (version 1.71 ) <br />
 +
-pandas (version 0.20.2) <br />
 +
-tkfilebrowser (version 2.2.5) <br />
 +
-numpy (version 1.15.2) <br />
 +
</p>
 +
<p class="w3-justify" style="padding-left:30px;color:white;">
 +
2. Download MOOLTi from the <a href="https://static.igem.org/mediawiki/2018/c/c4/T--Hebrewu--MOOLTi.zip
 +
"> i-GEM server </a> or from the <a href="https://github.com/leacotan/IGEM_Team_HUJI/tree/master/CodonOptimization"> GitHub</a> repository.<br />
 +
3. Double - Click on the file optimize.bat<br />
 +
4. Pick optimization method. <br />
 +
5. upload: <br />
 +
<p style="padding-left:50px;text-align:justify;">
 +
    - an empty file to save the result into.<br />
 +
    - a .fasta file containing the protein. <br />
 +
    - (optional) a file containing restriction enzymes names, or simply type them in (separated by comma).<br /></p>
 +
   
 +
        <p style="font-size:14px;text-align:left;padding-left:50px;">* Make sure there is no stop codon in the middle of the protein sequence.</p>
 +
  <p class="w3-justify" style="padding-left:30px;padding-right:70px;color:white;"> 
 +
6. click "Next".<br />
 +
7. upload  a .csv file containing a codon usage table (see database) for each organism.<br />
 +
8. (optional) add up to 4 organisms.<br />
 +
9. click "optimize" (the file with the output DNA was saved to the desired destination).<br /><br />
 +
</p>  <br /> <br />
 +
</div>
 +
 
 +
<div align="left" style="padding-left:30px;">
 +
<button type="button" style="backgrpund-color:#607d8b" class="w3-button" data-toggle="collapse" data-target="#cmd">python (cmd line) </button><br />
 +
  </div>
 +
  <div id="cmd" class="collapse w3-blue-gray">
 +
<p class="w3-justify" style="padding-left:30px;padding-right:30px;color:white;">
 +
1. Add the following python libaries:
 +
<p style="padding-left:50px;text-align:justify;padding-right:30px;">
 +
-biopython (version 1.71 ) <br />
 +
-pandas (version 0.20.2) <br />
 +
-numpy (version 1.15.2) <br />
 +
</p>
 +
<p class="w3-justify" style="padding-left:30px;color:white;">
 +
2. Download MOOLTi from the <a href="https://static.igem.org/mediawiki/2018/c/c4/T--Hebrewu--MOOLTi.zip
 +
"> i-GEM server </a> or from the <a href="https://github.com/leacotan/IGEM_Team_HUJI/tree/master/CodonOptimization"> GitHub</a> repository.<br />
 +
3. open command line.<br />
 +
4. Go to the downloaded folder location -> CodonOptimization\ (make sure Main.py is in the same folder)<br />
 +
5. run (in cmd line): <br />
 +
<p style="padding-left:50px;text-align:justify;padding-right:30px;">
 +
python3 Main.py  <protein sequence string> <threshold (defult is 0.05)> <organism 1 codon filename (csv file)>  <organism 2 codon table filename (csv file)>  <br /> </p>
 +
<p style="font-size:14px;text-align:left;padding-left:50px;">* Make sure there is no stop codon in the middle of the protein sequence.</p>
 +
<p class="w3-justify" style="padding-left:30px;padding-right:30px;color:white;"> 
 +
6. press enter. <br />
 +
7. write the names of the restriction enzymes to be avoided (notice: the input is case sensitive), if none press enter. <br />
 +
8. the output will be printed to the cmd line. <br />
 
</p>  
 
</p>  
 +
</p>
 +
</div>
 +
  
 
<br /><br />
 
<br /><br />
 
<h2 class="w3-center"> References </h2>
 
<h2 class="w3-center"> References </h2>
       <p class="w3-justify" style="padding-left:30px;padding-right:30px;;">  
+
       <p class="w3-justify" style="padding-left:30px;padding-right:30px;color:white;">  
         1. <a href="https://jb.asm.org/content/jb/174/7/2131.full.pdf">"Codon optimization tool makes synthetic gene design easy"; Hans Packer et. al, IDT website (2016).</a> <br />         
+
         1. <a href="https://www.idtdna.com/pages/education/decoded/article/codon-optimization-tool-makes-synthetic-gene-design-easy">"Codon optimization tool makes synthetic gene design easy"; Hans Packer et. al, IDT website (2016).</a> <br />         
  2. <a href="https://jb.asm.org/content/jb/174/7/2131.full.pdf">"OPTIMIZER: a web server for optimizing the codon usage of DNA sequences"; Pere Puigbò et al Nucleic Acids Research, Volume 35, Issue suppl_2, Pages W126–W131 (2007).</a> <br />   
+
  2. <a href="https://academic.oup.com/nar/article/35/suppl_2/W126/2920747">"OPTIMIZER: a web server for optimizing the codon usage of DNA sequences"; Pere Puigbò et al Nucleic Acids Research, Volume 35, Issue suppl_2, Pages W126–W131 (2007).</a> <br />
 +
        3. <a href="http://cool.syncti.org/">COOL - Codon optimization on line, SynCTI, National University of Singapore (NUS); (2016).</a> <br />   
 
</p>                 
 
</p>                 
 
  <br />  <br />
 
  <br />  <br />
 
+
<p style="font-size:20px;">
 
+
For the full code, please visit MOOLTi <a href="https://github.com/leacotan/IGEM_Team_HUJI/tree/master/CodonOptimization">GitHub</a> project.
 
</p>  
 
</p>  
  
  
 
+
<br /> <br /> <br />
 
</div>
 
</div>
  

Latest revision as of 17:28, 12 December 2018

HebrewU HujiGEM 2018






MOOLTi allows for the codon optimization of a DNA sequence for multiple organisms, simultaneously. While it has a number of uses, it is especially beneficial for labs and iGEM teams working with plants. Genetically engineering plants is on the rise today; similarly, there is a growing trend amongst iGEM teams to work with plants in recent years. Also, as there is the option to upload custom codon usage tables, this tool can be used to optimize less standard organisms.





Several tools exist that provide a solution for codon usage bias when optimizing a DNA sequence, such as IDT's1 and COOL2. These tools, however, do not allow users to perform optimization on more than one organism at a time. This means that iGEM teams and researchers that wish to transform the same gene into multiple organisms have to try using a singularly-optimized gene (not necessarily compatible with all of the organisms being tested) or spend time and resources experimenting with differently optimized versions of the same gene.

Modifying organisms takes a lot of time and resources, which many iGEM teams cannot allow themselves to waste. As such, being able to test proteins and enzymes in microorganisms, or even in model plants, prior to final plant transformation is incredibly advantageous.

It was not so simple to develop, but MOOLTi makes this task as easy as optimizing for a single organism.

MOOLTi is programmed to optimize genes for their most efficient translation in multiple organisms based on recent studies in tRNA and codon usage. It is also filled with useful features such as custom limits on the lowest usage (bias) percentages you would like to allow, and ensuring there are no restriction sites so that genes can be Biobrick compatible.


Mechanism

MOOLTi analyzes and processes the input protein or DNA sequence, and codon usage tables, creating and updating internal data structures. After computing the average codon usage across organisms and ensuring minimum thresholds (at least 0.05% usage in each individual organism), MOOLTi creates a codon pool for each amino acid, which parallels the frequency in which they are used by the organisms. When the final DNA sequence is constructed, the codons are selected randomly from this pool creating a balanced mRNA molecule ready for translation. The resulting sequence is validated by internal mechanisms, checked for restriction sites, and then exported to the user.

This means that the final DNA output might differ from iterations of the program with the same input, whilst still translating to the same protein. Similar to the optimizer which is offered by IDT 1 and OPTIMIZER3, our tool chooses codons with a bias that parallels the natural bias observed in the selected organisms' genome. Using this approach, as opposed to confusing the most frequent codon with the “best” codon and using it exclusively, we overcome translational inefficiencies caused by an imbalanced spread of codons.



Instructions




1. Enter Moolti web page and select your organism input format, there are two options:

- Select an organism from our database, which includes a number of model organisms.
- Upload a CSV file containing your organisms' codon usage. We suggest downloading the files from our website or to use the STANDART option in the Codon Usage Database from Kazusa Database.

2. Enter your protein sequence by copy/ pasting.

* Make sure there is no stop codon in the middle of the protein sequence.

3. Select restriction sites you would like to avoid.
4. If necessary, customize your minimal percentage for codon usage (one number for both organisms).
5. Press "Optimize".


1. Add the following python libaries:

-biopython (version 1.71 )
-pandas (version 0.20.2)
-tkfilebrowser (version 2.2.5)
-numpy (version 1.15.2)

2. Download MOOLTi from the i-GEM server or from the GitHub repository.
3. Double - Click on the file optimize.bat
4. Pick optimization method.
5. upload:

- an empty file to save the result into.
- a .fasta file containing the protein.
- (optional) a file containing restriction enzymes names, or simply type them in (separated by comma).

* Make sure there is no stop codon in the middle of the protein sequence.

6. click "Next".
7. upload a .csv file containing a codon usage table (see database) for each organism.
8. (optional) add up to 4 organisms.
9. click "optimize" (the file with the output DNA was saved to the desired destination).




1. Add the following python libaries:

-biopython (version 1.71 )
-pandas (version 0.20.2)
-numpy (version 1.15.2)

2. Download MOOLTi from the i-GEM server or from the GitHub repository.
3. open command line.
4. Go to the downloaded folder location -> CodonOptimization\ (make sure Main.py is in the same folder)
5. run (in cmd line):

python3 Main.py

* Make sure there is no stop codon in the middle of the protein sequence.

6. press enter.
7. write the names of the restriction enzymes to be avoided (notice: the input is case sensitive), if none press enter.
8. the output will be printed to the cmd line.



References

1. "Codon optimization tool makes synthetic gene design easy"; Hans Packer et. al, IDT website (2016).
2. "OPTIMIZER: a web server for optimizing the codon usage of DNA sequences"; Pere Puigbò et al Nucleic Acids Research, Volume 35, Issue suppl_2, Pages W126–W131 (2007).
3. COOL - Codon optimization on line, SynCTI, National University of Singapore (NUS); (2016).



For the full code, please visit MOOLTi GitHub project.