/usr/share/doc/perlprimer/tutorial.html is in perlprimer-doc 1.1.21-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | <html><head><style type="text/css">
BODY {
background: #FBFBFB;
padding: 0px;
font-family: Georgia, "Times New Roman", serif;
font-size: 90%;
line-height: 130%;
height: 100%;
margin: 0px;
}
TABLE TD {
margin: 0px;
padding: 0px;
border: 0px;
spacing: 0px;
}
br, p {
line-height: 130%;
}
UL, OL {
line-height: 130%;
}
A {
color: #336699;
text-decoration: none;
}
A:hover {
color: #993333;
text-decoration: underline;
}
SUP {
font-family: Verdana, sans-serif;
font-size: smallest;
line-height: 100%;
}
/* HEADER */
.shadow1 {
background-color: #999999;
border-bottom: 1px solid #BBBBBB;
height:1px;
font-size: 1px;
width: 100%;
}
.shadow2 {
background-color: #DDDDDD;
height:1px;
font-size: 1px;
width: 100%;
}
.header {
background: #555555;
border-bottom: 1px solid #333333;
padding: 3px 10px 3px 10px;
}
.framework {
width: 100%;
}
/* FOOTER */
.footer {
/* background: #CCCCCC; */
color: #666666;
border-top: 1px dotted #333333;
font-family: Verdana, sans-serif;
font-size: 80%;
margin-top: 3em;
padding-top: 0.5em;
padding-bottom: 1em;
margin-left: 5%;
margin-right: 5%;
}
/* CONTENT */
H1 {
color: #111111;
font-family: Trebuchet MS, "Times New Roman", serif;
font-size: 200%;
font-weight: normal;
margin-bottom: 0px;
}
H2 {
color: #444444;
font-family: Trebuchet MS, "Times New Roman", serif;
font-size: 160%;
font-weight: normal;
width: 100%;
margin-top: 0em;
padding-bottom: 0.25em;
margin-bottom: 0.25em;
border-bottom: 1px dotted #666666;
}
H3 {
color: #000000;
font-family: Trebuchet MS, "Times New Roman", serif;
font-size: 130%;
font-weight: normal;
margin-top: 1.5em;
margin-bottom: 0.75em;
padding: 0em;
text-decoration: underline;
}
H4 {
color: #000000;
font-family: Trebuchet MS, "Times New Roman", serif;
font-size: 130%;
font-weight: normal;
margin-top: 1.5em;
margin-bottom: 0.25em;
padding: 0em;
}
.date {
font-size: 80%;
color: #333333;
text-decoration: none;
}
.toc {
margin-left: 2em;
line-height: 130%;
}
.top {
padding: 0em;
border: 0px;
margin-top: 1em;
margin-bottom: 1em;
margin-left: 5%;
margin-right: 5%;
}
.content {
margin-top: 1em;
margin-bottom: 1em;
margin-left: 5%;
margin-right: 5%;
}
.reference {
font-family: Verdana, sans-serif;
font-size: 80%;
color: #303030;
margin-left: 5%;
margin-right: 5%;
}
.rule {
height: 1px;
padding: 0px;
margin-top: 1em;
margin-bottom: 1em;
}
</style>
<title>PerlPrimer</title><link rel="shortcut icon" href="http://perlprimer.sourceforge.net/favicon.ico" type="image/x-icon"></head>
<body><div class="header"><br></div>
<div class="shadow1"></div>
<div class="shadow2"></div>
<div class="top"><br>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td width="100%">
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<h2><b>PerlPrimer - open-source PCR primer design</b></h2>
<a href="http://perlprimer.sourceforge.net/index.html">About</a> | <a href="http://perlprimer.sourceforge.net/news.html">News</a> | <a href="http://perlprimer.sourceforge.net/download.html">Download</a> | Tutorial | <a href="http://perlprimer.sourceforge.net/methodology.html">Methodology</a> | <a href="http://perlprimer.sourceforge.net/links.html">Links</a> | <a href="http://perlprimer.sourceforge.net/screenshots.html">Screenshots</a> | <a href="http://perlprimer.sourceforge.net/contact.html">Contact</a> </td></tr></tbody></table>
</td><td halign="right" valign="middle">
<a href="http://sourceforge.net/"> <img src="tutorial_files/sflogo.png" alt="SourceForge.net Logo" align="middle" border="0" height="62" width="210"></a>
</td></tr></tbody></table>
</div>
<div class="content">
<h3>Contents</h3>
<a href="#introduction">Introduction (and sample files)</a>
<p><a href="#standard">Standard PCR</a>
<br><span class="toc"><a href="#standard_restriction">Adding restriction enzyme cloning sequences</a></span>
<br><span class="toc"><a href="#standard_saving">Saving a printable summary of the selected primer pair</a></span>
<br><span class="toc"><a href="#standard_exporting">Exporting selected primers to a spreadsheet</a></span>
</p><p><a href="#realtime">Real-time PCR</a>
</p><p><a href="#sequencing">Sequencing Primers</a>
</p><p><a href="#advanced">Advanced Features</a>
<br><span class="toc"><a href="#advanced_finding">Finding primers</a></span>
<br><span class="toc"><a href="#advanced_amplifying">Amplifying user-defined regions</a></span>
<br><span class="toc"><a href="#advanced_specifying">Specifying PCR component concentrations</a></span>
<br><span class="toc"><a href="#advanced_blast">Advanced BLAST searching</a></span>
<br><span class="toc"><a href="#advanced_blast_local">Using a local BLAST server</a></span>
<br><span class="toc"><a href="#advanced_ipc">Using other programs to communicate with PerlPrimer</a></span>
<a name="introduction"><h3>Introduction</h3></a>
</p><p>This tutorial covers most of the commonly used features of
PerlPrimer, for standard PCR, real-time PCR and sequencing, using the
human gene <i>PGR</i> (encoding the Progesterone Receptor protein) as
an example. Example files for each section may be downloaded below
(right-click on the links and choose either "Save Target As ..." or
"Save Link to Disk ...", depending on your browser).
</p><p><a href="http://perlprimer.sourceforge.net/hs_pgr_cDNA.txt">Human <i>PGR</i> cDNA sequence</a>
<br><a href="http://perlprimer.sourceforge.net/hs_pgr_genomic.txt">Human <i>PGR</i> genomic sequence</a>
</p><p><a href="http://perlprimer.sourceforge.net/hs_pgr_cloning.ppr">standard PCR perlprimer file</a>
<br><a href="http://perlprimer.sourceforge.net/hs_pgr_qpcr.ppr">real-time PCR perlprimer file</a>
<br><a href="http://perlprimer.sourceforge.net/hs_pgr_sequencing.ppr">sequencing perlprimer file</a>
</p><p>The tutorial is based upon PerlPrimer 1.1 - users of older
versions may find some features unavailable and are advised to upgrade
to the latest version. All screenshots were made using the program
running under Linux, however, the program should behave identically
under Windows and MacOS X.
</p><p>In addition to this tutorial, PerlPrimer also comes with
extensive "Balloon Help", enabled by default (and which can be turned
on or off in the Help menu). Simply hold the mouse pointer over a
button or feature and a explanatory message should be displayed.
</p><p><a name="standard"><h3>Standard PCR</h3></a>
</p><p>While a DNA sequence may be opened from the sequence input area (click on the <img src="tutorial_files/open_dna_20.png">
icon), the simplest means of retrieving a sequence is to use the
Ensembl database tool. Click on the "Retrieve gene from Ensembl" icon <img src="tutorial_files/ensembl_20.png">
or select it from the File menu. Enter "pgr" as the gene name and
select "Homo_sapiens" as the organism. Make sure that "cdna" is set as
the retrieval type, and click OK.
</p><p>You should see a screen similar to that shown below (note that
on earlier versions the amplification range will not be set
automatically - click the "Set from ORF" button to do so) The range
will now be set by default to the largest Open Reading Frame (or ORF)
present in the sequence. The range is displayed by two boxes around the
DNA sequence - one orange (the outer range) and one blue (the inner
range). All primers will be found within the orange box and outside of
the blue box.
</p><p><img src="tutorial_files/img1.png">
</p><p>(The following example considers cloning a gene by PCR
amplification into an expression plasmid. Note, however, that primers
may be designed around other regions of interest as well as genes or
that amplification boundaries may be entered manually (see the section
"Advanced uses" below))
</p><p>To clone the cDNA ORF into an expression plasmid, we will
generally want a forward primer before or encompassing the initiating
ATG, and a reverse primer before the terminal stop codon. The simplest
way to do this to use the "Find primers for cloning" command from the
Tools menu - this will automatically decrease the 5' outer range and 3'
inner range until primers pairs are found. (There is another way to do
this - see the "Advanced Features" section below). Using the standard
default parameters, this should find four primer pairs, the first one
amplifying from bases 1443 -> 4226. (see screen shot below)
</p><p><img src="tutorial_files/img2.png">
</p><p>Double-clicking on this primer pair (or pressing the right arrow
key on the keyboard) will switch to the Primers tab, showing primer
information and stable primer-dimers. The most stable extensible
primer-dimer is fairly weak (dG°37 of -2.00 kcal/mol), and although the
non-extensible Forward vs. Forward dimer may slightly reduce the primer
population, it should not cause problems for the purpose of cloning the
gene. (screen shot)
</p><p><img src="tutorial_files/img3.png">
</p><p>There is also a button on this page to BLAST primers using the
NCBI BLAST server. Click on this and wait for the BLAST results to come
up (this may take a minute or two - the server can be quite slow at
times) Limit the results to human only by typing "Homo" into the search
box and clicking the Search button. (screen shot) The forward primer is
fairly unique, and although the reverse primer is less so it should be
OK to amplify from. Return to the Standard PCR page and select this
primer pair.
</p><p><img src="tutorial_files/img4.png">
</p><p><a name="standard_restriction"><h4>Adding restriction enzyme cloning sequences</h4></a>
</p><p>The example provided here will clone the <i>PGR</i> ORF into
GFP-fusion constructs (Clontech plasmids EGFP-C1 and EGFP-C2), creating
both an N-terminal and a C-terminal fusion protein when translated.
Select "Add cloning sequences" from the Tools menu. This will bring up
a dialogue box with the ability to select restriction enzyme sites to
add to the 5' end of each primer. By default, only those 6-base cutting
enzymes that will not cut the DNA sequence within the outer range are
listed. Looking at the restriction sites present in the plasmid MCS and
comparing to the list of non-cutting enzymes, we can see that BglII and
EcoRI can be used. Select these (see below) and click OK. Finally, we
need to add the frame that the sites lie in, relevant to the EGFP gene
(this is obviously only necessary when creating fusion proteins).
Looking at the plasmid MCS, it should be clear that both BglII for
EGFP-C1 and EcoRI for EGFP-N2 are in frame 0 (where the frame can be
one of 0, 1 or 2 and 0 represents a sequence in frame). Enter "0" into
each frame box.
</p><p>EGFP-C1 MCS:
</p><p><img src="tutorial_files/egfp_c1_mcs.png">
</p><p>EGFP-N2 MCS:
</p><p><img src="tutorial_files/egfp_n2_mcs.png">
</p><p><img src="tutorial_files/img5.png">
</p><p>Clicking on the <img src="tutorial_files/magnify.png"> icon next
to the DNA graphic (also by right-clicking on the DNA graphic) will
bring up an alignment of the DNA sequence and primers with cloning
sequences attached. The ORF is translated and codons are highlighted
(see below). Note the inserted Adenine base between the forward primer
and the cloning site.
</p><p><img src="tutorial_files/img6.png">
</p><p><a name="standard_saving"><h4>Saving a printable summary of the selected primer pair</h4></a>
</p><p>Clicking on the <img src="tutorial_files/report_20.png"> icon
(or selecting "Generate Report" from the Tools menu) will save a text
file listing the selected primer pair, statistics and primer-dimers of
each primer and an alignment of the primers against the DNA sequence.
</p><p>
<a name="standard_exporting"><h4>Exporting selected primers to a spreadsheet</h4></a>
</p><p>If satisfied with a primer pair or a group of primer pairs,
right-click on the primer list and choose "Copy", or simply press
Ctrl-C. The primers are copied in a tab-delimited format that can be
pasted into any spreadsheet application.
</p><p><a name="realtime"><h3>Real-time PCR</h3></a>
</p><p>Designing real-time PCR primers with PerlPrimer is a simple and straightforward process. This tutorial uses the Human <i>PGR</i> gene as an example.
</p><p>Click on the "Retrieve gene from Ensembl" icon (picture) or
select it from the File menu, enter "pgr" as the gene name and select
"Homo_sapiens" as the organism. Click OK. PerlPrimer will automatically
download the genomic and cDNA sequences for the gene. You should have a
screen similar to that below. </p><p><img src="tutorial_files/img7.png">
</p><p>Click on the "Find Primers" button. PerlPrimer runs the
application Spidey, which finds intron/exon boundaries (displayed as
white lines across the DNA graphic). It then selects primer pairs that
will produce an amplicon within the bounds specified, which span at
least one intron/exon boundary and in which at least one primer pair
lies across an intron/exon boundary. (Thus the primers should only
amplify cDNA and will not amplify genomic DNA) Primers are sorted by
extensible primer-dimer stability. In this case, no primers are found
on the first run - probably because the regions around the intron/exon
boundaries have an abnormally high or low GC content. To test this, try
changing the cutoffs for GC% from 40%-60% to 35%-65% (you can do this
in the Preferences, under the "Exclusions" tab).
</p><p>Searching for primers again now yields over 400 primer pairs (see below).
</p><p><img src="tutorial_files/img8.png">
</p><p>Of these, the first primer pair should be fine - BLAST searching
as detailed above suggests that both primers are specific. Clicking on
the <img src="tutorial_files/magnify.png"> icon now displays the intron/exon boundaries with the primers aligned (see below).
</p><p><img src="tutorial_files/img9.png">
</p><p><a name="sequencing"><h3>Sequencing Primers</h3></a>
</p><p>Finding sequencing primers for any sequence is also extremely simple. Using the example above of the human <i>PGR</i>
cDNA sequence, open the sequence (or retrieve it from Ensembl), check
that the default "Primers every ... bases" is appropriate for your
average sequence read-length, and click the "Find Primers" button.
Suitable primers will be listed, or if a gap is found where no primers
match the required parameters, a dialogue will displayed informing the
user that the search parameters will need to be relaxed. By default,
primers are only listed if all primer-dimers have a dG°37 less than -5
kcal/mol - this can be varied if required. In this case, we need to
increase the maximum read length to 800bp to find primers (screenshot).
</p><p><img src="tutorial_files/img10.png">
</p><p><a name="advanced"><h3>Advanced Features</h3></a>
</p><p><a name="advanced_finding"><h4>Finding primers</h4></a>
</p><p>Two other buttons in the "Standard PCR" and "Bisulphite PCR"
pages that have not been mentioned above are the "Find Inwards" and
"Find Outwards" buttons - useful for amplifying regions of interest.
The "Find Inwards" button reduces the inner amplified range by 10 base
increments until suitable primers are found; the "Find Outwards" does
the opposite - increasing the outer amplified range by 10 base
increments until primers are found.
</p><p>The inner and outer ranges can also be adjusted by using the
mouse - dragging with the left mouse button affects the inner range;
dragging with the middle mouse button (or the left button with the Ctrl
key held down) affects the outer range.
</p><p><a name="advanced_amplifying"><h4>Amplifying user-defined regions</h4></a>
</p><p>While PerlPrimer will by default automatically find the largest
ORF (or CpG islands) in a sequence, it is also possible to use a
user-defined region, or number of regions. This can be achieved by
capitalising the region of interest (most word processing/text editor
programs should be able to do this) before opening the sequence in
PerlPrimer, and selecting "Defer to capitalised regions" in the
Preferences under the "General" tab. (click on the <img src="tutorial_files/preferences_20.png"> icon or select "Preferences" from the Tools menu). The internal ORF and CpG island detection algorithms are now bypassed.
</p><p>It is also possible to manually specify the base positions to
amplify from by typing in the numbers into the Amplified Range section.
</p><p><a name="advanced_specifying"><h4>Specifying PCR component concentrations</h4></a>
</p><p>PCR component concentrations are set by default to the standard PCR conditions of 1.5mM Mg<sup>++</sup>, 50mM Monovalent cations (i.e. Na<sup>+</sup>, K<sup>+</sup>, etc), 0.2 mM dNTPs and a final concentration of each primer as 200mM.
</p><p>These concentrations can be changed in the Preferences under the "General" tab (click on the <img src="tutorial_files/preferences_20.png">
icon or select "Preferences" from the Tools menu). Please note that
changing any of these values (including the primer concentration) will
affect the <i>T<sub>m</sub></i>.
</p><p><a name="advanced_blast"><h4>Advanced BLAST searching</h4></a>
</p><p>Most parameters of BLAST searches (including the Expect value,
the database and the ability to limit searches to an organism) can be
set in the Preferences, under the "Bioinformatics" tab.
</p><p><a name="advanced_blast_local"><h4>Using a local BLAST server</h4></a>
</p><p>As of version 1.1.5, users may install and use a local BLAST server and data files. <a href="ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST-BLAST/">Binaries</a> and <a href="ftp://ftp.ncbi.nih.gov/blast/db/">databases</a>
are available from the NCBI ftp site - please see the README file for
stand-alone BLAST included with the BLAST distribution for details on
setting up the server and database files.
</p><p>Once a local BLAST server has been setup, select "Use local
BLAST server" from the "BLAST" tab in the Preferences dialogue, select
the directory where BLAST server executables are located and select the
relevant database file.
</p><p><a name="advanced_ipc"><h4>Using other programs to communicate with PerlPrimer</h4></a>
</p><p>As of version 1.1.3, PerlPrimer now establishes a listening
socket on local port 2500 which other applications can use to send data
directly to PerlPrimer (see <a href="http://www.atgc.org/Py_ContigViewer/">Contig Viewer</a>
for an example of an application that uses this feature). The data
format uses a modified FASTA format with optional PCR amplification
boundaries set in the FASTA header; the syntax for the modified
description line is
</p><p><tt>>Name of DNA sequence 5prime_region[?-?] 3prime_region[?-?] page[?]</tt>
</p><p>where the optional page argument represents the PCR tab (thus 1
= Standard PCR, 2 = Bisulphite PCR, 3 = Real-time PCR, etc). An example
is:
</p><p><tt>>Contig2942 test file 5prime_region[53-185] 3prime_region[324-464]
GGTTCCAATGGAGTTGTGATAAACGAAGAGCAGCACAAGCTCCCAATACCAAATTTAGTACTACTGACCAATTATAAAGAGTAAATATAGAAGATT
AGGGTTTTAAGATCTCTAACAAAATTGCACTGGGAAGAATCTGGTTCTTCAATTTTCTGGGATTTATCAGATCTGAAGAAACTGAAGAGTGAAGTG
GTAATCGTTGATAAGTGTATGTTCAAGGGAGGATTGTTTGGATTTACTGAACTGTTGTTTGATGTGGTTTTGGAGAAGATAAGATCTGTGATTTGT
AAAACCCAAAACGGATTCTTTTTGTACTTGATTGATAGATCTTCAGTTTTTTTGGGAGTTGAATCAGTTATTGTTTAATTTAGAAATGGAGACACT
TGTTGTTGTTTCTCAGCATAAGAATCACTACTATGATAGAACTAGGGGTCAAGCTCCTATTCGATTTGGATCCTTTGGGTCACCTCCTTCTGTAGG
GTTCAAAGAGATAAATTGCCGGAATTTTGAATCAAGTGCCGGTATACTTCCTACCCCGTTAAAGGCCTATTCCACACCAGTCACTAAAAAGGGTTA
TTCATCCTCGTTTCGTTCCAAAACACCTTCACCCCCATCATCTATCCAGGGTAAATCTCACTCTGAAAGTCAAAAGAAGTCG</tt>
</p><p>To change the PCR amplification boundaries without resending the
DNA sequence, simply send the FASTA description line only. The modified
FASTA above can also be opened manually using the <img src="tutorial_files/open_dna_20.png"> button in the sequence boxes.
</p></div>
<p></p><div class="footer">© 2003-2005 Owen Marshall ... Last updated Fri Feb 4 16:46:40 2005</div>
</body></html>
|