Team:HokkaidoU Japan/Shuffling Kit/Primer Designer

From 2013.igem.org

(Difference between revisions)
Line 41: Line 41:
               CDS(s) included.
               CDS(s) included.
-
               <h3>3. Then, please select the region to where your flagment correspond in target plasmid.</h3>
+
               <h3>3. Then, please select the region to where your fragment correspond in target plasmid.</h3>
               <div id="plasmid-map">
               <div id="plasmid-map">
                 <div                            id="plasmid-0">                                  </div>
                 <div                            id="plasmid-0">                                  </div>
Line 58: Line 58:
                 <div class="form-group">
                 <div class="form-group">
                   <label for="part-beginning">
                   <label for="part-beginning">
-
                     Beginning of the flagment:
+
                     Beginning of the fragment:
                   </label>
                   </label>
                   <select name="part-beginning" class="form-control monospace">
                   <select name="part-beginning" class="form-control monospace">
Line 74: Line 74:
                 <div class="form-group">
                 <div class="form-group">
                   <label for="part-end">
                   <label for="part-end">
-
                     End of the flagment:
+
                     End of the fragment:
                   </label>
                   </label>
                   <select name="part-end" class="form-control monospace">
                   <select name="part-end" class="form-control monospace">
Line 91: Line 91:
-
               <h3>4. Okey, now we are ready to go. Enter your flagment's sequence, and press "Calculate"!</h3>
+
               <h3>4. Okey, now we are ready to go. Enter your fragment's sequence, and press "Calculate"!</h3>
             </div>
             </div>
             <div id="not-conform">
             <div id="not-conform">
-
               <h3>2. Please enter overhangs and flagment's sequence, and press "Calculate"</h3>
+
               <h3>2. Please enter overhangs and fragment's sequence, and press "Calculate"</h3>
             </div>
             </div>
Line 113: Line 113:
               <div class="form-group">
               <div class="form-group">
                 <label for="sequence">
                 <label for="sequence">
-
                   Flagment sequence:
+
                   Fragment sequence:
                 </label>
                 </label>
               <textarea class="form-control monospace" type="text" name="sequence"></textarea><br>
               <textarea class="form-control monospace" type="text" name="sequence"></textarea><br>
Line 140: Line 140:
             </dl>
             </dl>
-
             <h3>5. Now, repeat previous step for remaining flagments included in the target plasmid.</h3>
+
             <h3>5. Now, repeat previous step for remaining fragments included in the target plasmid.</h3>
