|
|
Line 17: |
Line 17: |
| div.reswrap2 {width: 550px; padding:25px; border-width:5px; margin:auto; border-style:solid; border-color:#11526f; height: 140px; text-align:left; background-color:#ffaf58; display:none;} | | div.reswrap2 {width: 550px; padding:25px; border-width:5px; margin:auto; border-style:solid; border-color:#11526f; height: 140px; text-align:left; background-color:#ffaf58; display:none;} |
| </style> | | </style> |
- | <script type="text/javascript"> | + | <script type="text/javascript" src="final_code_miBS_HD2010.txt"> </script> |
- | if (top.location != self.location)
| + | |
- | top.location = self.location;
| + | |
- | // global functions
| + | |
- | var seedval = 0;
| + | |
- | var compval = 0;
| + | |
- | | + | |
- | // function main option (just enable or disable)
| + | |
- | | + | |
- | function chMd() {
| + | |
- | for (var i = 0; i < document.forms[0].AU.length; i++) {
| + | |
- | document.forms[0].AU[i].checked = false;
| + | |
- | }
| + | |
- | document.forms[0].AU[2].disabled = true;
| + | |
- | document.forms[0].AU[3].disabled = true;
| + | |
- | document.forms[0].AU[4].disabled = true;
| + | |
- | document.forms[0].AU[5].disabled = true;
| + | |
- | | + | |
- | for (var i = 0; i < document.forms[0].elements.length; i++) {
| + | |
- | if (document.forms[0].elements[i].value == "perfect" && document.forms[0].elements[i].checked == true) {
| + | |
- | document.forms[0].seed.disabled = true;
| + | |
- | document.forms[0].comp.disabled = true;
| + | |
- | }
| + | |
- | else if (document.forms[0].elements[i].value == "bulge" && document.forms[0].elements[i].checked == true) {
| + | |
- | document.forms[0].seed.disabled = true;
| + | |
- | document.forms[0].comp.disabled = true;
| + | |
- | document.forms[0].AU[2].disabled = false;
| + | |
- | document.forms[0].AU[4].disabled = false;
| + | |
- | document.forms[0].AU[5].disabled = false;
| + | |
- | }
| + | |
- | else if (document.forms[0].elements[i].value == "personal" && document.forms[0].elements[i].checked == true) {
| + | |
- | document.forms[0].seed.disabled = false;
| + | |
- | document.forms[0].comp.disabled = false;
| + | |
- | for (var j = 0; j < document.forms[0].AU.length; j++) {
| + | |
- | document.forms[0].AU[j].disabled = false;
| + | |
- | }
| + | |
- | }
| + | |
- | }
| + | |
- | }
| + | |
- | | + | |
- | // function seed design (enable or disable and assign seedval)
| + | |
- | | + | |
- | function chMd1() {
| + | |
- | for (var i = 0; i < document.forms[0].AU.length; i++) {
| + | |
- | document.forms[0].AU[i].checked = false;
| + | |
- | }
| + | |
- | document.forms[0].AU[2].disabled = false;
| + | |
- | document.forms[0].AU[3].disabled = false;
| + | |
- | document.forms[0].AU[4].disabled = false;
| + | |
- | document.forms[0].AU[5].disabled = false;
| + | |
- | document.forms[0].mis.disabled = true;
| + | |
- | var seed1 = document.seqIn.seed.selectedIndex;
| + | |
- | seedval = document.seqIn.seed.options[seed1].value;
| + | |
- | | + | |
- | if (seedval == "7merA1") {
| + | |
- | document.forms[0].AU[2].disabled = true;
| + | |
- | }
| + | |
- | else if (seedval == "7merm8") {
| + | |
- | document.forms[0].AU[3].disabled = true;
| + | |
- | }
| + | |
- | else if (seedval == "8mer") {
| + | |
- | document.forms[0].AU[2].disabled = true;
| + | |
- | document.forms[0].AU[3].disabled = true;
| + | |
- | }
| + | |
- | else if (seedval == "custom") {
| + | |
- | document.forms[0].mis.disabled = false;
| + | |
- | }
| + | |
- | }
| + | |
- | | + | |
- | // function supplementary design (enable or disable and compval assignment)
| + | |
- | | + | |
- | function chMd2() {
| + | |
- | document.forms[0].match.disabled = true;
| + | |
- | var comp1 = document.seqIn.comp.selectedIndex;
| + | |
- | compval = document.seqIn.comp.options[comp1].value;
| + | |
- | if (compval == "custom") {
| + | |
- | document.forms[0].match.disabled = false;
| + | |
- | }
| + | |
- | }
| + | |
- | | + | |
- | function chMd3() {
| + | |
- | var elements3 = document.getElementsByName("stickyends");
| + | |
- | for (var i = 0; i <= elements3.length; i++) {
| + | |
- | if (elements3[i].value == "custom") {
| + | |
- | document.forms[0].end5.disabled = false;
| + | |
- | document.forms[0].end3.disabled = false;
| + | |
- | }
| + | |
- | else {
| + | |
- | document.forms[0].end5.value = "";
| + | |
- | document.forms[0].end3.value = "";
| + | |
- | document.forms[0].end5.disabled = true;
| + | |
- | document.forms[0].end3.disabled = true;
| + | |
- | }
| + | |
- | }
| + | |
- | }
| + | |
- | | + | |
- | // function to convert U into T and remove strange characters
| + | |
- | | + | |
- | function cleaning(str) {
| + | |
- | str = str.replace (/[().,?! _\s,]/g, "");
| + | |
- | str = str.replace (/[0-9]/g, "");
| + | |
- | str = str.toUpperCase();
| + | |
- | var mi_array = new Array();
| + | |
- | mi_array = str.split('');
| + | |
- | var result = new Array();
| + | |
- | var n = 0;
| + | |
- | for (n == 0; n < str.length; n++) {
| + | |
- | if (mi_array[n] == "U") {
| + | |
- | mi_array[n] = "T";
| + | |
- | }
| + | |
- | result.push(mi_array[n]);
| + | |
- | }
| + | |
- | result = result.join("");
| + | |
- | return (result);
| + | |
- | }
| + | |
- | | + | |
- | // function to create complementary
| + | |
- | | + | |
- | function comp(str) {
| + | |
- | var mi_array = new Array();
| + | |
- | mi_array = str.split('');
| + | |
- | var complementary = new Array();
| + | |
- | var n = 0;
| + | |
- | for (n == 0; n < str.length; n++) {
| + | |
- | if (mi_array[n] == "A") {
| + | |
- | mi_array[n] = "T";
| + | |
- | }
| + | |
- | else if (mi_array[n] == "T") {
| + | |
- | mi_array[n] = "A";
| + | |
- | }
| + | |
- | else if (mi_array[n] == "C") {
| + | |
- | mi_array[n] = "G";
| + | |
- | }
| + | |
- | else if (mi_array[n] == "G") {
| + | |
- | mi_array[n] = "C";
| + | |
- | }
| + | |
- | complementary.push(mi_array[n]);
| + | |
- | }
| + | |
- | complementary = complementary.join("");
| + | |
- | return (complementary);
| + | |
- | }
| + | |
- | | + | |
- | // function to create reverse complementary
| + | |
- | | + | |
- | function revcomp(str) {
| + | |
- | revcomplementary = str.split('').reverse().join('');
| + | |
- | revcomplementary = comp(revcomplementary);
| + | |
- | return (revcomplementary);
| + | |
- | }
| + | |
- | | + | |
- | // function to create mismatches
| + | |
- | | + | |
- | function mismatcher(str) {
| + | |
- | var mi_array = new Array();
| + | |
- | mi_array = str.split('');
| + | |
- | var random = new Array();
| + | |
- | var n = 0;
| + | |
- | for (n == 0; n < str.length; n++) {
| + | |
- | if (mi_array[n] == "A") {
| + | |
- | mi_array[n] = "G";
| + | |
- | }
| + | |
- | else if (mi_array[n] == "T") {
| + | |
- | mi_array[n] = "C";
| + | |
- | }
| + | |
- | else if (mi_array[n] == "C") {
| + | |
- | mi_array[n] = "T";
| + | |
- | }
| + | |
- | else if (mi_array[n] == "G") {
| + | |
- | mi_array[n] = "A";
| + | |
- | }
| + | |
- | | + | |
- | random.push(mi_array[n]);
| + | |
- | }
| + | |
- | random = random.join("");
| + | |
- | return (random);
| + | |
- | }
| + | |
- | | + | |
- | // function to show results
| + | |
- |
| + | |
- | function showDiv(res1,res2,res3,res4) {
| + | |
- | document.getElementById('resultdiv').style.display='block';
| + | |
- | document.getElementById('NamA').innerHTML = res1;
| + | |
- | document.getElementById('seqA').innerHTML = res2;
| + | |
- | document.getElementById('NamB').innerHTML = res3;
| + | |
- | document.getElementById('seqB').innerHTML = res4;
| + | |
- | }
| + | |
- | | + | |
- | // MAIN FUNCTION. When button Go! is pressed
| + | |
- | | + | |
- | function SBS() {
| + | |
- | | + | |
- | // local variables assignments
| + | |
- | var nombre = document.getElementById('name').value;
| + | |
- | var mir = document.getElementById('mir').value;
| + | |
- | var spacer = document.getElementById('spacer').value;
| + | |
- | var mis = document.getElementById('mis').value;
| + | |
- | var mat = document.getElementById('match').value;
| + | |
- | var end1 = document.seqIn.stickyends.selectedIndex;
| + | |
- | var endings = document.seqIn.stickyends.options[end1].value;
| + | |
- | var end5 = document.getElementById('end5').value;
| + | |
- | var end3 = document.getElementById('end3').value;
| + | |
- | var length = mir.length;
| + | |
- | var newseed = 0;
| + | |
- | var newcomp = 0;
| + | |
- | var resfin = 0;
| + | |
- | var rcresult = 0;
| + | |
- | var charac = 0;
| + | |
- |
| + | |
- | // Retrotranscription and cleaning of RNA sequences
| + | |
- | mir = cleaning(mir);
| + | |
- | spacer = cleaning(spacer);
| + | |
- | end5 = cleaning(end5);
| + | |
- | end3 = cleaning(end3);
| + | |
- | document.getElementById('mir').value = mir;
| + | |
- | document.getElementById('spacer').value = spacer;
| + | |
- | document.getElementById('end5').value = end5;
| + | |
- | document.getElementById('end3').value = end3;
| + | |
- | | + | |
- | mir = mir.split('').reverse().join('');
| + | |
- | var seedstring = mir.substring(14, 22);
| + | |
- | var compstring = mir.substring(0, 14);
| + | |
- | | + | |
- | // Alert error messages
| + | |
- | if (mir.match(/[^ACTG]/g)) {
| + | |
- | alert('The format of the miRNA is not acceptable');
| + | |
- | return;
| + | |
- | }
| + | |
- | if (!(length == 22)) {
| + | |
- | alert('The miRNA sequence is not 22 nt long');
| + | |
- | return;
| + | |
- | }
| + | |
- | if (spacer.match(/[^ACTGN]/g)) {
| + | |
- | alert('The format of the spacer is not acceptable')
| + | |
- | return;
| + | |
- | }
| + | |
- | if (end5.match(/[^ACTG]/g)) {
| + | |
- | alert("The format of the extreme custom sequence in 5' is not acceptable. Please input a DNA or RNA sequence");
| + | |
- | return;
| + | |
- | }
| + | |
- | if (end3.match(/[^ACTG]/g)) {
| + | |
- | alert("The format of the extreme custom sequence in 3' is not acceptable. Please input a DNA or RNA sequence");
| + | |
- | return;
| + | |
- | }
| + | |
- | | + | |
- | // perfect binding site constructor
| + | |
- | if (document.seqIn.quality[0].checked == true) {
| + | |
- | resfin = comp(mir);
| + | |
- | charac = "perf";
| + | |
- | }
| + | |
- | | + | |
- | // nucleotide 9-12 randomizer
| + | |
- | else if (document.seqIn.quality[1].checked == true) {
| + | |
- | var seed1 = mir.charAt(21);
| + | |
- | seed1 = mismatcher(seed1);
| + | |
- | var seed = mir.substring(14, 21);
| + | |
- | seed = comp(seed);
| + | |
- | newseed = (seed + seed1);
| + | |
- | var rest1 = mir.substring(10, 14);
| + | |
- | rest1 = mismatcher(rest1);
| + | |
- | var rest = mir.substring(0, 10);
| + | |
- | rest = comp(rest);
| + | |
- | newcomp = (rest + rest1);
| + | |
- | resfin = newcomp.concat(newseed);
| + | |
- | charac = "bulge 9-12";
| + | |
- | }
| + | |
- |
| + | |
- | // customized BS
| + | |
- | else if (document.seqIn.quality[2].checked == true) {
| + | |
- | if (seedval == 0 || compval == 0) {
| + | |
- | alert('Please select one seed type and one supplementary region');}
| + | |
- | | + | |
- | // design 6mer seed
| + | |
- | if (seedval == "6mer") {
| + | |
- | var seed1 = mir.charAt(21);
| + | |
- | seed1 = mismatcher(seed1);
| + | |
- | var seed8 = mir.charAt(14);
| + | |
- | seed8 = mismatcher(seed8);
| + | |
- | var seed = mir.substring(15, 21);
| + | |
- | seed = comp(seed);
| + | |
- | newseed = (seed8 + seed + seed1);
| + | |
- | }
| + | |
- | | + | |
- | // design 7merA1 seed
| + | |
- | else if (seedval == "7merA1") {
| + | |
- | var seed8 = mir.charAt(14);
| + | |
- | seed8 = mismatcher(seed8);
| + | |
- | var seed = mir.substring(15, 22);
| + | |
- | seed = comp(seed);
| + | |
- | newseed = (seed8 + seed);
| + | |
- | }
| + | |
- | | + | |
- | // design 7merm8 seed
| + | |
- | else if (seedval == "7merm8") {
| + | |
- | var seed1 = mir.charAt(21);
| + | |
- | seed1 = mismatcher(seed1);
| + | |
- | var seed = mir.substring(14, 21);
| + | |
- | seed = comp(seed);
| + | |
- | newseed = (seed + seed1);
| + | |
- | }
| + | |
- | | + | |
- | // design 8mer seed
| + | |
- | else if (seedval == "8mer") {
| + | |
- | newseed = comp(seedstring);
| + | |
- | }
| + | |
- | | + | |
- | // design custom seed
| + | |
- | else if (seedval == "custom") {
| + | |
- | if (mis.length > 1 || mis.match(/\D/g)) {
| + | |
- | alert('The format of the input mismatches is not acceptable. Input only one number between 2 and 7');
| + | |
- | return;
| + | |
- | }
| + | |
- | var result = new Array();
| + | |
- | var cuseed = seedstring.split('');
| + | |
- | cuseed = cuseed.reverse();
| + | |
- | var mis_array = new Array();
| + | |
- | mis_array = mis.split(', ');
| + | |
- | for (var nj = 0; nj < mis_array.length; nj++) {
| + | |
- | mis_array[nj] = mis_array[nj] - 1;
| + | |
- | }
| + | |
- | for (var i = 0; i < cuseed.length; i++) {
| + | |
- | var flag = 0;
| + | |
- | for (var j = 0; j < mis_array.length; j++) {
| + | |
- | if (i == mis_array[j]) {
| + | |
- | result[i] = mismatcher(cuseed[i]);
| + | |
- | flag = 1;
| + | |
- | }
| + | |
- | }
| + | |
- | if (!(flag == 1)) {
| + | |
- | result[i] = comp(cuseed[i]);
| + | |
- | }
| + | |
- | }
| + | |
- | newseed = result.reverse();
| + | |
- | newseed = newseed.join('');
| + | |
- | if (mis.length > 0) {
| + | |
- | }
| + | |
- | }
| + | |
- | | + | |
- | // design 3 comp
| + | |
- | if (compval == 3) {
| + | |
- | var rest1 = mir.substring(9, 14);
| + | |
- | rest1 = mismatcher(rest1);
| + | |
- | var rest3 = mir.substring(0, 6);
| + | |
- | rest3 = mismatcher(rest3);
| + | |
- | var rest = mir.substring(6, 9);
| + | |
- | rest = comp(rest);
| + | |
- | newcomp = (rest3 + rest + rest1);
| + | |
- | }
| + | |
- | | + | |
- | // design 4 comp
| + | |
- | else if (compval == 4) {
| + | |
- | var rest1 = mir.substring(10, 14);
| + | |
- | rest1 = mismatcher(rest1);
| + | |
- | var rest3 = mir.substring(0, 6);
| + | |
- | rest3 = mismatcher(rest3);
| + | |
- | var rest = mir.substring(6, 10);
| + | |
- | rest = comp(rest);
| + | |
- | newcomp = (rest3 + rest + rest1);
| + | |
- | }
| + | |
- | | + | |
- | // design 5 comp
| + | |
- | else if (compval == 5) {
| + | |
- | var rest1 = mir.substring(10, 14);
| + | |
- | rest1 = mismatcher(rest1);
| + | |
- | var rest3 = mir.substring(0, 5);
| + | |
- | rest3 = mismatcher(rest3);
| + | |
- | var rest = mir.substring(5, 10);
| + | |
- | rest = comp(rest);
| + | |
- | newcomp = (rest3 + rest + rest1);
| + | |
- | }
| + | |
- | | + | |
- | // design 6 comp
| + | |
- | else if (compval == 6) {
| + | |
- | var rest1 = mir.substring(10, 14);
| + | |
- | rest1 = mismatcher(rest1);
| + | |
- | var rest3 = mir.substring(0, 4);
| + | |
- | rest3 = mismatcher(rest3);
| + | |
- | var rest = mir.substring(4, 10);
| + | |
- | rest = comp(rest);
| + | |
- | newcomp = (rest3 + rest + rest1);
| + | |
- | }
| + | |
- | | + | |
- | // design 7 comp
| + | |
- | else if (compval == 7) {
| + | |
- | var rest1 = mir.substring(10, 14);
| + | |
- | rest1 = mismatcher(rest1);
| + | |
- | var rest3 = mir.substring(0, 3);
| + | |
- | rest3 = mismatcher(rest3);
| + | |
- | var rest = mir.substring(3, 10);
| + | |
- | rest = comp(rest);
| + | |
- | newcomp = (rest3 + rest + rest1);
| + | |
- | }
| + | |
- | | + | |
- | // design 8 comp
| + | |
- | else if (compval == 8) {
| + | |
- | var rest1 = mir.substring(10, 14);
| + | |
- | rest1 = mismatcher(rest1);
| + | |
- | var rest3 = mir.substring(0, 2);
| + | |
- | rest3 = mismatcher(rest3);
| + | |
- | var rest = mir.substring(2, 10);
| + | |
- | rest = comp(rest);
| + | |
- | newcomp = (rest3 + rest + rest1);
| + | |
- | }
| + | |
- | | + | |
- | // design Total comp
| + | |
- | else if (compval == "total") {
| + | |
- | var rest1 = mir.substring(10, 14);
| + | |
- | rest1 = mismatcher(rest1);
| + | |
- | var rest = mir.substring(0, 10);
| + | |
- | rest = comp(rest);
| + | |
- | newcomp = (rest + rest1);
| + | |
- | }
| + | |
- | | + | |
- | // design custom comp
| + | |
- | else if (compval == "custom") {
| + | |
- | | + | |
- | var result = new Array();
| + | |
- | var cucomp = compstring.split('');
| + | |
- | cucomp = cucomp.reverse();
| + | |
- | var match_array = new Array();
| + | |
- | match_array = mat.split(', ');
| + | |
- | for (var nj = 0; nj < match_array.length; nj++) {
| + | |
- | match_array[nj] = match_array[nj] - 9;
| + | |
- | }
| + | |
- | for (var i = 0; i < cucomp.length; i++) {
| + | |
- | var flag = 0;
| + | |
- | for (var j = 0; j < match_array.length; j++) {
| + | |
- | if (i == match_array[j]) {
| + | |
- | result[i] = comp(cucomp[i]);
| + | |
- | flag = 1;
| + | |
- | }
| + | |
- | }
| + | |
- | if (!(flag == 1)) {
| + | |
- | result[i] = mismatcher(cucomp[i]);
| + | |
- | }
| + | |
- | }
| + | |
- | newcomp = result.reverse();
| + | |
- | newcomp = newcomp.join('');
| + | |
- | match_array = match_array.join('');
| + | |
- | if (match_array.length > compstring.length || match_array.match(/\D/g)) {
| + | |
- | alert('The format of the input matches is not acceptable. Input only numbers separated by commas');
| + | |
- | return;
| + | |
- | }
| + | |
- | }
| + | |
- | | + | |
- | // put together seed and compensatory regions
| + | |
- | charac = "seed" + seedval + " compens" + compval;
| + | |
- | resfin = newcomp.concat(newseed);
| + | |
- | }
| + | |
- | | + | |
- | //Addition of extra AUs
| + | |
- |
| + | |
- | // A/U in position 1
| + | |
- | if (document.seqIn.AU[2].checked) {
| + | |
- | var result = new Array();
| + | |
- | for (var i = 0; i < resfin.length; i++) {
| + | |
- | if (!(i == 21)) {
| + | |
- | result[i] = resfin[i];
| + | |
- | }
| + | |
- | else {
| + | |
- | if (mir[21] == "T") {
| + | |
- | result[21] = "T";
| + | |
- | }
| + | |
- | else {
| + | |
- | result[21] = "A";
| + | |
- | }
| + | |
- | }
| + | |
- | }
| + | |
- | resfin = result.join('');
| + | |
- | }
| + | |
- | | + | |
- | // A/U in position 8
| + | |
- | if (document.seqIn.AU[3].checked) {
| + | |
- | var result = new Array();
| + | |
- | for (var i = 0; i < resfin.length; i++) {
| + | |
- | if (!(i == 14)) {
| + | |
- | result[i] = resfin[i];
| + | |
- | }
| + | |
- | else {
| + | |
- | if (mir[14] == "T") {
| + | |
- | result[14] = "T";
| + | |
- | }
| + | |
- | else {
| + | |
- | result[14] = "A";
| + | |
- | }
| + | |
- | }
| + | |
- | }
| + | |
- | resfin = result.join('');
| + | |
- | }
| + | |
- | | + | |
- | // A/U in position 9
| + | |
- | if (document.seqIn.AU[4].checked) {
| + | |
- | var result = new Array();
| + | |
- | for (var i = 0; i < resfin.length; i++) {
| + | |
- | if (!(i == 13)) {
| + | |
- | result[i] = resfin[i];
| + | |
- | }
| + | |
- | else {
| + | |
- | if (mir[13] == "T") {
| + | |
- | result[13] = "T";
| + | |
- | }
| + | |
- | else {
| + | |
- | result[13] = "A";
| + | |
- | }
| + | |
- | }
| + | |
- | }
| + | |
- | resfin = result.join('');
| + | |
- | }
| + | |
- | | + | |
- | // A/U in position 10
| + | |
- | if (document.seqIn.AU[5].checked) {
| + | |
- | var result = new Array();
| + | |
- | for (var i = 0; i < resfin.length; i++) {
| + | |
- | if (!(i == 12)) {
| + | |
- | result[i] = resfin[i];
| + | |
- | }
| + | |
- | else {
| + | |
- | if (mir[12] == "T") {
| + | |
- | result[12] = "T";
| + | |
- | }
| + | |
- | else {
| + | |
- | result[12] = "A";
| + | |
- | }
| + | |
- | }
| + | |
- | }
| + | |
- | resfin = result.join('');
| + | |
- | }
| + | |
- | | + | |
- | // position -1 and 0
| + | |
- | var AU1 = "";
| + | |
- | if (document.seqIn.AU[0].checked && document.seqIn.AU[1].checked) {
| + | |
- | AU1 = "AA";
| + | |
- | }
| + | |
- | else if (!document.seqIn.AU[0].checked && document.seqIn.AU[1].checked) {
| + | |
- | AU1 = "A";
| + | |
- | }
| + | |
- | else if (document.seqIn.AU[0].checked && !document.seqIn.AU[1].checked) {
| + | |
- | AU1 = "CA";
| + | |
- | }
| + | |
- |
| + | |
- | // addition of sticky ends
| + | |
- | var leading5 = "";
| + | |
- | var complem3 = "";
| + | |
- | var leading3 = "";
| + | |
- | var complem5 = "";
| + | |
- | | + | |
- | if (endings == "BBB") {
| + | |
- | leading5 = "AATTCGCGGCCGCACTAGT";
| + | |
- | complem3 = "ACTAGTGCGGCCGCG";
| + | |
- | leading3 = "GCTAGCGCGGCCGCTGCA";
| + | |
- | complem5 = "GCGGCCGCGCTAGC";
| + | |
- | }
| + | |
- | if (endings == "XX") {
| + | |
- | leading5 = "CCGGG";
| + | |
- | complem3 = "C";
| + | |
- | leading3 = "C";
| + | |
- | complem5 = "TCGAG";
| + | |
- | }
| + | |
- | else if (endings == "custom") {
| + | |
- | leading5 = end5;
| + | |
- | leading3 = end3;
| + | |
- | complem3 = revcomp(leading5);
| + | |
- | complem5 = revcomp(leading3);
| + | |
- | }
| + | |
- | | + | |
- | // creation of reverse complementary strand
| + | |
- | resfin = spacer.concat(resfin);
| + | |
- | resfin = resfin.concat(AU1);
| + | |
- | rcresult = revcomp(resfin);
| + | |
- | leading5 = leading5.toLowerCase();
| + | |
- | complem5 = complem5.toLowerCase();
| + | |
- | leading3 = leading3.toLowerCase();
| + | |
- | complem3 = complem3.toLowerCase();
| + | |
- | var output1 = ("> " + nombre + ", " + charac);
| + | |
- | var output2 = (leading5 + resfin + leading3);
| + | |
- | var output3 = ("> " + nombre + ", " + charac + " comp strand");
| + | |
- | var output4 = (complem5 + rcresult + complem3);
| + | |
- |
| + | |
- | // output sequences
| + | |
- | showDiv(output1,output2,output3,output4);
| + | |
- | | + | |
- | //End
| + | |
- | }
| + | |
- | </script> | + | |
| </head> | | </head> |
| <body> | | <body> |
Line 690: |
Line 108: |
| <OPTION SELECTED value="none">None | | <OPTION SELECTED value="none">None |
| <OPTION value="BBB">Biobricks Standard RFC-12 | | <OPTION value="BBB">Biobricks Standard RFC-12 |
| + | <OPTION value="XX">Xma1 / Xho1 |
| <OPTION value="custom">Custom sequence | | <OPTION value="custom">Custom sequence |
| </SELECT></div> | | </SELECT></div> |