PCR Suite consists of 4 interfaces to the Whitehead's Primer3 program, available at prcsuite.cse.ucsc.edu. The PCR Suite software contains a main program that determines which of the 4 interfaces will be used, and a number of subroutines to format the input for Primer3.
Warning: the program does NOT do any masking of the sequence, and it does not contain a mispriming library for checking the primers. Sequences should be repeat masked before uploading via the website.
Primer3 has many parameters that may be changed by the user. For simplicity, not all of these parameters can be changed in the PCR Suite. The parameters available on the input forms are:
The PCR Suite default parameters are more stringent than the default Primer3 parameters, because we found in the lab that these values result in better primer sets (i.e. sets that usually give a good PCR product).
A number of parameters cannot be changed by the user in the PCR Suite:
Some parameters are changed depending on the interface used:
|PRIMER_SEQUENCE_ID||as listed in GenBank file|
|EXCLUDED_REGION||all SNP positions|
|TARGET||exon plus flanking|
|SEQUENCE||exon plus 200 bp on each side|
|PRIMER_SEQUENCE_ID||PCR product nr|
|SEQUENCE||from GenBank record|
And depending on input:
|PRIMER_PRODUCT_OPT_SIZE||size of input sequence|
Input: GenBank file containing region of interest.
The program starts by selecting
all the variations in the input GenBank file. It then removes all SNPs that are
marked 'ambiguous', because the real positions of these SNPs are unclear. The positions of the SNPs in the sequence is put in the
EXCLUDED_REGION parameter, to avoid primers in these regions.
The Primer3 program is run for each SNP. The TARGET (the region between the primers) is the SNP. The SEQUENCE is the SNP plus the maximum product size on each side, selected from the GenBank sequence.
The Primer3 output is formatted for the HTML page: The primers and SNP are shown in color in their target sequence.
Input: GenBank file and gene name.
After checking if the gene name appears in the GenBank file,
the program stores the selected product size range and flanking size. The
flanking size is a number of nucleotides (max 100) added to each side of the
exon, to allow screening intron/exon boundaries or nearby intronic regions. The
sequence of each exon is selected from the GenBank file, together with 200 nt flanking sequence. If the gene is on the reverse strand,
the exons are reversed, so that the output presents the exons in their 5' to 3'
Primer 3 is run for each exon separately. The TARGET is the exon plus the flanking size, the SEQUENCE is the exon plus 200 nt sequence on each side, selected from the GenBank sequence.
The Primer3 output is formatted for the HTML page: Primers are shown in color and the exons in uppercase. The cDNA (all exons concatenated) is shown at the bottom of the page.
Input: a sequence and a target region.
The sequence is first 'cleaned': FASTA headers, numbers and spaces are removed. The program then takes the sequence and the selected target region, and the product size range. It then sets TARGET to the start of the specified target and the size of the smallest acceptable product size (the first number of the PRIMER_PRODUCT_SIZE_RANGE as set on the form). So, if the target is '50, 1500' and the size range is '250-400', TARGET becomes '50, 250'. Primer3 is run with these settings. If a primer set is found, the sequence is trimmed at the 5' end: everything before the position of the reverse primer minus the maximum allowed overlap is removed. The TARGET now becomes the length of the overlap (overlap_hi minus overlap_lo) and the size of the smallest acceptable product size.
Sequence is 2000 nt, target is '10, 1500', overlap range is '20-50' and product size range is '250-400'.Primer3 is run with TARGET 50, 250 and returns a product that runs from 30-400 (note that the size of the product is within the product size range).The sequence is now trimmed: 400-50= 350 nt are removed from the 5' end. Primer3 is run again, now with TARGET (50-20=)30, 250.
The program keeps track of the position of each PCR product
in the original sequence, and if the reverse primer is past the original
target, it exits the loop.
If Primer3 does not return a primer set for any of the TARGETs, the input sequence is 5' trimmed with a length of product_size_lo (250 in our example). This results in a piece of sequence that is not 'covered' by primer sets, and the output is formatted so that these regions are easily visible. It is then possible to rerun Primer3 for those parts of the sequence, or to rerun the whole sequence with less stringent parameters.
The output is formatted to show each PCR product with the primers in uppercase, and at the bottom of the HTML page the whole sequence is shown, with the selected target in uppercase and the covered regions in blue.
Input: a list of cDNA sequences in GenBank format.
The program designs primers around the open reading frames
of each cDNA in the list, unless the ORF is larger than the specified maximum
First, the name of the gene, the sequence and the position of the ORF are extracted from each GenBank record. If the size of the ORF exceeds the maximum product size, a warning is issued and the program continues with the next cDNA. Warnings are also generated when the record does not contain an ORF.
If the size of the ORF is identical to the size of the sequence, the program sets the PRIMER_PRODUCT_OPT_SIZE parameter to the sequence size. The penalty parameters RIMER_PAIR_WT_PRODUCT_SIZE_GT and _LT are set to 0.05. This ensures that Primer3 creates the largest possible product within the sequence. If the ORF is within the sequence, these parameters are not set, and Primer3 is run with the size range parameter only.
The Primer3 output is formatted for the HTML page: Primers and ORF are shown in color and uppercase in the input sequence.