<script type="text/javascript">
<script type="text/javascript">
(function(){var n,f,e,h,d,a,j,g,i,b,m,k,c,l;a=function(o){switch(o){case"AA":case"TT":return -9.1;case"AT":return -8.6;case"TA":return -6;case"CA":case"TG":return -5.8;case"GT":case"AC":return -6.5;case"CT":case"AG":return -7.8;case"GA":case"TC":return -5.6;case"CG":return -11.9;case"GC":return -11.1;case"GG":case"CC":return -11}};k=function(o){var p,q,s,r;q=0;for(p=s=0,r=o.length-2;0<=r?s<=r:s>=r;p=0<=r?++s:--s){q+=a(o.slice(p,+(p+1)+1||9000000000))}return q};j=function(o){switch(o){case"AA":case"TT":return -24;case"AT":return -23.9;case"TA":return -16.9;case"CA":case"TG":return -12.9;case"GT":case"AC":return -17.3;case"CT":case"AG":return -20.8;case"GA":case"TC":return -13.5;case"CG":return -27.8;case"GC":return -26.7;case"GG":case"CC":return -26.6}};c=function(o){var p,q,s,r;q=0;for(p=s=0,r=o.length-2;0<=r?s<=r:s>=r;p=0<=r?++s:--s){q+=j(o.slice(p,+(p+1)+1||9000000000))}return q};n=function(o){var q,p;q=k(o);p=c(o);return(1000*q/(-10.8+p+1.987*-15.89495209964411))-273.15+16.6*-1.3010299956639813};d=function(p){var r,o,q;if(n(p.slice(0,35))<60){alert("Sequence is too short.");return false}for(r=q=17;q<=35;r=++q){o=n(p.slice(0,+(r-1)+1||9000000000));if(o>60){if(p[r-1]==="G"||p[r-1]==="C"){break}}}return[p.slice(0,+(r-1)+1||9000000000),o]};h=function(o){switch(o){case"A":return"T";case"T":return"A";case"G":return"C";case"C":return"G"}};m=function(p){var o;return((function(){var t,r,s,q;s=p.split("");q=[];for(t=0,r=s.length;t<r;t++){o=s[t];q.push(h(o))}return q})()).reverse().join("")};g=function(s,o,w){var t,p,r,u,v,q;t=d(w);p=d(m(w));r="TTTGGTCTCT"+s+"T"+t[0];v=t[1];u="TTTGGTCTCA"+o+"A"+p[0];q=p[1];return[r,v,u,q]};e=function(o){if(/GGTCTC/.test(o)||/GGTCTC/.test(m(o))){alert("This sequence contains BsaI cutting site.");return false}else{if(/GAATTC/.test(o)||/GAATTC/.test(m(o))){alert("This sequence contains EcoRI cutting site.");return false}else{if(/CTGCAG/.test(o)||/CTGCAG/.test(m(o))){alert("This sequence contains PstI cutting site.");return false}else{if(/GCGGCCGC/.test(o)||/GCGGCCGC/.test(m(o))){alert("This sequence contains NotI cutting site.");return false}else{if(/ACTAGT/.test(o)||/ACTAGT/.test(m(o))){alert("This sequence contains SpeI cutting site.");return false}else{if(/TCTAGA/.test(o)||/TCTAGA/.test(m(o))){alert("This sequence contains XbaI cutting site.");return false}else{return true}}}}}}};f=function(p){var o;o=/[ATCG]+/.exec(p);if(o[0]===p){return true}else{return false}};b=function(p){var o;o=p.val().toUpperCase().split(/[\s\n\r]+/).join("");if(!f(o)){alert("You can NOT use non-AGCT characters.");return false}if(!e(o)){return false}};i=function(o){switch(o){case 1:return"CGTC";case 2:return"AAGG";case 3:return"CTGA";case 4:return"TTAT";case 5:return"TTCG";case 6:return"TAGA";case 7:return"TCCC";case 8:return"CGGT";case 9:return"AGTA"}};l=function(){var t,o,p,s,r,q;t=parseInt($('[name="part-beginning"]').val());o=parseInt($('[name="part-end"]').val());for(p=s=1;1<=t?s<t:s>t;p=1<=t?++s:--s){$("#plasmid-"+p).addClass("plasmid-gray")}for(p=r=t;t<=9?r<=9:r>=9;p=t<=9?++r:--r){$("#plasmid-"+p).removeClass("plasmid-gray")}for(p=q=o;o<=9?q<=9:q>=9;p=o<=9?++q:--q){$("#plasmid-"+p).addClass("plasmid-gray")}if(o>t){$('[name="overhang-f"]').val(i(t));return $('[name="overhang-r"]').val(i(o))}else{$('[name="overhang-f"]').val("");return $('[name="overhang-r"]').val("")}};$(function(){$('[name="overhang-f"]').focusout(function(){return b($(this))});$('[name="overhang-r"]').focusout(function(){return b($(this))});$('[name="sequence"]').focusout(function(){return b($(this))});$("#primer-designer").submit(function(r){var q,p,u,s,o,t;r.preventDefault();p=$(this);q=p.find("button");q.attr("disabled",true);u=p.find('[name="overhang-f"]').val().toUpperCase();s=p.find('[name="overhang-r"]').val().toUpperCase();t=p.find('[name="sequence"]').val().toUpperCase().split(/[\s\n\r]+/).join("");console.log(check_bsa_site(u));console.log(check_bsa_site(s));console.log(check_bsa_site(t));console.log(f(u));console.log(f(s));console.log(f(t));o=g(u,m(s),t);$("#primer-f").text(o[0]);$("#tm-f").html(""+(o[1].toFixed(2))+" &deg;C");$("#primer-r").text(o[2]);$("#tm-r").html(""+(o[3].toFixed(2))+" &deg;C");return q.attr("disabled",false)});$("#not-conform").hide();$('input[name="default"]:radio').change(function(){switch($(this).val()){case"1":$("#conform").show();return $("#not-conform").hide();case"2":$("#conform").hide();return $("#not-conform").show()}});$('[name="cds-number"]').val("3");$('[name="cds-number"]').change(function(){switch($(this).val()){case"1":$(".hide-1").hide();$(".hide-2").hide();$(".disable-1").attr("disabled","disabled");return $(".disable-2").attr("disabled","disabled");case"2":$(".hide-1").show();$(".hide-2").hide();$(".disable-1").removeAttr("disabled");return $(".disable-2").attr("disabled","disabled");case"3":$(".hide-1").show();$(".hide-2").show();$(".disable-1").removeAttr("disabled");return $(".disable-2").removeAttr("disabled")}});$('[name="part-beginning"]').change(function(){return l()});return $('[name="part-end"]').change(function(){return l()})})}).call(this);
(function(){var n,f,e,h,d,a,j,g,i,b,m,k,c,l;a=function(o){switch(o){case"AA":case"TT":return -9.1;case"AT":return -8.6;case"TA":return -6;case"CA":case"TG":return -5.8;case"GT":case"AC":return -6.5;case"CT":case"AG":return -7.8;case"GA":case"TC":return -5.6;case"CG":return -11.9;case"GC":return -11.1;case"GG":case"CC":return -11}};k=function(o){var p,q,s,r;q=0;for(p=s=0,r=o.length-2;0<=r?s<=r:s>=r;p=0<=r?++s:--s){q+=a(o.slice(p,+(p+1)+1||9000000000))}return q};j=function(o){switch(o){case"AA":case"TT":return -24;case"AT":return -23.9;case"TA":return -16.9;case"CA":case"TG":return -12.9;case"GT":case"AC":return -17.3;case"CT":case"AG":return -20.8;case"GA":case"TC":return -13.5;case"CG":return -27.8;case"GC":return -26.7;case"GG":case"CC":return -26.6}};c=function(o){var p,q,s,r;q=0;for(p=s=0,r=o.length-2;0<=r?s<=r:s>=r;p=0<=r?++s:--s){q+=j(o.slice(p,+(p+1)+1||9000000000))}return q};n=function(o){var q,p;q=k(o);p=c(o);return(1000*q/(-10.8+p+1.987*-15.89495209964411))-273.15+16.6*-1.3010299956639813};d=function(p){var r,o,q;if(n(p.slice(0,35))<60){alert("Sequence is too short.");return false}for(r=q=17;q<=35;r=++q){o=n(p.slice(0,+(r-1)+1||9000000000));if(o>60){if(p[r-1]==="G"||p[r-1]==="C"){break}}}return[p.slice(0,+(r-1)+1||9000000000),o]};h=function(o){switch(o){case"A":return"T";case"T":return"A";case"G":return"C";case"C":return"G"}};m=function(p){var o;return((function(){var t,r,s,q;s=p.split("");q=[];for(t=0,r=s.length;t<r;t++){o=s[t];q.push(h(o))}return q})()).reverse().join("")};g=function(s,o,w){var t,p,r,u,v,q;t=d(w);p=d(m(w));r="TTTGGTCTCT"+s+"T"+t[0];v=t[1];u="TTTGGTCTCA"+o+"A"+p[0];q=p[1];return[r,v,u,q]};e=function(o){if(/GGTCTC/.test(o)||/GGTCTC/.test(m(o))){alert("This sequence contains BsaI cutting site.");return false}else{if(/GAATTC/.test(o)||/GAATTC/.test(m(o))){alert("This sequence contains EcoRI cutting site.");return false}else{if(/CTGCAG/.test(o)||/CTGCAG/.test(m(o))){alert("This sequence contains PstI cutting site.");return false}else{if(/GCGGCCGC/.test(o)||/GCGGCCGC/.test(m(o))){alert("This sequence contains NotI cutting site.");return false}else{if(/ACTAGT/.test(o)||/ACTAGT/.test(m(o))){alert("This sequence contains SpeI cutting site.");return false}else{if(/TCTAGA/.test(o)||/TCTAGA/.test(m(o))){alert("This sequence contains XbaI cutting site.");return false}else{return true}}}}}}};f=function(p){var o;o=/[ATCG]+/.exec(p);if(o[0]===p){return true}else{return false}};b=function(p){var o;o=p.val().toUpperCase().split(/[\s\n\r]+/).join("");if(!f(o)){alert("You can NOT use non-AGCT characters.");return false}if(!e(o)){return false}};i=function(o){switch(o){case 1:return"CGTC";case 2:return"AAGG";case 3:return"CTGA";case 4:return"TTAT";case 5:return"TTCG";case 6:return"TAGA";case 7:return"TCCC";case 8:return"CGGT";case 9:return"AGTA"}};l=function(){var t,o,p,s,r,q;t=parseInt($('[name="part-beginning"]').val());o=parseInt($('[name="part-end"]').val());for(p=s=1;1<=t?s<t:s>t;p=1<=t?++s:--s){$("#plasmid-"+p).addClass("plasmid-gray")}for(p=r=t;t<=9?r<=9:r>=9;p=t<=9?++r:--r){$("#plasmid-"+p).removeClass("plasmid-gray")}for(p=q=o;o<=9?q<=9:q>=9;p=o<=9?++q:--q){$("#plasmid-"+p).addClass("plasmid-gray")}if(o>t){$('[name="overhang-f"]').val(i(t));return $('[name="overhang-r"]').val(i(o))}else{$('[name="overhang-f"]').val("");return $('[name="overhang-r"]').val("")}};$(function(){$('[name="overhang-f"]').focusout(function(){return b($(this))});$('[name="overhang-r"]').focusout(function(){return b($(this))});$('[name="sequence"]').focusout(function(){return b($(this))});$("#primer-designer").submit(function(r){var q,p,u,s,o,t;r.preventDefault();p=$(this);q=p.find("button");q.attr("disabled",true);u=p.find('[name="overhang-f"]').val().toUpperCase();s=p.find('[name="overhang-r"]').val().toUpperCase();t=p.find('[name="sequence"]').val().toUpperCase().split(/[\s\n\r]+/).join("");console.log(check_bsa_site(u));console.log(check_bsa_site(s));console.log(check_bsa_site(t));console.log(f(u));console.log(f(s));console.log(f(t));o=g(u,m(s),t);$("#primer-f").text(o[0]);$("#tm-f").html(""+(o[1].toFixed(2))+" &deg;C");$("#primer-r").text(o[2]);$("#tm-r").html(""+(o[3].toFixed(2))+" &deg;C");return q.attr("disabled",false)});$("#not-conform").hide();$('input[name="default"]:radio').change(function(){switch($(this).val()){case"1":$("#conform").show();return $("#not-conform").hide();case"2":$("#conform").hide();return $("#not-conform").show()}});$('[name="cds-number"]').val("3");$('[name="cds-number"]').change(function(){switch($(this).val()){case"1":$(".hide-1").hide();$(".hide-2").hide();$(".disable-1").attr("disabled","disabled");return $(".disable-2").attr("disabled","disabled");case"2":$(".hide-1").show();$(".hide-2").hide();$(".disable-1").removeAttr("disabled");return $(".disable-2").attr("disabled","disabled");case"3":$(".hide-1").show();$(".hide-2").show();$(".disable-1").removeAttr("disabled");return $(".disable-2").removeAttr("disabled")}});$('[name="part-beginning"]').change(function(){return l()});return $('[name="part-end"]').change(function(){return l()})})}).call(this);

Revision as of 03:51, 28 September 2013

Maestro E.coli

Optimization Kit

POK-ROK Primer Designer

1. First, you have to decide whether or not you conform to our default overhang set.

2. Secondly, you hove to determine how many CDS are included in your target plasmid.

I have CDS(s) included.

3. Then, please select the region to where your fragment correspond in target plasmid.

1
2
3
4
5
6
7
8
9

4. Okey, now we are ready to go. Enter your fragment's sequence, and press "Calculate"!

2. Please enter overhangs and fragment's sequence, and press "Calculate"





Forward

sequence
tm

Reverse

sequence
tm

5. Now, repeat previous step for remaining fragments included in the target plasmid.