Team:UESTC-Software/Modeling.html

From 2014.igem.org

(Difference between revisions)
Line 1: Line 1:
-
.firstHeading{
+
{{CSS/Main}}
-
display: none !important;
+
<html>
-
}
+
<head>
-
#content{
+
<title>UESTC-Software</title>
-
top: -8px !important;
+
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
-
position: absolute !important;
+
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
-
}
+
<meta name="renderer" content="webkit">
-
h1, h2, h3, h4, h5, h6{
+
<link rel="stylesheet" type="text/css" href="https://2014.igem.org/Team:UESTC-Software/style.css?action=raw&ctype=text/css">
-
border: 0;
+
<script type="text/javascript" src="https://2014.igem.org/Team:UESTC-Software/jquery-1.8.3.min.js?action=raw&ctype=text/javascript"></script>
-
}
+
<script type="text/javascript" src="https://2014.igem.org/Team:UESTC-Software/jquery.mousewheel.min.js?action=raw&ctype=text/javascript"></script>
-
html,body{
+
</head>
-
padding: 0;
+
<body style="overflow-y: hidden;">
-
margin: 0;
+
<div id="body" style="overflow:auto;">
-
min-height: 500px;
+
<div class="midBoard" style="padding-bottom:80px;">
-
min-width: 500px;
+
<div class="vines">
-
background-color: #e7f0e2;
+
<div id="vine1" class="vine"></div>
-
font-family: arial,sans-serif;
+
<div id="vine2" class="vine"></div>
-
font-size: 12px;
+
<div id="vine3" class="vine"></div>
-
}
+
</div>
-
#menubar{
+
<h1 style="padding-top: 30px">Models and Algorithms</h1>
-
font-size: 14px;
+
<div class="parts" style="padding: 20px 50px 20px 100px;">
-
}
+
<div class="question" id="p1">1.Overview</div>
-
h1{
+
<p>    Modeling is a powerful tool in synthetic biology and engineering. In our project, we aim to design a bioinformatics tool “CRISPR-X”, which is a software developed for design of CRISPR sgRNA with minimized off-target effects and high cutting rate. </p>
-
text-align: center;
+
            <p>First of all, we find the protospacer-adjacent motif (PAM) based on user-specified gene region. Then, we find sgRNA corresponding to the PAM. Next, we find that whether there is a potential off-target binding sites for the sgRNA over the entire gene region, and evaluate the specificity and efficacy of the sgRNA. Finally, we provide a secondary structure and the restriction enzyme cutting sites for the sgRNA.</p>
-
}
+
</div>
-
#logoBox{
+
<div class="parts" style="padding: 20px 50px 20px 100px;">
-
margin: auto;
+
<div class="question" id="p2">2.Parameters</div>
-
position: absolute;
+
<table border="1px" cellspacing="0px" style="border-collapse:collapse;word-break:break-word;border-color: #c7d3af;
-
}
+
color: #999;">
-
#logoBox img{
+
<tbody>
-
position: absolute;
+
<tr>
-
}
+
<td class="pc1">Parameters</td> <td class="pc2">Description</td> <td class="pc3">Range</td> <td class="pc4">Unit</td> <td class="pc5">Remark</td>
-
#home{
+
</tr>
-
top: 164px;
+
<tr>
-
left: 43px;
+
<td class="pc1">d 0</td> <td class="pc2">Average distance for all the mismatch nucleotides to the PAM of any off-target site</td> <td class="pc3">0-19</td> <td class="pc4">nt</td> <td class="pc5"></td>
-
}
+
</tr>
-
#project{
+
<tr>
-
top: 240px;
+
<td class="pc1">i</td> <td class="pc2">Continuous variables for the number of mismatch nucleotide</td> <td class="pc3">1-Nmm</td> <td class="pc4">1</td> <td class="pc5"></td>
-
left: 10px;
+
</tr>
-
}
+
<tr>
-
#team{
+
<td class="pc1">j</td> <td class="pc2">Continuous variables for the total number of off-target sites exclude the perfect-hit off-target sites</td> <td class="pc3">1-(Nfg-Nph)</td> <td class="pc4">1</td> <td class="pc5"></td>
-
top: 295px;
+
</tr>
-
left: 55px;
+
<tr>
-
}
+
<td class="pc1">M</td> <td class="pc2">Weight matrix</td> <td class="pc3">[0,0,0.014,0,0,0.395,0.317,0,0.389,0.079,0.445,0.508,0.613,0.851,0.732,0.828,0.615,0.804,0.685,0.583]</td> <td class="pc4"></td> <td class="pc5">Reference: DNA targeting specificity of RNA-guided Cas9 nucleases, Hsu et al, 2013</td>
-
#document{
+
</tr>
-
top: 91px;
+
<tr>
-
left: 192px;
+
<td class="pc1">n</td> <td class="pc2">Mismatch position</td> <td class="pc3">1-20</td> <td class="pc4"></td> <td class="pc5"></td>
-
}
+
</tr>
-
#requirment{
+
<tr>
-
top: 171px;
+
<td class="pc1">Nfg</td> <td class="pc2">The total number of off-target sites</td> <td class="pc3">≥0</td> <td class="pc4">1</td> <td class="pc5"></td>
-
left: 300px;
+
</tr>
-
}
+
<tr>
-
#notebook{
+
<td class="pc1">Nmm</td> <td class="pc2">The number of mismatch nucleotide for the not perfect-hit off-target sites</td> <td class="pc3">1-4</td> <td class="pc4">1</td> <td class="pc5"></td>
-
top: 294px;
+
</tr>
-
left: 230px;
+
<tr>
-
}
+
<td class="pc1">Nph</td> <td class="pc2">Perfect-hit off-target sites</td> <td class="pc3">≥0</td> <td class="pc4">1</td> <td class="pc5">In our scoring algorithm, we allow the maximum value of Nph is 4, when Nph≥4, Sguide=0</td>
-
.imenu{
+
</tr>
-
display: none;
+
<tr>
-
}
+
<td class="pc1">r 1</td> <td class="pc2">The proportion of specificity score in the total score</td> <td class="pc3">0-1</td> <td class="pc4">1</td> <td class="pc5">In our scoring algorithm, it’s default value is 0.65</td>
-
.imenu:hover{
+
</tr>
-
opacity: .5;
+
<tr>
-
cursor: pointer;
+
<td class="pc1">r 2</td> <td class="pc2">The proportion of efficacy score in the total score</td> <td class="pc3">0-1</td> <td class="pc4">1</td> <td class="pc5">In our scoring algorithm, it’s default value is 0.35</td>
-
}
+
</tr>
-
#logoRay{
+
<tr>
-
border: solid 7px #8fc41f;
+
<td class="pc1">S1</td> <td class="pc2">The score of the first step</td> <td class="pc3">≥0</td> <td class="pc4">1</td> <td class="pc5"></td>
-
position: absolute;
+
</tr>
-
z-index: 99999999;
+
<tr>
-
}
+
<td class="pc1">S20</td> <td class="pc2">The subtracted score for the 20th nucleotide is not a guanine</td> <td class="pc3">=35</td> <td class="pc4">1</td> <td class="pc5"></td>
-
@keyframes logoShadow
+
</tr>
-
{
+
<tr>
-
from{box-shadow: 0 0 0 #8fc41f}
+
<td class="pc1">Seff</td> <td class="pc2">The efficacy score</td> <td class="pc3">0-100</td> <td class="pc4">1</td> <td class="pc5">Represent the level of efficacy for the sgRNA</td>
-
to{box-shadow: 0 0 20px #8fc41f}
+
</tr>
-
}
+
<tr>
-
@-moz-keyframes logoShadow
+
<td class="pc1">Sgc</td> <td class="pc2">The subtracted score for different  GC ratio</td> <td class="pc3">0,35,65</td> <td class="pc4">1</td> <td class="pc5"></td>
-
{
+
</tr>
-
from{box-shadow: 0 0 0 #8fc41f}
+
<tr>
-
to{box-shadow: 0 0 20px #8fc41f}
+
<td class="pc1">Sguide</td> <td class="pc2">The total score of the sgRNA</td> <td class="pc3">0-100</td> <td class="pc4">1</td> <td class="pc5">Composed of Seff and Sspe, marking the overall properties(specificity and efficacy) of the sgRNA</td>
-
}
+
</tr>
-
@-webkit-keyframes logoShadow
+
<tr>
-
{
+
<td class="pc1">Smm</td> <td class="pc2">The subtracted score of the mismatch nucleotide for the not perfect-hit off-target sites</td> <td class="pc3">≥0</td> <td class="pc4">1</td> <td class="pc5"></td>
-
from{box-shadow: 0 0 0 #8fc41f;}
+
</tr>
-
to{box-shadow: 0 0 20px #8fc41f;}
+
<tr>
-
}
+
<td class="pc1">Sph</td> <td class="pc2">The subtracted score of the perfect-hit off-target sites</td> <td class="pc3">≥0</td> <td class="pc4">1</td> <td class="pc5"></td>
-
@-o-keyframes logoShadow
+
</tr>
-
{
+
<tr>
-
from{box-shadow: 0 0 0 #8fc41f}
+
<td class="pc1">Sspe</td> <td class="pc2">The specificity score</td> <td class="pc3">0-100</td> <td class="pc4">1</td> <td class="pc5">Represent the level of specificity for the sgRNA</td>
-
to{box-shadow: 0 0 20px #8fc41f}
+
</tr>
-
}
+
</tbody>
-
#logo{
+
</table>
-
animation: logoShadow 1.3s ease 0 infinite alternate;
+
</div>
-
-webkit-animation: logoShadow 1.3s ease 0 infinite alternate;
+
<div class="parts" style="padding: 20px 50px 20px 100px;">
-
z-index: 99999999;
+
<div class="question"  id="p3">3.Scoring algorithm</div>
-
}
+
<p><ul>Judged conditions:
 +
<li><pre style="padding: 0;background: none;border: none;color: #777;line-height: inherit;">①Bad GC ratio (< 40% or > 80%) : Sgc = 65;
 +
Not so good GC ratio (40% - 50% or 50% - 80%): Sgc = 35;
 +
Good GC ratio (51%-69%): Sgc = 0.[1]
 +
</pre></li>
 +
<li>②The 20th nucleotide is not G: S20 = 35;[1]</li>
 +
<li>③If the sgRNA designed perfectly hit another sites, the penalty Sph = 25;if perfectly hit more than or equal to 4 loci, the total score Sguide is 0.
 +
</li></ul></p>
 +
<p><ul>Steps:
 +
<li>(1) Firstly, find out the number of off – target sequence Nfg, if Nfg = 0, output Sspe= r1*100;
 +
Otherwise, detect the third condition. If there is a sgRNA designed perfectly hit another site, regard the number of it as Nph, and then the score of the first step: S1 = Sph * Nph (Nph is 4 or less). When S1 is equal to or less than 75, perform step (2), otherwise the output Sguide = 0;<br/>
 +
If there is no sgRAN designed perfectly hit other sites, the score of the first step S1 = 0. This illustrates that there is no nucleotide which are matched between sgRNA and the place missed. Then perform step(2)。
 +
</li>
 +
<li>(2) When performing step (2), remove the Nph which is perfectly hit first.
 +
For Nfg-Nph which does not perfectly hit, please combine the weight ratio which obtained in the literature:
 +
M=[0,0,0.014,0,0,0.395,0.317,0,0.389,0.079,0.445,0.508,0.613,0.851,0.732,0.828,0.615,0.804,0.685,0.583];[2]
 +
Using the formula:<img src="https://static.igem.org/mediawiki/2014/c/c5/2014-UESTC-Software-M1.png" style="position: relative;top: 4px;"><br/>
 +
</li>
 +
</ul></p>
 +
<p>Assuming that specific score: efficacy score = r1: r2 (the default is r1:r2 = 0.65:0.35), and then use formula specificity scores Sspe =<img src="https://static.igem.org/mediawiki/2014/3/37/2014-UESTC-Software-M2.png">(when 100-<img src="https://static.igem.org/mediawiki/2014/7/7f/2014-UESTC-Software-M3.png">, Sspe=0), efficacy score Seff = r2 * (100 - (Sgc + S20)), the total score: <img src="https://static.igem.org/mediawiki/2014/c/c0/2014-UESTC-Software-M4.png">;  
 +
Finally according to Sguide score, arranging the sgRNA from high to low, outputting sgRNA, total score Sguide, specificity scores Sspe, efficacy score Seff, the chromosome and its site connected to sgRNA, the GC ratio.
 +
</p>
 +
</div>
 +
<div class="parts" style="padding: 20px 50px 20px 100px;">
 +
<div class="question" id="p4">4.Algorithm illustration</div>
 +
<p>In literature [2], The algorithm used to score single off-targets is:</p>
 +
<img src="https://static.igem.org/mediawiki/2014/e/e1/2014-UESTC-Software-M5.png">
 +
            <p>This algorithm is adopted by CRISPR-P, the inadequacies of this algorithm are: (a) Despite the presence of off-target sites, but sometimes it's subtracted score will still be 0 (which seems unreasonable under certain circumstances, and it will confuse the scoring of those sgRNA that don’t exist off-target sites). (b) Using W function, which cannot be expressed by elementary functions, it will take some additional time in calculation.</p>
 +
            <p>However, our algorithm can avoid these two shortcomings. Our algorithm is:</p>
 +
            <img src="https://static.igem.org/mediawiki/2014/c/c5/2014-UESTC-Software-M1.png">
 +
            <p>First, we use the summation of exponential replaced W function; Secondly, when there exist off-target sites, our running results will be with the subtracted score, and we use the rounding to further ensure this situation. The following table can show the score contrast.</p>
 +
            <table border="1px" cellspacing="0px" style="border-collapse:collapse;word-break:break-word;border-color: #c7d3af;
 +
color: #999;">
 +
            <tr>
 +
            <td>Off-target sequence</td> <td>Mismatches</td> <td>CRISPR-P Score</td> <td>OUR Software Score</td>
 +
            </tr>
 +
            <tr>
 +
            <td>GTT<span class="red">TC</span>TCC<span class="red">GT</span>AATCGCGTCA</td> <td>4</td> <td>0.8</td> <td>0.989</td>
 +
            </tr>
 +
            <tr>
 +
            <td>GTTCTTCCA<span class="red">C</span>AAT<span class="red">TC</span>CGT<span class="red">T</span>A</td> <td>4</td> <td>0</td> <td>0.391</td>
 +
            </tr>
 +
            <tr>
 +
            <td><span class="red">T</span>TTCTTCCAGAATCG<span class="red">T</span>G<span class="red">A</span>C<span class="red">T</span></td> <td>4</td> <td>0</td> <td>0.426</td>
 +
            </tr>
 +
            <tr>
 +
            <td>GAA<span class="red">A</span>AA<span class="red">T</span>TCCTCTTATTTCA</td> <td>2</td> <td>3.9</td> <td>2.177</td>
 +
            </tr>
 +
            <tr>
 +
            <td>GAA<span class="red">C</span>AACTCCTCTTATT<span class="red">A</span>CA</td> <td>2</td> <td>2.4</td> <td>1.187</td>
 +
            </tr>
 +
            <tr>
 +
            <td>GAAGAACT<span class="red">A</span>C<span class="red">G</span>CTTAT<span class="red">GA</span>CA</td> <td>4</td> <td>0</td> <td>0.402</td>
 +
            </tr>
 +
            </table>
 +
</div>
 +
<div class="parts" style="padding: 20px 50px 20px 100px;">
 +
<div class="question" id="p5">5.Algorithm validation</div>
 +
<p>In order to confirm our algorithm is consistent with the experimental results, we use the experimental data on the MLE Cleavage with the different mismatches, and we compare our scoring results to corresponding to the experimental data , in addition find the correlation coefficient of them.</p>
 +
            <p>First, we use aggregate data from single-mismatch guide RNAs for 15 EMX1 targets in literature [2](it’s relation figure is figure 2C, heatmap for relative SpCas9 cleavage efficiency for each possible RNA:DNA base pair).</p>
 +
            <a href="https://static.igem.org/mediawiki/2014/f/f6/2014-UESTC-Software-F2c.png"  target="_blank"><img src="https://static.igem.org/mediawiki/2014/f/f6/2014-UESTC-Software-F2c.png"></a>
 +
            <p>Aggregate data from single-mismatch guide RNAs for 15 EMX1 targets [2]</p>
 +
            <a href="https://static.igem.org/mediawiki/2014/a/af/2014-UESTC-Software-F2.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/a/af/2014-UESTC-Software-F2.png"></a>
 +
            <p>Heatmap for relative SpCas9 cleavage efficiency for each possible RNA:DNA base pair[2].
 +
(a)We use this set of data to determine the relationship between our software score with the MLE Cleavage for single mismatch position. MATLAB program is shown below:</p>
 +
<pre style='color:#d1d1d1;background:#000000;font-size: 14px;padding:20px 0;'>
 +
data<span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>load</span><span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'E:\matlab\work\igem_data.mat'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#d2cd86; '>[</span>m n<span style='color:#d2cd86; '>]</span><span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>size</span><span style='color:#d2cd86; '>(</span>data<span style='color:#d2cd86; '>.</span>dataigem<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#e66170; font-weight:bold; '>for</span> i<span style='color:#d2cd86; '>=</span>1<span style='color:#d2cd86; '>:</span>n
 +
    ave<span style='color:#d2cd86; '>(</span>i<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>mean</span><span style='color:#d2cd86; '>(</span>data<span style='color:#d2cd86; '>.</span>dataigem<span style='color:#d2cd86; '>(</span><span style='color:#d2cd86; '>:</span><span style='color:#d2cd86; '>,</span>i<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#e66170; font-weight:bold; '>end</span>
 +
M<span style='color:#d2cd86; '>=</span><span style='color:#d2cd86; '>[</span>0<span style='color:#d2cd86; '>,</span>0<span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.014</span><span style='color:#d2cd86; '>,</span>0<span style='color:#d2cd86; '>,</span>0<span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.395</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.317</span><span style='color:#d2cd86; '>,</span>0<span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.389</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.079</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.445</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.508</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.613</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.851</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.732</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.828</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.615</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.804</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.685</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.583</span><span style='color:#d2cd86; '>]</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#e66170; font-weight:bold; '>for</span> j<span style='color:#d2cd86; '>=</span>2<span style='color:#d2cd86; '>:</span>20
 +
S<span style='color:#d2cd86; '>(</span>j<span style='color:#d2cd86; '>-</span>1<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>=</span><span style='color:#d2cd86; '>(</span>4<span style='color:#d2cd86; '>*</span><span style='color:#bb7977; '>exp</span><span style='color:#d2cd86; '>(</span>1<span style='color:#d2cd86; '>-</span>M<span style='color:#d2cd86; '>(</span>j<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>/</span><span style='color:#d2cd86; '>(</span><span style='color:#d2cd86; '>(</span>4<span style='color:#d2cd86; '>*</span>j<span style='color:#d2cd86; '>+</span>19<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>/</span>19<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#e66170; font-weight:bold; '>end</span>
 +
x<span style='color:#d2cd86; '>=</span>19<span style='color:#d2cd86; '>:</span><span style='color:#d2cd86; '>-</span>1<span style='color:#d2cd86; '>:</span>1<span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>subplot</span><span style='color:#d2cd86; '>(</span>1<span style='color:#d2cd86; '>,</span>2<span style='color:#d2cd86; '>,</span>1<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>stem</span><span style='color:#d2cd86; '>(</span>x<span style='color:#d2cd86; '>,</span>ave<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
title<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'The relaition between the single mismatch location and cleavage activity '</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
xlabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'location/nt'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>ylabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'cleavage activity'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>subplot</span><span style='color:#d2cd86; '>(</span>1<span style='color:#d2cd86; '>,</span>2<span style='color:#d2cd86; '>,</span>2<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>stem</span><span style='color:#d2cd86; '>(</span>x<span style='color:#d2cd86; '>,</span>S<span style='color:#d2cd86; '>,</span><span style='color:#b060b0; '>'g'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
title<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'The figure of the single mismatch location and mismatch score  '</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
xlabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'location/nt'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>ylabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'score'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>figure</span><span style='color:#d2cd86; '>(</span>2<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>plot</span><span style='color:#d2cd86; '>(</span>x<span style='color:#d2cd86; '>,</span>ave<span style='color:#d2cd86; '>,</span><span style='color:#b060b0; '>'b'</span><span style='color:#d2cd86; '>,</span>x<span style='color:#d2cd86; '>,</span>S<span style='color:#d2cd86; '>,</span><span style='color:#b060b0; '>'r'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>legend</span><span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'mismatch cleavage activity'</span><span style='color:#d2cd86; '>,</span><span style='color:#b060b0; '>'mismatch score'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
title<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'The contrast figure of the single mismatch cleavage activity and mismatch score  '</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
xlabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'location/nt'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>ylabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'amplitude'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
B<span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>corrcoef</span><span style='color:#d2cd86; '>(</span>ave<span style='color:#d2cd86; '>,</span>S<span style='color:#d2cd86; '>)</span><span style='color:#9999a9; '>%find the correlation coefficient</span>
 +
</pre>
 +
<p>The result and figures are:</p>
 +
<a href="https://static.igem.org/mediawiki/2014/0/02/2014-UESTC-Software-F3.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/0/02/2014-UESTC-Software-F3.png"></a><a href="https://static.igem.org/mediawiki/2014/c/c1/2014-UESTC-Software-F4.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/c/c1/2014-UESTC-Software-F4.png"></a><a href="https://static.igem.org/mediawiki/2014/6/64/2014-UESTC-Software-F5.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/6/64/2014-UESTC-Software-F5.png"></a>
 +
<p>(b) We use the similar way to determine the relationship between our software score with the MLE Cleavage for two concatenated mismatches. MATLAB program is shown below:</p>
 +
<pre style='color:#d1d1d1;background:#000000;font-size: 14px;padding:20px 0;'>
 +
data<span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>load</span><span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'E:\matlab\work\data2misc.mat'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#d2cd86; '>[</span>m n<span style='color:#d2cd86; '>]</span><span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>size</span><span style='color:#d2cd86; '>(</span>data<span style='color:#d2cd86; '>.</span>data2misc<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#e66170; font-weight:bold; '>for</span> i<span style='color:#d2cd86; '>=</span>1<span style='color:#d2cd86; '>:</span>n
 +
    ave<span style='color:#d2cd86; '>(</span>i<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>mean</span><span style='color:#d2cd86; '>(</span>data<span style='color:#d2cd86; '>.</span>data2misc<span style='color:#d2cd86; '>(</span><span style='color:#d2cd86; '>:</span><span style='color:#d2cd86; '>,</span>i<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#e66170; font-weight:bold; '>end</span>
 +
N<span style='color:#d2cd86; '>=</span><span style='color:#d2cd86; '>[</span>19 20<span style='color:#d2cd86; '>;</span>17 18<span style='color:#d2cd86; '>;</span>15 16<span style='color:#d2cd86; '>;</span>13 14<span style='color:#d2cd86; '>;</span>11 12<span style='color:#d2cd86; '>;</span>9 10<span style='color:#d2cd86; '>;</span>7 8<span style='color:#d2cd86; '>;</span>5 6<span style='color:#d2cd86; '>;</span>3 4<span style='color:#d2cd86; '>]</span><span style='color:#d2cd86; '>;</span><span style='color:#9999a9; '>%Mismatch position</span>
 +
M<span style='color:#d2cd86; '>=</span><span style='color:#d2cd86; '>[</span>0<span style='color:#d2cd86; '>,</span>0<span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.014</span><span style='color:#d2cd86; '>,</span>0<span style='color:#d2cd86; '>,</span>0<span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.395</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.317</span><span style='color:#d2cd86; '>,</span>0<span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.389</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.079</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.445</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.508</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.613</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.851</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.732</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.828</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.615</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.804</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.685</span><span style='color:#d2cd86; '>,</span><span style='color:#009f00; '>0.583</span><span style='color:#d2cd86; '>]</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#e66170; font-weight:bold; '>for</span> j<span style='color:#d2cd86; '>=</span>1<span style='color:#d2cd86; '>:</span>n
 +
    d0<span style='color:#d2cd86; '>(</span>j<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>mean</span><span style='color:#d2cd86; '>(</span>N<span style='color:#d2cd86; '>(</span>j<span style='color:#d2cd86; '>,</span><span style='color:#d2cd86; '>:</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
    S<span style='color:#d2cd86; '>(</span>j<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>=</span><span style='color:#d2cd86; '>(</span><span style='color:#bb7977; '>exp</span><span style='color:#d2cd86; '>(</span>1<span style='color:#d2cd86; '>-</span>M<span style='color:#d2cd86; '>(</span>N<span style='color:#d2cd86; '>(</span>j<span style='color:#d2cd86; '>,</span>1<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>+</span><span style='color:#bb7977; '>exp</span><span style='color:#d2cd86; '>(</span>1<span style='color:#d2cd86; '>-</span>M<span style='color:#d2cd86; '>(</span>N<span style='color:#d2cd86; '>(</span>j<span style='color:#d2cd86; '>,</span>2<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>/</span><span style='color:#d2cd86; '>(</span><span style='color:#d2cd86; '>(</span>4<span style='color:#d2cd86; '>*</span>d0<span style='color:#d2cd86; '>(</span>j<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>+</span>19<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>/</span>19<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#e66170; font-weight:bold; '>end</span>
 +
x<span style='color:#d2cd86; '>=</span>1<span style='color:#d2cd86; '>:</span>n<span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>subplot</span><span style='color:#d2cd86; '>(</span>1<span style='color:#d2cd86; '>,</span>2<span style='color:#d2cd86; '>,</span>1<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>stem</span><span style='color:#d2cd86; '>(</span>x<span style='color:#d2cd86; '>,</span>ave<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
title<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'The two concatenated mismatches cleavage activity '</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
xlabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'The serial number'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>ylabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'cleavage activity'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>subplot</span><span style='color:#d2cd86; '>(</span>1<span style='color:#d2cd86; '>,</span>2<span style='color:#d2cd86; '>,</span>2<span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
<span style='color:#bb7977; '>stem</span><span style='color:#d2cd86; '>(</span>x<span style='color:#d2cd86; '>,</span>S<span style='color:#d2cd86; '>,</span><span style='color:#b060b0; '>'g'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
title<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'The two concatenated mismatches score  '</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
xlabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'The serial number'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>ylabel<span style='color:#d2cd86; '>(</span><span style='color:#b060b0; '>'score'</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>;</span>
 +
B<span style='color:#d2cd86; '>=</span><span style='color:#bb7977; '>corrcoef</span><span style='color:#d2cd86; '>(</span>ave<span style='color:#d2cd86; '>,</span>S<span style='color:#d2cd86; '>)</span> <span style='color:#9999a9; '>%find the correlation coefficient</span>
 +
</pre>
 +
<p>The result and figures are:</p>
 +
<a href="https://static.igem.org/mediawiki/2014/8/80/2014-UESTC-Software-F6.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/8/80/2014-UESTC-Software-F6.png"></a><a href="https://static.igem.org/mediawiki/2014/8/84/2014-UESTC-Software-F7.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/8/84/2014-UESTC-Software-F7.png"></a>
 +
<p>(c) We use the similar way like (b)(just change N in MATLAB program) to determine the relationship between our software score with the MLE Cleavage for <span class="green">two interspaced mismatches</span>. The MATLAB program result and figures are:</p>
 +
<a href="https://static.igem.org/mediawiki/2014/b/bc/2014-UESTC-Software-F8.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/b/bc/2014-UESTC-Software-F8.png"></a><a href="https://static.igem.org/mediawiki/2014/c/cf/2014-UESTC-Software-F9.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/c/cf/2014-UESTC-Software-F9.png"></a>
 +
<p>(d) We use the similar way like (b) (just change N and S(j) (according to the Smm formula)in MATLAB program) to determine the relationship between our software score with the MLE Cleavage for <span class="green">three concatenated mismatches</span>. The MATLAB program result and figures are:</p>
 +
<a href="https://static.igem.org/mediawiki/2014/5/55/2014-UESTC-Software-F10.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/5/55/2014-UESTC-Software-F10.png"></a><a href="https://static.igem.org/mediawiki/2014/5/52/2014-UESTC-Software-F11.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/5/52/2014-UESTC-Software-F11.png"></a>
 +
<p>(e) We use the similar way like (b) (just change N and S(j) (according to the Smm formula)in MATLAB program) to determine the relationship between our software score with the MLE Cleavage for three interspaced mismatches. The MATLAB program result and figures are:</p>
 +
<a href="https://static.igem.org/mediawiki/2014/3/32/2014-UESTC-Software-F12.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/3/32/2014-UESTC-Software-F12.png"></a><a href="https://static.igem.org/mediawiki/2014/c/c2/2014-UESTC-Software-F13.png" target="_blank"><img src="https://static.igem.org/mediawiki/2014/c/c2/2014-UESTC-Software-F13.png"></a>
 +
<p>In summary, the correlation coefficient of the above-mentioned five different conditions (single mismatch, two concatenated mismatches, two interspaced mismatches, three concatenated mismatches and three interspaced mismatches) respectively are: 0.8840, 0.8902, 0.7688, 0.8566, 0.6092. The correlation coefficients are all over 0.6, and three correlation coefficients are over 0.85. In some extent, this result demonstrated the validity and availability of our scoring algorithm.</p>
 +
<p><ul><b>Reference:</b>
 +
<li>[1] <i>Genetic Screens in Human Cells Using the CRISPR-Cas9 System, Wang et al., 2014</i></li>
 +
<li>[2] <i>DNA targeting specificity of RNA-guided Cas9 nucleases, Hsu et al, 2013</i></p></li>
 +
</ul>
 +
</div>
 +
</div>
 +
<!-- Left Menu -->
 +
<div class="leftMenu">
 +
<div id="go1" class="go" style="width: 120px;text-align: left;">1.Overview</div>
 +
<div id="go2" class="go" style="width: 120px;text-align: left;">2.Parameters</div>
 +
<div id="go3" class="go" style="width: 120px;text-align: left;">3.Scoring algorithm</div>
 +
<div id="go4" class="go" style="width: 120px;text-align: left;">4.Algorithm illustration</div>
 +
<div id="go5" class="go" style="width: 120px;text-align: left;">5.Algorithm validation</div>
 +
</div>
-
.navbar{
 
-
background: url("https://static.igem.org/mediawiki/2014/5/53/2014-UESTC-Software-Nav_bg.png") repeat;
 
-
height: 60px;
 
-
position: fixed;
 
-
bottom: 0;
 
-
width: 100%;
 
-
z-index: 99999;
 
-
}
 
-
ul{
 
-
list-style-type: none;
 
-
display: inline-block;
 
-
height: 100%;
 
-
padding: 0;
 
-
margin: 0;
 
-
list-style-image: none;
 
-
}
 
-
.UL li{
 
-
height: 100%;
 
-
cursor: pointer;
 
-
}
 
-
.leftUl,.leftUl li{
 
-
float: left;
 
-
}
 
-
.rightUl,.rightUl li{
 
-
float: right;
 
-
}
 
-
.UL>li>ul{
 
-
width: 100%;
 
-
height: initial;
 
-
padding-top: 10px;
 
-
position: relative;
 
-
border-radius: 5px;
 
-
background-color: rgba(0,0,0,.8);
 
-
color: #ddd;
 
-
}
 
-
.UL>li>ul>li{
 
-
width: 100%;
 
-
text-align: center;
 
-
height: 40px;
 
-
}
 
-
.UL>li>ul>li:hover{
 
-
background-color: rgba(0,0,0,.5);
 
-
}
 
-
.UL>li>ul>li>a{
 
-
width: 100%;
 
-
height: 100%;
 
-
display: inline-block;
 
-
color: #fff;
 
-
text-decoration: blink;
 
-
padding-top: 10px;
 
-
}
 
-
.navbar .menu{
 
-
cursor: default;
 
-
}
 
-
.menu>ul{
 
-
display: none;
 
-
}
 
-
#nav_home{
 
-
background: url("https://static.igem.org/mediawiki/2014/3/36/2014-UESTC-Software-navHome.png") no-repeat center;
 
-
}
 
-
#nav_home:hover{
 
-
background: rgba(255,255,255,.2) url("https://static.igem.org/mediawiki/2014/3/36/2014-UESTC-Software-navHome.png") no-repeat center;
 
-
}
 
-
#nav_project{
 
-
background: url("https://static.igem.org/mediawiki/2014/0/00/2014-UESTC-Software-navProject.png") no-repeat center;
 
-
}
 
-
#nav_project:hover{
 
-
background: rgba(0,0,0,.3) url("https://static.igem.org/mediawiki/2014/0/00/2014-UESTC-Software-navProject.png") no-repeat center;
 
-
}
 
-
#nav_team{
 
-
background: url("https://static.igem.org/mediawiki/2014/b/bf/2014-UESTC-Software-navTeam.png") no-repeat center;
 
-
}
 
-
#nav_team:hover{
 
-
background: rgba(255,255,255,.2) url("https://static.igem.org/mediawiki/2014/b/bf/2014-UESTC-Software-navTeam.png") no-repeat center;
 
-
}
 
-
#nav_doc{
 
-
background: url("https://static.igem.org/mediawiki/2014/c/c8/2014-UESTC-Software-navDoc.png") no-repeat center;
 
-
}
 
-
#nav_doc:hover{
 
-
background: rgba(0,0,0,.3) url("https://static.igem.org/mediawiki/2014/c/c8/2014-UESTC-Software-navDoc.png") no-repeat center;
 
-
}
 
-
#nav_reqrmt{
 
-
background: url("https://static.igem.org/mediawiki/2014/a/a8/2014-UESTC-Software-navReqrmt.png") no-repeat center;
 
-
}
 
-
#nav_reqrmt:hover{
 
-
background: rgba(0,0,0,.3) url("https://static.igem.org/mediawiki/2014/a/a8/2014-UESTC-Software-navReqrmt.png") no-repeat center;
 
-
}
 
-
#nav_notebk{
 
-
background: url("https://static.igem.org/mediawiki/2014/c/c0/2014-UESTC-Software-navNotebk.png") no-repeat center;
 
-
}
 
-
#nav_notebk:hover{
 
-
background: rgba(0,0,0,.3) url("https://static.igem.org/mediawiki/2014/c/c0/2014-UESTC-Software-navNotebk.png") no-repeat center;
 
-
}
 
-
#body>p{
 
-
margin: 0 15%;
 
-
font-size: 22px;
 
-
line-height: 35px;
 
-
margin-top: 20px;
 
-
text-shadow: 0 0 1px #777;
 
-
}
 
-
.firstP:first-letter{
 
-
font-size: 60px;
 
-
font-weight: bolder;
 
-
float: left;
 
-
}
 
-
.person{
+
<!-- Fixed Navigation bar -->
-
float: left;
+
<div class="navbar">
-
}
+
<ul class="leftUl UL">
-
.Tdescription {
+
<li id="nav_home"></li>
-
position: relative;
+
<li id="nav_project" class="menu">
-
top: -350px;
+
<ul style="bottom:290px;">
-
height: 400px;
+
<li><a href="Overview.html">Overview</a></li>
-
background-color: rgba(0,0,0,.5);
+
<li><a href="Modeling.html">Modeling</a></li>
-
color: #fff !important;
+
<li><a href="Demo.html">Demo</a></li>
-
display: none;
+
<li><a href="Lab.html">Lab</a></li>
-
font-size: 16px;
+
<li><a href="FutureWorks.html">Future works</a></li>
-
padding: 20px;
+
<li><a href="Download.html">Download</a></li>
-
}
+
<li><a href="Safety&Ethics.html">Safety&Ethics</a></li>
-
.person img{
+
</ul>
-
opacity: .5;
+
</li>
-
}
+
<li id="nav_team"><a href="Team.html"></a></li>
-
#scrollTip{
+
</ul>
-
position: fixed;
+
<ul class="rightUl UL">
-
bottom: 90px;
+
<li id="nav_notebk" class="menu">
-
}
+
<ul style="bottom:90px;">
-
.board{
+
<li><a href="Journal.html">Journal</a></li>
-
background-color: #eee;
+
<li><a href="HumanPractice.html">Human practice</a></li>
-
position: absolute;
+
</ul>
-
top: 0;
+
</li>
-
right: 0;
+
<li id="nav_reqrmt" class="menu">
-
border-left: 3px solid #8fc41f;
+
<ul style="bottom:130px;">
-
padding-bottom: 100px;
+
<li><a href="Requirements.html">Requirements</a></li>
-
}
+
<li><a href="MedalFulfillment.html">Medal fulfillment</a></li>
-
.time{
+
<li><a href=">Award&Prize.html">Award&Prize</a></li>
-
font-family: 'Open Sans Condensed', sans-serif;
+
</ul>
-
font-weight: 700;
+
</li>
-
font-size: 36px;
+
<li id="nav_doc" class="menu">
-
text-align: right;
+
<ul style="bottom:170px;">
-
position: relative;
+
<li><a href="APIDoc.html">API documentation</a></li>
-
margin-left: -100px;
+
<li><a href="TestingDoc.html">Testing documentation</a></li>
-
display: inline-block;
+
<li><a href="Installation.html">Installation</a></li>
-
color: #244910;
+
<li><a href="UserGuide.html">User Guide</a></li>
-
float: left;
+
</ul>
-
line-height: 40px;
+
</li>
-
}
+
</ul>
-
.journal.even .time .date{
+
</div>
-
color: #01b9f4;
+
<img src="https://static.igem.org/mediawiki/2014/c/c5/2014-UESTC-Software-Top.png" id="top" onclick="javascript:$('#body').animate({scrollTop:0},700)">
-
}
+
<div id="logoRay" style="width:86px;height:86px;border-radius:1000px;position:fixed;bottom:-20px;z-index: 999999;"></div>
-
.month{
+
<img src="https://static.igem.org/mediawiki/2014/e/e5/2014_UESTC_Software_logo.gif" id="logo" style="border-radius: 90px;width:100px;height:100px;position:fixed;bottom:-20px;z-index: 999999;"/>
-
color: #8fc41f;
+
</div>
-
}
+
<script type="text/javascript">
-
.date{
+
function resizeWindow(){
-
color: #e60012;
+
var logoLeft = window.innerWidth/2-49.5;
-
}
+
var winHeight = window.innerHeight;
-
.content{
+
var winWidth = window.innerWidth;
-
max-width: 700px;
+
$("#body").css({
-
margin: 20px;
+
"width":winWidth+"px",
-
background-color: #ddd;
+
"height":winHeight+20+"px",
-
padding: 20px 25px;
+
"overflow-x":"hidden",
-
border-radius: 5px;
+
"overflow-y":"auto",
-
box-shadow: 0 0 3px rgba(0,0,0,.4);
+
"position":"absolute",
-
font-size: 17px;
+
});
-
}
+
$("#logo").css({
-
.journal.even .content{
+
"left":logoLeft+"px",
-
background-color: #aaa;
+
});
-
color: #fdfdfd;
+
$("#logoRay").css({
-
box-shadow: 0 0 3px rgba(0,0,0,.9);
+
"left":logoLeft+"px",
-
}
+
});
-
.content>img{
+
$(".UL").css("width",logoLeft+"px");
-
position: relative;
+
if(logoLeft>=300)
-
left: -25px;
+
$(".UL>li").css("width",logoLeft/3+"px");
-
top: 20px;
+
$(".vines").css("left",winWidth*.2-40+"px");
-
border-radius: 0 0 5px 5px;
+
$(".leftMenu").css("left",winWidth*.2-170+"px");
-
}
+
}
-
.journal{
+
$(window).load(function(){
-
background: url(https://static.igem.org/mediawiki/2014/1/1f/2014-UESTC-Software-NotePoint.png) no-repeat;
+
var winHeight = window.innerHeight;
-
background-position: -10px 40px;
+
$(".vines").css("height",winHeight+"px");
-
}
+
$(".vine").css("height",$(".midBoard").height()+"px");
-
#top{
+
});
-
position: fixed;
+
$(document).ready(function(){
-
bottom: 65px;
+
var winWidth = window.innerWidth;
-
right: 20px;
+
$(".question").css("left",-winWidth+"px");
-
cursor: pointer;
+
$(".answer").css("left",winWidth+"px");
-
}
+
resizeWindow();
-
/*safety*/
+
$(".question").animate({left:""},700);
-
.midBoard{
+
$(".answer").animate({left:""},700);
-
background-color: #fff;
+
//Navigation (in document.ready)
-
width: 65%;
+
$(".menu").on("mouseenter",function(){
-
margin: 0 auto;
+
$(this.children).fadeIn(200);
-
color: #c7d3af !important;
+
});
-
}
+
$(".menu").on("mouseleave",function(){
-
.midBoard h1{
+
$(this.children).fadeOut(200);
-
color: #c7d3af !important;
+
});
-
}
+
$("#top").click(function(){ 
-
.vines{
+
            $('#body').animate({scrollTop:0},700);
-
width: 97px;
+
        $("#vine1,#vine2,#vine3").animate({top:0},700);
-
height: 100%;
+
            return false;
-
margin-left: -50px;
+
        });
-
position: fixed;
+
-
}
+
-
.vine{
+
-
width: 97px;
+
-
height: 100%;
+
-
position: absolute;
+
-
}
+
-
#vine1{
+
-
background: url(https://static.igem.org/mediawiki/2014/9/9b/2014-UESTC-Software-Vine1.png) repeat-y;
+
-
}
+
-
#vine2{
+
-
background: url(https://static.igem.org/mediawiki/2014/6/69/2014-UESTC-Software-Vine2.png) repeat-y;
+
-
}
+
-
#vine3{
+
-
background: url(https://static.igem.org/mediawiki/2014/b/b0/2014-UESTC-Software-Vine3.png) repeat-y;}
+
-
.question{
+
-
background: url(https://static.igem.org/mediawiki/2014/3/30/2014-UESTC-Software-Question.png) no-repeat;
+
-
background-size: cover;
+
-
padding: 20px 30px 20px 20px;
+
-
color: #fff;
+
-
font-size: 18px;
+
-
margin: 10px;
+
-
position: relative;
+
-
}
+
-
.answer{
+
-
background: url(https://static.igem.org/mediawiki/2014/7/77/2014-UESTC-Software-Answer.png) no-repeat;
+
-
background-size: cover;
+
-
padding: 20px;
+
-
color: #f1ffd4;
+
-
font-size: 18px;
+
-
margin: 10px 10px 30px auto;
+
-
width: 90%;
+
-
position: relative;
+
-
}
+
-
.answer a{
+
-
color: #f1ffd4;
+
-
}
+
-
.leftMenu{
+
-
position: fixed;
+
-
top: 8%;
+
-
}
+
-
.leftMenu div{
+
-
background-color: rgba(255,255,255,.87);
+
-
text-align: right;
+
-
font-size: 20px;
+
-
width: 70px;
+
-
padding: 10px;
+
-
margin: 10px;
+
-
font-weight: 900;
+
-
color: #8fc41f;
+
-
}
+
-
#goLab,#goForm,.go{
+
-
cursor: pointer;
+
-
font-family: Georgia, Times, 'Times New Roman', serif;
+
-
}
+
-
/*others*/
+
-
.parts>p,.parts>ul{
+
        $("#go1").click(function(){
-
color: #777;
+
        var top =$('#body').scrollTop() +$('#p1').position().top;
-
font-size: 16px;
+
            $('#body').animate({scrollTop:top+"px"},700);  
-
text-indent: 2em;
+
        });
-
}
+
        $("#go2").click(function(){
-
.parts>pre{
+
        var top =$('#body').scrollTop() +$('#p2').position().top;
-
color: #777;
+
            $('#body').animate({scrollTop:top+"px"},700);  
-
font-size: 16px;
+
        });
-
}
+
        $("#go3").click(function(){
-
.parts>table{
+
        var top =$('#body').scrollTop() +$('#p3').position().top;
-
width: 90%;
+
            $('#body').animate({scrollTop:top+"px"},700);  
-
}
+
        });
-
td{
+
        $("#go4").click(function(){ 
-
margin: 0;
+
        var top =$('#body').scrollTop() +$('#p4').position().top;
-
padding: 5px;
+
            $('#body').animate({scrollTop:top+"px"},700);  
-
text-align: center;
+
        });
-
}
+
        $("#go5").click(function(){
-
.pc1{
+
        var top =$('#body').scrollTop() +$('#p5').position().top;
-
width: 6em;
+
            $('#body').animate({scrollTop:top+"px"},700);  
-
}
+
        });
-
.pc2{
+
        $("#body").on("scroll",function(){
-
width: 50%;
+
        var top=$(".midBoard"). position().top;
-
}
+
$("#vine1"). css("top",top*.06+"px");
-
.pc4{
+
$("#vine2"). css("top",top*.12+"px");
-
width: 2em;
+
$("#vine3"). css("top",top*.24+"px");
-
}
+
        });
-
.red{
+
});
-
color: red;
+
window.onresize = resizeWindow;
-
}
+
</script>
-
.green{
+
</body>
-
color: green;
+
</html>
-
}
+
-
.parts img{
+
-
max-width: 100%;
+
-
}
+

Revision as of 19:06, 10 October 2014

UESTC-Software

Models and Algorithms

1.Overview

Modeling is a powerful tool in synthetic biology and engineering. In our project, we aim to design a bioinformatics tool “CRISPR-X”, which is a software developed for design of CRISPR sgRNA with minimized off-target effects and high cutting rate.

First of all, we find the protospacer-adjacent motif (PAM) based on user-specified gene region. Then, we find sgRNA corresponding to the PAM. Next, we find that whether there is a potential off-target binding sites for the sgRNA over the entire gene region, and evaluate the specificity and efficacy of the sgRNA. Finally, we provide a secondary structure and the restriction enzyme cutting sites for the sgRNA.

2.Parameters
Parameters Description Range Unit Remark
d 0 Average distance for all the mismatch nucleotides to the PAM of any off-target site 0-19 nt
i Continuous variables for the number of mismatch nucleotide 1-Nmm 1
j Continuous variables for the total number of off-target sites exclude the perfect-hit off-target sites 1-(Nfg-Nph) 1
M Weight matrix [0,0,0.014,0,0,0.395,0.317,0,0.389,0.079,0.445,0.508,0.613,0.851,0.732,0.828,0.615,0.804,0.685,0.583] Reference: DNA targeting specificity of RNA-guided Cas9 nucleases, Hsu et al, 2013
n Mismatch position 1-20
Nfg The total number of off-target sites ≥0 1
Nmm The number of mismatch nucleotide for the not perfect-hit off-target sites 1-4 1
Nph Perfect-hit off-target sites ≥0 1 In our scoring algorithm, we allow the maximum value of Nph is 4, when Nph≥4, Sguide=0
r 1 The proportion of specificity score in the total score 0-1 1 In our scoring algorithm, it’s default value is 0.65
r 2 The proportion of efficacy score in the total score 0-1 1 In our scoring algorithm, it’s default value is 0.35
S1 The score of the first step ≥0 1
S20 The subtracted score for the 20th nucleotide is not a guanine =35 1
Seff The efficacy score 0-100 1 Represent the level of efficacy for the sgRNA
Sgc The subtracted score for different GC ratio 0,35,65 1
Sguide The total score of the sgRNA 0-100 1 Composed of Seff and Sspe, marking the overall properties(specificity and efficacy) of the sgRNA
Smm The subtracted score of the mismatch nucleotide for the not perfect-hit off-target sites ≥0 1
Sph The subtracted score of the perfect-hit off-target sites ≥0 1
Sspe The specificity score 0-100 1 Represent the level of specificity for the sgRNA
3.Scoring algorithm

    Judged conditions:
  • ①Bad GC ratio (< 40% or > 80%) : Sgc = 65;
    Not so good GC ratio (40% - 50% or 50% - 80%): Sgc = 35;
    Good GC ratio (51%-69%): Sgc = 0.[1]
    
  • ②The 20th nucleotide is not G: S20 = 35;[1]
  • ③If the sgRNA designed perfectly hit another sites, the penalty Sph = 25;if perfectly hit more than or equal to 4 loci, the total score Sguide is 0.

    Steps:
  • (1) Firstly, find out the number of off – target sequence Nfg, if Nfg = 0, output Sspe= r1*100; Otherwise, detect the third condition. If there is a sgRNA designed perfectly hit another site, regard the number of it as Nph, and then the score of the first step: S1 = Sph * Nph (Nph is 4 or less). When S1 is equal to or less than 75, perform step (2), otherwise the output Sguide = 0;
    If there is no sgRAN designed perfectly hit other sites, the score of the first step S1 = 0. This illustrates that there is no nucleotide which are matched between sgRNA and the place missed. Then perform step(2)。
  • (2) When performing step (2), remove the Nph which is perfectly hit first. For Nfg-Nph which does not perfectly hit, please combine the weight ratio which obtained in the literature: M=[0,0,0.014,0,0,0.395,0.317,0,0.389,0.079,0.445,0.508,0.613,0.851,0.732,0.828,0.615,0.804,0.685,0.583];[2] Using the formula:

Assuming that specific score: efficacy score = r1: r2 (the default is r1:r2 = 0.65:0.35), and then use formula specificity scores Sspe =(when 100-, Sspe=0), efficacy score Seff = r2 * (100 - (Sgc + S20)), the total score: ; Finally according to Sguide score, arranging the sgRNA from high to low, outputting sgRNA, total score Sguide, specificity scores Sspe, efficacy score Seff, the chromosome and its site connected to sgRNA, the GC ratio.

4.Algorithm illustration

In literature [2], The algorithm used to score single off-targets is:

This algorithm is adopted by CRISPR-P, the inadequacies of this algorithm are: (a) Despite the presence of off-target sites, but sometimes it's subtracted score will still be 0 (which seems unreasonable under certain circumstances, and it will confuse the scoring of those sgRNA that don’t exist off-target sites). (b) Using W function, which cannot be expressed by elementary functions, it will take some additional time in calculation.

However, our algorithm can avoid these two shortcomings. Our algorithm is:

First, we use the summation of exponential replaced W function; Secondly, when there exist off-target sites, our running results will be with the subtracted score, and we use the rounding to further ensure this situation. The following table can show the score contrast.

Off-target sequence Mismatches CRISPR-P Score OUR Software Score
GTTTCTCCGTAATCGCGTCA 4 0.8 0.989
GTTCTTCCACAATTCCGTTA 4 0 0.391
TTTCTTCCAGAATCGTGACT 4 0 0.426
GAAAAATTCCTCTTATTTCA 2 3.9 2.177
GAACAACTCCTCTTATTACA 2 2.4 1.187
GAAGAACTACGCTTATGACA 4 0 0.402
5.Algorithm validation

In order to confirm our algorithm is consistent with the experimental results, we use the experimental data on the MLE Cleavage with the different mismatches, and we compare our scoring results to corresponding to the experimental data , in addition find the correlation coefficient of them.

First, we use aggregate data from single-mismatch guide RNAs for 15 EMX1 targets in literature [2](it’s relation figure is figure 2C, heatmap for relative SpCas9 cleavage efficiency for each possible RNA:DNA base pair).

Aggregate data from single-mismatch guide RNAs for 15 EMX1 targets [2]

Heatmap for relative SpCas9 cleavage efficiency for each possible RNA:DNA base pair[2]. (a)We use this set of data to determine the relationship between our software score with the MLE Cleavage for single mismatch position. MATLAB program is shown below:

	data=load('E:\matlab\work\igem_data.mat');
	[m n]=size(data.dataigem);
	for i=1:n
	    ave(i)=mean(data.dataigem(:,i));
	end
	M=[0,0,0.014,0,0,0.395,0.317,0,0.389,0.079,0.445,0.508,0.613,0.851,0.732,0.828,0.615,0.804,0.685,0.583];
	for j=2:20
	S(j-1)=(4*exp(1-M(j)))/((4*j+19)/19);
	end
	x=19:-1:1;
	subplot(1,2,1);
	stem(x,ave);
	title('The relaition between the single mismatch location and cleavage activity ');
	xlabel('location/nt');ylabel('cleavage activity');
	subplot(1,2,2);
	stem(x,S,'g');
	title('The figure of the single mismatch location and mismatch score  ');
	xlabel('location/nt');ylabel('score');
	figure(2);
	plot(x,ave,'b',x,S,'r');
	legend('mismatch cleavage activity','mismatch score');
	title('The contrast figure of the single mismatch cleavage activity and mismatch score  ');
	xlabel('location/nt');ylabel('amplitude');
	B=corrcoef(ave,S)%find the correlation coefficient

The result and figures are:

(b) We use the similar way to determine the relationship between our software score with the MLE Cleavage for two concatenated mismatches. MATLAB program is shown below:

	data=load('E:\matlab\work\data2misc.mat');
	[m n]=size(data.data2misc);
	for i=1:n
	    ave(i)=mean(data.data2misc(:,i));
	end
	N=[19 20;17 18;15 16;13 14;11 12;9 10;7 8;5 6;3 4];%Mismatch position
	M=[0,0,0.014,0,0,0.395,0.317,0,0.389,0.079,0.445,0.508,0.613,0.851,0.732,0.828,0.615,0.804,0.685,0.583];
	for j=1:n
	    d0(j)=mean(N(j,:));
	    S(j)=(exp(1-M(N(j,1)))+exp(1-M(N(j,2))))/((4*d0(j)+19)/19);
	end
	x=1:n;
	subplot(1,2,1);
	stem(x,ave);
	title('The two concatenated mismatches cleavage activity ');
	xlabel('The serial number');ylabel('cleavage activity');
	subplot(1,2,2);
	stem(x,S,'g');
	title('The two concatenated mismatches score  ');
	xlabel('The serial number');ylabel('score');
	B=corrcoef(ave,S) %find the correlation coefficient

The result and figures are:

(c) We use the similar way like (b)(just change N in MATLAB program) to determine the relationship between our software score with the MLE Cleavage for two interspaced mismatches. The MATLAB program result and figures are:

(d) We use the similar way like (b) (just change N and S(j) (according to the Smm formula)in MATLAB program) to determine the relationship between our software score with the MLE Cleavage for three concatenated mismatches. The MATLAB program result and figures are:

(e) We use the similar way like (b) (just change N and S(j) (according to the Smm formula)in MATLAB program) to determine the relationship between our software score with the MLE Cleavage for three interspaced mismatches. The MATLAB program result and figures are:

In summary, the correlation coefficient of the above-mentioned five different conditions (single mismatch, two concatenated mismatches, two interspaced mismatches, three concatenated mismatches and three interspaced mismatches) respectively are: 0.8840, 0.8902, 0.7688, 0.8566, 0.6092. The correlation coefficients are all over 0.6, and three correlation coefficients are over 0.85. In some extent, this result demonstrated the validity and availability of our scoring algorithm.

    Reference:
  • [1] Genetic Screens in Human Cells Using the CRISPR-Cas9 System, Wang et al., 2014
  • [2] DNA targeting specificity of RNA-guided Cas9 nucleases, Hsu et al, 2013

1.Overview
2.Parameters
3.Scoring algorithm
4.Algorithm illustration
5.Algorithm validation