Team:EPF-Lausanne/PrimerDesignHelper

From 2012.igem.org

(Difference between revisions)
Line 5: Line 5:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="/Team:EPF-Lausanne/PrimerDesignHelper.js?action=raw&amp;ctype=text/javascript"></script>
<script type="text/javascript" src="/Team:EPF-Lausanne/PrimerDesignHelper.js?action=raw&amp;ctype=text/javascript"></script>
-
<h1>Primer design helper</h1>
+
-
<p>
+
<div id="formAttach" style="width: 490px; float: left; padding-right: 15px; border-right: 1px solid #DDD">
-
Warning: This is a very basic tool and should not be seen as a replacement for your brain. This is in no way a complete
+
-
tool for primer design and shouldn't be trusted! Always check the results yourself. The Tm calculation is based on
+
-
Belsauer et al. 1986 (with some small modifications, inspired by <a href="http://www.basic.northwestern.edu/biotools/oligocalc.html">http://www.basic.northwestern.edu/biotools/oligocalc.html</a>)
+
-
and has as a goal to match the results found by the <a href="http://www.neb.com/nebecomm/tech_reference/TmCalc/Default.asp">NEB Phusion HF-PCR reference</a> (this means that normally the results are the same, but this isn't guaranteed, although the Tm should at least be in the correct range).
+
-
The tail is ignored in the Tm calculation.
+
-
Also take a look at <a href="http://partsregistry.org/Help:Primers/Design">iGEM's primer design page</a>.
+
-
</p>
+
-
<p>
+
-
Known limitations are: only A, C, G and T are accepted as input, the concentration of salts (50mM of Na+),
+
-
and the primer concentration (500nM) can't be set.
+
-
</p>
+
-
<p>
+
-
Paste the sequence you want to PCR out in the following textarea:<br/>
+
-
<textarea id="data" cols="50" rows="10" onkeyup="window.calc()" onchange="window.calc()"></textarea>
+
-
</p>
+
-
<p>
+
-
Give some more info about what you want to do:<br/>
+
-
<table>
+
-
<tr>
+
-
<td>Primer type</td>
+
-
<td>
+
-
<input type="radio" name="primerType" value="normal" id="primerTypeNormal" onchange="window.updateRadioElements();window.calc();" checked />
+
-
<label for="primerTypeNormal">Standard PCR primer (extract the whole sequence)</label>
+
-
<br />
+
-
<input type="radio" name="primerType" value="restrictionSites" id="primerTypeRestrictionSites" onchange="window.updateRadioElements();window.calc();" />
+
-
<label for="primerTypeRestrictionSites">Add restriction sites on both ends</label>
+
-
<br />
+
-
<input type="radio" name="primerType" value="knownTail" id="primerTypeKnownTail" onchange="window.updateRadioElements();window.calc();" />
+
-
<label for="primerTypeKnownTail">Add "known" tails on both ends</label>
+
-
<br />
+
-
<input type="radio" name="primerType" value="restrictionSites" id="primerTypeCustom" onchange="window.updateRadioElements();window.calc();" />
+
-
<label for="primerTypeRestrictionCustom">Add custom tails on both ends</label>
+
-
</td>
+
-
</tr>
+
-
<tr style="display: none" id="restrictionSiteRow">
+
-
<td>Restriction sites</td>
+
-
<td>
+
-
Random bases: <input type="text" id="primerRandBases" value="4" onkeyup="window.calc()" onchange="window.calc()" /><br />
+
-
Primer 1 RS: 5' <input type="text" id="primer1RS" onkeyup="window.calc()" onchange="window.calc()" /> 3' <span id="primer1RSMatch"> </span><br />
+
-
Primer 2 RS: 5' <input type="text" id="primer2RS" onkeyup="window.calc()" onchange="window.calc()" /> 3' <span id="primer2RSMatch"> </span><br />
+
-
Note: You can also enter the names of the restriction sites (EcoRI, XbaI, etc.).
+
-
</td>
+
-
</tr>
+
-
<tr style="display: none" id="customRow">
+
-
<td>Tails</td>
+
-
<td>
+
-
Primer 1 tail: 5'<input type="text" id="primer1Tail" onkeyup="window.calc()" onchange="window.calc()" />3'<br />
+
-
Primer 2 tail: 5'<input type="text" id="primer2Tail" onkeyup="window.calc()" onchange="window.calc()" />3'
+
-
</td>
+
-
</tr>
+
-
<tr style="display: none" id="knownTailRow">
+
-
<td>Tail</td>
+
-
<td>
+
-
<select id="knownTailSelect" onkeyup="window.calc()" onchange="window.calc()">
+
-
</select>
+
-
<script type="text/javascript">
+
-
for(var i = 0; i < window.tails.length; i++){
+
-
$("#knownTailSelect").append(
+
-
$("<option>")
+
-
.val(window.tails[i].value)
+
-
.text(window.tails[i].name)
+
-
);
+
-
}
+
-
</script>
+
-
</td>
+
-
</tr>
+
-
<tr>
+
-
<td>Goal Tm</td>
+
-
<td>
+
-
<input type="text" id="goalTm" onkeyup="window.calc()" onchange="window.calc()" value="55" /> °C
+
-
</td>
+
-
</tr>
+
-
<tr>
+
-
<td> </td>
+
-
<td>
+
-
<input type="button" onclick="Primer.reset(); window.calc()" value="Calculate" />
+
-
</td>
+
-
</tr>
+
-
</table>
+
-
<script type="text/javascript">window.onload = function(){ window.updateRadioElements(); }</script>
+
-
</p>
+
-
<p>
+
-
<h2>Result:</h2>
+
-
<div id="messages">
+
-
+
</div>
</div>
-
<br />
+
<div style="width: 450px; float: right">
-
Note: the annealing temperatures are indicative and should always be checked (and corrected).
+
<fieldset>
-
<br />
+
<legend>Results</legend>
-
<b>Primer 1 (<span id="primer1Temp">NaN</span> °C, <span id="primer1bp">NaN</span>bp):</b> 5' - <span id="primer1">No data</span> &rarr; 3'<br />
+
<div id="outputAttach"> </div>
-
<b>Primer 2 (<span id="primer2Temp">NaN</span> °C, <span id="primer2bp">NaN</span>bp):</b> 5' - <span id="primer2">No data</span> &rarr; 3'<br />
+
</fieldset>
-
<b>Annealing temp:</b> <span id="annealingTemp">NaN</span> °C
+
</div>
-
+
<div style="clear: both"> </div>
-
<hr />
+
<h2>Comments</h2>
-
<input type="checkbox" id="toggleLines" onchange="window.calc()" onclick="window.calc()" checked />
+
<p>
-
<label for="toggleLines">Line numbers</label>
+
Warning: This is a very basic tool and should not be seen as a replacement for your brain. This is in no way a complete
-
<pre id="finalResult">
+
tool for primer design and shouldn't be trusted! Always check the results yourself. The Tm calculation is based on
-
+
Belsauer et al. 1986 (with some small modifications, inspired by <a href="http://www.basic.northwestern.edu/biotools/oligocalc.html">http://www.basic.northwestern.edu/biotools/oligocalc.html</a>)
-
</pre>
+
and has as a goal to stay close (in principle it should be the same) to the results found by the <a href="http://www.neb.com/nebecomm/tech_reference/TmCalc/Default.asp">NEB Phusion HF-PCR reference</a>.
-
</p>
+
The tail is ignored in the Tm calculation.
-
<script type="text/javascript">
+
Also take a look at <a href="http://partsregistry.org/Help:Primers/Design">iGEM's primer design page</a>.
-
window.calc();
+
</p>
-
</script>
+
<p>
 +
Known limitations are: only A, C, G and T are accepted as input, the concentration of salts(50mM of Na+),
 +
and the primer concentration (500nM) can't be set.
 +
</p>
</html>
</html>
{{:Team:EPF-Lausanne/Template/Footer}}
{{:Team:EPF-Lausanne/Template/Footer}}

Revision as of 11:13, 28 July 2012

Results

Comments

Warning: This is a very basic tool and should not be seen as a replacement for your brain. This is in no way a complete tool for primer design and shouldn't be trusted! Always check the results yourself. The Tm calculation is based on Belsauer et al. 1986 (with some small modifications, inspired by http://www.basic.northwestern.edu/biotools/oligocalc.html) and has as a goal to stay close (in principle it should be the same) to the results found by the NEB Phusion HF-PCR reference. The tail is ignored in the Tm calculation. Also take a look at iGEM's primer design page.

Known limitations are: only A, C, G and T are accepted as input, the concentration of salts(50mM of Na+), and the primer concentration (500nM) can't be set.