Team:Harvard/ZF Binding Site Finder
From 2011.igem.org
(43 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
- | + | {{:Team:Harvard/Template:CSS}} | |
+ | {{:Team:Harvard/Template:TechBar}} | ||
+ | {{:Team:Harvard/Template:TechGrayBar}} | ||
+ | |||
<html xmlns="http://www.w3.org/1999/xhtml"> | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
- | <head> | + | <head style="text-align:center"> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
- | <title> | + | <title>Zinc Finger Binding Site Finder</title> |
Line 11: | Line 14: | ||
{ | { | ||
color:#999999; | color:#999999; | ||
+ | font-family:'Trebuchet MS', Arial, Helvetica, sans-serif; | ||
} | } | ||
Line 16: | Line 20: | ||
{ | { | ||
color:#000000; | color:#000000; | ||
+ | font-family:'Trebuchet MS', Arial, Helvetica, sans-serif; | ||
+ | } | ||
+ | |||
+ | .firstHeading | ||
+ | { | ||
+ | display: none; | ||
+ | } | ||
+ | |||
+ | #sequence | ||
+ | { | ||
+ | font-family:'Courier New', Courier, monospace; | ||
+ | } | ||
+ | |||
+ | #result | ||
+ | { | ||
+ | display: block; | ||
+ | margin-left: auto; | ||
+ | margin-right: auto; | ||
+ | } | ||
+ | |||
+ | #helpfile | ||
+ | { | ||
+ | display: none; | ||
+ | } | ||
+ | |||
+ | .bluetext | ||
+ | { | ||
+ | color: blue; | ||
+ | } | ||
+ | |||
+ | .zfndiagram | ||
+ | { | ||
+ | display: block; | ||
+ | margin-left: auto; | ||
+ | margin-right: auto; | ||
+ | } | ||
+ | |||
+ | span#showhelp | ||
+ | { | ||
+ | border-bottom: 1px dotted; | ||
+ | } | ||
+ | |||
+ | span#showhelp:hover | ||
+ | { | ||
+ | border-bottom: 1px solid; | ||
+ | } | ||
+ | |||
+ | #filldna | ||
+ | { | ||
+ | color: blue; | ||
} | } | ||
Line 32: | Line 86: | ||
border-style: solid; | border-style: solid; | ||
margin: 0; | margin: 0; | ||
- | padding: | + | padding: 8px; |
border-width: 1px 1px 0 0; | border-width: 1px 1px 0 0; | ||
background-color: #FFFFFF; | background-color: #FFFFFF; | ||
text-align: left; | text-align: left; | ||
+ | vertical-align: top; | ||
} | } | ||
Line 103: | Line 158: | ||
} | } | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
// findCustom function | // findCustom function | ||
Line 178: | Line 171: | ||
var ntpCheck = /[GCTAN]{9}/; | var ntpCheck = /[GCTAN]{9}/; | ||
- | + | if (!(bottomzf.match(ntpCheck))|| | |
- | if (!(bottomzf.match(ntpCheck) | + | !(topzf.match(ntpCheck))|| |
- | topzf.match(ntpCheck) | + | !(bottomzf.length=="9")|| |
- | (bottomzf.length=="9") | + | !(topzf.length=="9")){ |
- | (topzf.length=="9" | + | alert("You must enter a valid sequence of nine nucleotides containing G,T,C,A, or N for both zinc finger array binding sites (ex. GTAGGCANN)."); |
- | alert("You must enter a valid sequence of nine nucleotides containing G,T,C,A, or N."); | + | |
return; | return; | ||
} | } | ||
- | |||
//transform bottom zf to reverse complement | //transform bottom zf to reverse complement | ||
Line 210: | Line 201: | ||
if(testseq.search(array1) == -1) | if(testseq.search(array1) == -1) | ||
{ | { | ||
- | $("# | + | $("#result").html("No binding sites found."); |
//if results are found, build table to display results | //if results are found, build table to display results | ||
} else { | } else { | ||
Line 235: | Line 226: | ||
table = table + "</table><br /><br />" | table = table + "</table><br /><br />" | ||
- | $("# | + | $("#result").html(table); |
} | } | ||
- | + | ||
+ | $("#helpfile").hide("slow"); | ||
+ | |||
}); | }); | ||
Line 329: | Line 322: | ||
if(check == 0) | if(check == 0) | ||
{ | { | ||
- | $("# | + | $("#result").html("No binding sites found, unfortunately :("); |
} else { | } else { | ||
//add table preamble | //add table preamble | ||
Line 338: | Line 331: | ||
//write table to page | //write table to page | ||
- | $("# | + | $("#result").html(table); |
} | } | ||
}); | }); | ||
+ | |||
+ | // toggle help display | ||
+ | $("#showhelp").click(function(){ | ||
+ | $("#helpfile").toggle("slow"); | ||
+ | }); | ||
+ | |||
+ | // fill dna test function | ||
+ | $("#filldna").click(function(){ | ||
+ | $(".graytext").removeClass("graytext").addClass("onfocus"); | ||
+ | $("#sequence").val("TTTGGTAGAGATGGGGTGTCACTATGTTACCCAGGCTGGTCTCCAATACCTGGGCTCAATCGATTCTCCCACTTTAGCCTCCCAAAGTGCTGGGATTACAGTCGTGAGCCATTGGGCCCAGTCACAAATTCCTTATTTTCTTTGTCCTACGATATGAACAACCCAGTTGGAACATAATACGACGTGAGAAGAGAAGCCTGCCATGGGGAGGGGAGCACAGACCCAGCAGGCAGGCTCTCAATGGGAGGTTCAAGGCGAGTCCCCCTCCCACCCACCTGCTCCCAGCTGAGAGTCCATCTGGGCCTCCGGTGGGCAACGACAAAAAATTCCATTAGGTTGAGAAGACGTGACTGGCACTGGCTCAAAGCCAAACAAATACTTGGTGGGCCTGCTTGGAGTTTAGCTCACACTTTTTGATTTTCTATTCACTGAATTTCACTGCTGTAGGAACCTCATATAAATGGAATCAGATAGTTATTTTTTTTTATGACAGGCTTTGGGGGATATATCTTTTTGAAGGCTCTTTATAACTAAACAGTAAATAGTTTAATTACAGTGGAAATTCTCTGGACTAGATTGTAAAGGTGGATCAGATTTGGAAATAAGACTTTTTTCAAGTCAAAGAAGAAAAACCAATTTAAAAATACAAGGCAATGGCCGGGTGCGGTGGCTCACGCCTGTAATCCCAGCACCTTGGGAGGCCAAGGCAGGTGGATCAGCTGAGGTCAGGAATTCGAGACCAGCCTAGCCATCATGGTGAAACCCTGTCTCTACTAAAAATACAAAGAAAAAATTAGCCGGGCATGGTGGTGCATGCCTGTAGTCCCAGCTACTCAGGACACTGAGGCTGAGGAGAATTGCTTGAACCCGGGAGGCAGAGGTTGTAGTGAGCAAAGATCGCGCCACTGCACTCCAGCCTGGGCAACAGAGTGAGACTCCACGTCAAAAAAAAAAAAAAAAAAGACATGTCAGAAACAAAGAAAGAAAGACATGACAGGCTCAGAATCAATGTCAACCTGGGCAAAGGTCAGAAACGGAACAGGGACCCTTTCTTTGTGGGCAGGTTTGACATGAAAGGTTCAGCGACTTCAACTCTTCTGATTCTTTCTTCTTGAGCCCATTTTGGTAAGTTGTGTTTTCCTAAAAGTTTGTCCATTCCATCCAAATGTTCACATTAGTCAGGATCTGTGAAGGATGTCAATGGCTGTGAGGCGAGGGCCCCTTGCCAGTCCCCATGTTCGTTATTTATGGATGCCTGATGCCCACAACCTCGACTTCTCAGCTGAGGGCAACTCCTCCTGTCCTCTCGCTGCTTCCACCTAAGCCACCAGGAAATCCTGTTGACTCCACTTACAAAAGCTCTCCAGAGTCTGCTACCTCTTACCACCCTACTGTCGCCTCCCAGACCTGGTCTCCCCGCTTCTGCCCTGGCCCCTACAGCTCGCAGACAGCTGCCAGAGGAGTCCATCCGAATCAACTTCAGATTGCGTCACTTTTTCTTTCAAAATCCGACAAAGCTCCTCATTCCATTCAGAGTGAGAAGGGCCCCGCCATGCAGCCTTTCCTCCTCCTATTCACCAACCCCACTCTCGCTCCAGCCATCTTGATATCCTTGCTGGTCCTGGAGCAGGCCAGCCACGCTCTTGCCCCAGGGCCTTTGCACTTGCTGCCCCTCTCCTGTGATGCCCTCCTGGATCTCTGCATGGCTCCCTCCTGCCCTCCCTCCCTCGAGTCTTTGCTCACATGTCCCCTTCTCAGAGGGGCTCACCCTGGTGCCCTTCGAAAGTGGGCATCCACTCCCTTCCCACCCTGGCACCCGCACCCTCCTGTCTTCCTTTTTCTGTTCTCCATCCTACTCATCTCCCCCAACTAGAAAGGCAGCTGCAGCTGCGGAGCACGGGATCTCCATCTGCAGCTGCATCCCGGGACCTAGAACAGGTACAAAAGTACCTAATAAGTACCCACTGAATGAATAATTGGCTGAGTTTTCTGTACCAAAGACTGAGCTAAGACTCTTTAAAAGGATGATCTTATTTAAGCCTTACAGCAAGTAAATGTTATCCCCATCTTCCTGATGAGGACACAGTGACCACCACGCTCAAGGACACAGAGGGTGGACGTGCCACATTCACACTCTGTGACTTAGAGCGGCTGGACGGGCAGGGACTTAGGAGGCCTACAGCAGCCAGGGTGAGATTATGAGGCTGAGCTGAGAATATCAAGACTGTACCGAGTAGGGGGCCTTGGCAAGTGTGGAGAGCCCGGCAGCTGGGGCAGAGGGCGGAGTACGGTGTGCGTTTACGGACCTCTTCAAACGAGGTAGGAAGGTCAGAAGTCAAAAAGGGAACAAATGATGTTTAACCACACAAAAATGAAAATCCAATGGTTGGATATCCATTCCAAATACACAAAGGCAACGGATAAGTGATCCGGGCCAGGCACAGAAGGCCATGCACCCGTAGGATTGCACTCAGAGCTCCCAAATGCATAGGAATAGAAGGGTGGGTGCAGGAGGCTGAGGGGTGGGGAAAGGGCATGGGTGTTTCATGAGGACAGAGCTTCCGTTTCATGCAATGAAAAGAGTTTGGAGACGGATGGTGGTGACTGGACTATACACTTACACACGGTAGCGATGGTACACTTTGTATTATGTATATTTTACCACGATCTTTTTAAAGTGTCAAAGGCAAATGGCCAAATGGTTCCTTGTCCTATAGCTGTAGCAGCCATCGGCTGTTAGTGACAAAGCCCCTGAGTCAAGATGACAGCAGCCCCCATAACTCCTAATCGGCTCTCCCGCGTGGAGTCATTTAGGAGTAGTCGCATTAGAGACAAGTCCAACATCTAATCTTCCACCCTGGCCAGGGCCCCAGCTGGCAGCGAGGGTGGGAGACTCCGGGCAGAGCAGAGGGCGCTGACATTGGGGCCCGGCCTGGCTTGGGTCCCTCTGGCCTTTCCCCAGGGGCCCTCTTTCCTTGGGGCTTTCTTGGGCCGCCACTGCTCCCGCTCCTCTCCCCCCATCCCACCCCCTCACCCCCTCGTTCTTCATATCCTTCTCTAGTGCTCCCTCCACTTTCATCCACCCTTCTGCAAGAGTGTGGGACCACAAATGAGTTTTCACCTGGCCTGGGGACACACGTGCCCCCACAGGTGCTGAGTGACTTTCTAGGACAGTAATCTGCTTTAGGCTAAAATGGGACTTGATCTTCTGTTAGCCCTAATCATCAATTAGCAGAGCCGGTGAAGGTGCAGAACCTACCGCCTTTCCAGGCCTCCTCCCACCTCTGCCACCTCCACTCTCCTTCCTGGGATGTGGGGGCTGGCACACGTGTGGCCCAGGGCATTGGTGGGATTGCACTGAGCTGGGTCATTAGCGTAATCCTGGACAAGGGCAGACAGGGCGAGCGGAGGGCCAGCTCCGGGGCTCAGGCAAGGCTGGGGGCTTCCCCCAGACACCCCACTCCTCCTCTGCTGGACCCCCACTTCATAGGGCACTTCGTGTTCTCAAAGGGCTTCCAAATAGCATGGTGGCCTTGGATGCCCAGGGAAGCCTCAGAGTTGCTTATCTCCCTCTAGACAGAAGGGGAATCTCGGTCAAGAGGGAGAGGTCGCCCTGTTCAAGGCCACCCAGCCAGCTCATGGCGGTAATGGGACAAGGCTGGCCAGCCATCCCACCCTCAGAAGGGACCCGGTGGGGCAGGTGATCTCAGAGGAGGCTCACTTCTGGGTCTCACATTCTTGGATCCTCGGATCCTCTGACTCTGGTGGGGACAGGCAGACCAAGCTCTCTTGGACCCGGGAAGAGGGACCCTTGGAAGTCACTTGGGATTGAGTTCTAGAGTCTTGACACTGTTTCAGCAGATCTATACTTTGAACCCACCTCAGGCATCTCATCCACAGAACAGGGACAGTGACCATTCCATCTTGCCAAGGAGTGCGGGGCACACACCATGCTGCTGGCAGCCAGGGTGGAAAGTCAAGGGGTCCCAGCTGAAGCACT"); | ||
+ | $("#bottominput").val("GNNGNNTNN"); | ||
+ | $("#topinput").val("GNNGNNANN"); | ||
+ | $("#helpfile").toggle("slow"); | ||
+ | }); | ||
+ | |||
+ | // clear results table | ||
+ | $("#clearresults").click(function(){ | ||
+ | $("#result").html(""); | ||
+ | $("#helpfile").hide("slow"); | ||
+ | }); | ||
+ | |||
// end jQuery | // end jQuery | ||
Line 349: | Line 363: | ||
<body> | <body> | ||
- | < | + | <div class="whitebox"> |
- | + | <h1>Zinc Finger Binding Site Finder</h1> | |
- | < | + | <h4>by Justin Chew</h4> |
<form> | <form> | ||
<table id="ui"> | <table id="ui"> | ||
<tr><td colspan="3"> | <tr><td colspan="3"> | ||
- | <textarea id="sequence" rows="8" cols=" | + | <textarea id="sequence" rows="8" cols="60" class="graytext">Insert target DNA sequence here</textarea> |
</td></tr> | </td></tr> | ||
<tr> | <tr> | ||
<td width="40%"> | <td width="40%"> | ||
Bottom Zinc Finger Array:<br /> | Bottom Zinc Finger Array:<br /> | ||
- | + | 5'-<input type="text" id="bottominput" value="Input 9-bp site here" class="graytext" />-3' | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | <input type="text" id="bottominput" value="Input | + | |
</td> | </td> | ||
<td width="40%"> | <td width="40%"> | ||
Top Zinc Finger Array:<br /> | Top Zinc Finger Array:<br /> | ||
- | + | 5'-<input type="text" id="topinput" value="Input 9-bp site here" class="graytext" />-3' | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | <input type="text" id="topinput" value="Input | + | |
</td> | </td> | ||
<td width="20%"> | <td width="20%"> | ||
Line 414: | Line 386: | ||
<option value="6">6</option> | <option value="6">6</option> | ||
<option value="7">7</option> | <option value="7">7</option> | ||
- | </select> | + | </select> |
</td> | </td> | ||
</tr> | </tr> | ||
<tr><td colspan="3"> | <tr><td colspan="3"> | ||
- | + | <input type="button" id="findcustom" value="Find binding sites" /> | |
- | <input type="button" id="findcustom" value=" | + | <input type="button" id="clearresults" value="Clear results" /> |
- | <input type="button" id=" | + | |
</td></tr> | </td></tr> | ||
</table> | </table> | ||
</form> | </form> | ||
+ | <h5><span id="showhelp">How do I use this tool? (Click to toggle help)</span></h5> | ||
+ | <div id="helpfile"> | ||
+ | <h2>Background</h2> | ||
+ | <p>This tool is designed specifically to find binding sites for zinc finger nucleases (ZFNs) in order to create double stranded breaks in DNA. Ultimately, through these double stranded breaks, ZFNs allow genome editing with the insertion or deletion of genes at very specific target DNA sites. Each ZFN recognizes and binds to a specific 9-bp DNA sequence that is unique to each ZFN, and the binding sites are arranged such that two ZFNs flank the cut site on opposite strands of DNA, as pictured below:</p> | ||
<br /> | <br /> | ||
- | <div id=" | + | <p><img class="zfndiagram" src="https://static.igem.org/mediawiki/2011/7/7f/ZFN_diagram.jpeg" width="50%" height="40%"></p> |
+ | <br /> | ||
+ | <p>Given two 9-bp DNA sequences, this program will search a string of DNA to find a configuration such that these two 9-bp sequences are located on opposite strands with a short gap in between them (5-7 bp long), where the double stranded break will occur. This is useful due to the fact that we currently do not have a library of ZFNs that spans the space of all 9-bp recognition sites. Therefore, if the 9-bp binding sites for two zinc fingers are known and well-characterized, this program will search for a site in which these two known zinc fingers can be used to make a cut for gene insertion or deletion.</p> | ||
+ | |||
+ | <h2>Tool Usage</h2> | ||
+ | <p>The "bottom" ZFN binds to the bottom strand of DNA, while the "top" ZFN binds to the top strand. To use the tool, input a 9-bp DNA sequence into the text boxes for both bottom and top ZFNs, and then click "Find binding sites". Input must be a 9-bp DNA sequence (you may use "N" for an unspecified nucleotide). The results will be listed in a table which shows: | ||
+ | <ol> | ||
+ | <li>The relative position of the binding site within the input DNA string</li> | ||
+ | <li>The binding sequence for the bottom ZFN, 5' to 3'</li> | ||
+ | <li>The binding sequence for the top ZFN, 5' to 3'</li> | ||
+ | <li>The entire binding sequence, including the 5-7 bp nucleotide gap, from 5' to 3' on the top strand</li> | ||
+ | </ol> | ||
+ | </p> | ||
+ | |||
+ | <h2>Tool Demo</h2> | ||
+ | <p>If you would like to try out an example, you can test the tool out with a DNA sequence that we used to search for a suitable target site for our colorblindness target, in which we tried to search for a site upstream of the red opsin gene to insert a copy of the green opsin gene. This DNA sequence is a stretch of the human X chromosome just upstream of red opsin, and the two zinc fingers we would like to search for have the form of GNNGNNTNN for the bottom finger and GNNGNNANN for the top finger.</p> | ||
+ | |||
+ | <p>Click <span id="filldna">here</span> to test the tool using these sequences (this is actually how we located our colorblindness targets on the genome).</p> | ||
+ | </div><br /> | ||
+ | <div id="result"></div> | ||
+ | </div> | ||
</body> | </body> | ||
</html> | </html> |
Latest revision as of 03:42, 29 September 2011
Zinc Finger Binding Site Finder
by Justin Chew
How do I use this tool? (Click to toggle help)
Background
This tool is designed specifically to find binding sites for zinc finger nucleases (ZFNs) in order to create double stranded breaks in DNA. Ultimately, through these double stranded breaks, ZFNs allow genome editing with the insertion or deletion of genes at very specific target DNA sites. Each ZFN recognizes and binds to a specific 9-bp DNA sequence that is unique to each ZFN, and the binding sites are arranged such that two ZFNs flank the cut site on opposite strands of DNA, as pictured below:
Given two 9-bp DNA sequences, this program will search a string of DNA to find a configuration such that these two 9-bp sequences are located on opposite strands with a short gap in between them (5-7 bp long), where the double stranded break will occur. This is useful due to the fact that we currently do not have a library of ZFNs that spans the space of all 9-bp recognition sites. Therefore, if the 9-bp binding sites for two zinc fingers are known and well-characterized, this program will search for a site in which these two known zinc fingers can be used to make a cut for gene insertion or deletion.
Tool Usage
The "bottom" ZFN binds to the bottom strand of DNA, while the "top" ZFN binds to the top strand. To use the tool, input a 9-bp DNA sequence into the text boxes for both bottom and top ZFNs, and then click "Find binding sites". Input must be a 9-bp DNA sequence (you may use "N" for an unspecified nucleotide). The results will be listed in a table which shows:
- The relative position of the binding site within the input DNA string
- The binding sequence for the bottom ZFN, 5' to 3'
- The binding sequence for the top ZFN, 5' to 3'
- The entire binding sequence, including the 5-7 bp nucleotide gap, from 5' to 3' on the top strand
Tool Demo
If you would like to try out an example, you can test the tool out with a DNA sequence that we used to search for a suitable target site for our colorblindness target, in which we tried to search for a site upstream of the red opsin gene to insert a copy of the green opsin gene. This DNA sequence is a stretch of the human X chromosome just upstream of red opsin, and the two zinc fingers we would like to search for have the form of GNNGNNTNN for the bottom finger and GNNGNNANN for the top finger.
Click here to test the tool using these sequences (this is actually how we located our colorblindness targets on the genome).