The PCR Suite - details on the program

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:

Default Values
Name PCR Suite Primer3
PRIMER_OPT_SIZE 20 20
PRIMER_MIN_SIZE 18 18
PRIMER_MAX_SIZE 23 27
PRIMER_OPT_TM 60 60
PRIMER_MIN_TM 55 57
PRIMER_MAX_TM 65 63
PRIMER_MAX_DIFF_TM 5 100
PRIMER_SELF_ANY 6.00 8.00
PRIMER_SELF_END 3.00 3.00
PRIMER_MAX_POLY_X 4 5
PRIMER_MAX_DIFF_TM 5 100
PRIMER_MIN_GC 30 20
PRIMER_MAX_GC 70 80
PRIMER_GC_CLAMP 0 0

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:

Name PCR Suite Primer3
PRIMER_MAX_END_STABILITY 9 9
PRIMER_NUM_RETURN 1 5

Some parameters are changed depending on the interface used:

SNP_Primers:

PRIMER_PRODUCT_SIZE_RANGE 250-400
PRIMER_SEQUENCE_ID as listed in GenBank file
TARGET see below
EXCLUDED_REGION all SNP positions
SEQUENCE see below

Genomic_Primers:

PRIMER_PRODUCT_SIZE_RANGE 250-400
PRIMER_SEQUENCE_ID exon nr
TARGET exon plus flanking
SEQUENCE exon plus 200 bp on each side

Overlapping_Primersets:

PRIMER_PRODUCT_SIZE_RANGE 250-400
PRIMER_SEQUENCE_ID PCR product nr
TARGET user input
SEQUENCE user input

SNP Primers

PRIMER_PRODUCT_SIZE_RANGE 250-800
SEQUENCE from GenBank record

And depending on input:

PRIMER_PRODUCT_OPT_SIZE size of input sequence
PRIMER_PAIR_WT_PRODUCT_SIZE_GT 0.05
PRIMER_PAIR_WT_PRODUCT_SIZE_LT 0.05

A description of each interface follows below.

SNP Primers

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.


Genomic Primers

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' order.
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.


Overlapping Primers

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.

Example:

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.


cDNA primers

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 product size.
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.