Primer3

Input
Input file   Sequence
Database must already be formatted by formatdb.
PRIMER_MISPRIMING_LIBRARY   The name of a file containing a nucleotide sequence library of sequences to avoid amplifying (for example repetitive sequences, or possibly the sequences of genes in a gene family that should not be amplified.) The file must be in FASTA format.
Output
Result   Name of the output file
Options
TARGET   if one or more Targets is specified then a legal primer pair must flank at least one of them. A Target might be a simple sequence repeat site (for example a CA repeat) or a single-base-pair polymorphism. The value should be a space-separated list of
<start>,<length>
pairs where <start> is the index of the first base of a Target, and <length> is its length.
For backward compatibility Primer3 accepts (but ignores) a trailing ,<description> for each element of this argument.
EXCLUDED_REGION   Primer oligos may not overlap any region specified in this tag. The associated value must be a space-separated list of
<start>,<length>
pairs where <start> is the index of the first base of the excluded region, and <length> is its length. This tag is useful for tasks such as excluding regions of low sequence quality or for excluding regions containing repetitive elements such as ALUs or LINEs.
PRIMER_SEQUENCE_QUALITY   A list of space separated integers. There must be exactly one integer for each base in input sequence if this argument is non-empty. For example, for the sequence ANNTTCAG...
PRIMER_SEQUENCE_QUALITY might be 45 10 0 50 30 34 50 67 .... High numbers indicate high confidence in the base called at that position and low numbers indicate low confidence in the base call at that position. This parameter is only relevant if you are using a base calling program that provides quality information (for example phred).
PRIMER_LEFT_INPUT   The sequence of a left primer to check and around which to design right primers and optional internal oligos. Must be a substring of an input sequence.
PRIMER_RIGHT_INPUT   The sequence of a right primer to check and around which to design left primers and optional internal oligos. Must be a substring of the reverse strand of an input sequence.
PRIMER_START_CODON_POSITION   This parameter should be considered EXPERIMENTAL at this point. Please check the output carefully; some erroneous inputs might cause an error in Primer3.
Index of the first base of a start codon. This parameter allows Primer3 to select primer pairs to create in-frame amplicons e.g. to create a template for a fusion protein. Primer3 will attempt to select an in-frame left primer, ideally starting at or to the left of the start codon, or to the right if necessary. Negative values of this parameter are legal if the actual start codon is to the left of available sequence. If this parameter is non-negative Primer3 signals an error if the codon at the position specified by this parameter is not an ATG. A value less than or equal to -10^6 indicates that Primer3 should ignore this parameter.
Primer3 selects the position of the right primer by scanning right from the left primer for a stop codon. Ideally the right primer will end at or after the stop codon.
PRIMER_PICK_ANYWAY   If true pick a primer pair even if PRIMER_LEFT_INPUT, PRIMER_RIGHT_INPUT, or PRIMER_INTERNAL_OLIGO_INPUT violates specific constraints.
PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS   If set to 1, treat ambiguity codes as if they were consensus codes when matching oligos to mispriming or mishyb libraries. For example, if this flag is set, then a C in an oligo will be scored as a perfect match to an S in a library sequence, as will a G in the oligo. More importantly, though, any base in an oligo will be scored as a perfect match to an N in the library. This is very bad if the library contains strings of Ns, as no oligo will be legal (and it will take a long time to find this out). So unless you know for sure that your library does not have runs of Ns (or Xs), then set this flag to 0.
PRIMER_MAX_MISPRIMING   The maximum allowed weighted similarity with any sequence in PRIMER_MISPRIMING_LIBRARY.
PRIMER_MAX_TEMPLATE_MISPRIMING   The maximum allowed similarity to ectopic sites in the template. A negative value means do not check. The scoring system is the same as used for PRIMER_MAX_MISPRIMING, except that an ambiguity code in the template is never treated as a consensus (see PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS).
PRIMER_PAIR_MAX_MISPRIMING   The maximum allowed sum of similarities of a primer pair (one similarity for each primer) with any single sequence in PRIMER_MISPRIMING_LIBRARY. Library sequence weights are not used in computing the sum of similarities.
PRIMER_PAIR_MAX_TEMPLATE_MISPRIMING   The maximum allowed summed similarity of both primers to ectopic sites in the template. A negative value means do not check. The scoring system is the same as used for PRIMER_PAIR_MAX_MISPRIMING, except that an ambiguity code in the template is never treated as a consensus (see PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS). Primer3 does not check the similarity of hybridization oligos (internal oligos) to locations outside of the amplicon.
PRIMER_PRODUCT_MAX_TM   The maximum allowed melting temperature of the amplicon. Primer3 calculates product Tm calculated using the formula from Bolton and McCarthy, PNAS 84:1390 (1962) as presented in Sambrook, Fritsch and Maniatis, Molecular Cloning, p 11.46 (1989, CSHL Press).
Tm = 81.5 + 16.6(log10([Na+])) + .41*(%GC) - 600/length
Where [Na+] is the molar sodium concentration, (%GC) is the percent of Gs and Cs in the sequence, and length is the length of the sequence.
A similar formula is used by the prime primer selection program in GCG (http://www.gcg.com), which instead uses 675.0 / length in the last term (after F. Baldino, Jr, M.-F. Chesselet, and M.E. Lewis, Methods in Enzymology 168:766 (1989) eqn (1) on page 766 without the mismatch and formamide terms). The formulas here and in Baldino et al. assume Na+ rather than K+. According to J.G. Wetmur, Critical Reviews in BioChem. and Mol. Bio. 26:227 (1991) 50 mM K+ should be equivalent in these formulae to .2 M Na+. Primer3 uses the same salt concentration value for calculating both the primer melting temperature and the oligo melting temperature. If you are planning to use the PCR product for hybridization later this behavior will not give you the Tm under hybridization conditions.
PRIMER_PRODUCT_MIN_TM   The minimum allowed melting temperature of the amplicon. Please see the documentation on the maximum melting temperature of the product for details.
PRIMER_EXPLAIN_FLAG   If this flag is non-0, produce PRIMER_LEFT_EXPLAIN, PRIMER_RIGHT_EXPLAIN, and PRIMER_INTERNAL_OLIGO_EXPLAIN output tags, which are intended to provide information on the number of oligos and primer pairs that Primer3 examined, and statistics on the number discarded for various reasons. If format_output is set similar information is produced in the user-oriented output.
PRIMER_PRODUCT_SIZE_RANGE   The associated values specify the lengths of the product that the user wants the primers to create, and is a space separated list of elements of the form
<x>-<y>
where an <x>-<y> pair is a legal range of lengths for the product. For example, if one wants PCR products to be between 100 to 150 bases (inclusive) then one would set this parameter to 100-150. If one desires PCR products in either the range from 100 to 150 bases or in the range from 200 to 250 bases then one would set this parameter to 100-150 200-250.
Primer3 favors ranges to the left side of the parameter string. Primer3 will return legal primers pairs in the first range regardless the value of the objective function for these pairs. Only if there are an insufficient number of primers in the first range will Primer3 return primers in a subsequent range.
PRIMER_PICK_INTERNAL_OLIGO   If the associated value is non-0, then Primer3 will attempt to pick an internal oligo (hybridization probe to detect the PCR product). This tag is maintained for backward compatibility. Use PRIMER_TASK.
PRIMER_GC_CLAMP   Require the specified number of consecutive Gs and Cs at the 3' end of both the left and right primer. (This parameter has no effect on the internal oligo if one is requested.)
PRIMER_OPT_SIZE   Optimum length (in bases) of a primer oligo. Primer3 will attempt to pick primers close to this length.
PRIMER_DEFAULT_SIZE   A deprecated synonym for PRIMER_OPT_SIZE, maintained for v2 compatibility.
PRIMER_MIN_SIZE   Minimum acceptable length of a primer. Must be greater than 0 and less than or equal to PRIMER_MAX_SIZE.
PRIMER_MAX_SIZE   Maximum acceptable length (in bases) of a primer. Currently this parameter cannot be larger than 35. This limit is governed by maximum oligo size for which Primer3's melting-temperature is valid.
PRIMER_OPT_TM   Optimum melting temperature(Celsius) for a primer oligo. Primer3 will try to pick primers with melting temperatures are close to this temperature. The oligo melting temperature formula in Primer3 is that given in Rychlik, Spencer and Rhoads, Nucleic Acids Research, 18(21): 6409-6412 and Breslauer, Frank, Bloeker and Marky, PNAS, 83: 3746-3750. Please refer to the former paper for background discussion.
PRIMER_MIN_TM   Minimum acceptable melting temperature(Celsius) for a primer oligo.
PRIMER_MAX_TM   Maximum acceptable melting temperature(Celsius) for a primer oligo.
PRIMER_MAX_DIFF_TM   Maximum acceptable (unsigned) difference between the melting temperatures of the left and right primers.
PRIMER_MIN_GC   Minimum allowable percentage of Gs and Cs in any primer.
PRIMER_OPT_GC_PERCENT   Optimum GC percent. This parameter influences primer selection only if PRIMER_WT_GC_PERCENT_GT or PRIMER_WT_GC_PERCENT_LT are non-0.
PRIMER_MAX_GC   Maximum allowable percentage of Gs and Cs in any primer generated by Primer.
PRIMER_SALT_CONC   The millimolar concentration of salt (usually KCl) in the PCR. Primer3 uses this argument to calculate oligo melting temperatures.
PRIMER_DNA_CONC   The nanomolar concentration of annealing oligos in the PCR. Primer3 uses this argument to calculate oligo melting temperatures. The default (50nM) works well with the standard protocol used at the Whitehead/MIT Center for Genome Research--0.5 microliters of 20 micromolar concentration for each primer oligo in a 20 microliter reaction with 10 nanograms template, 0.025 units/microliter Taq polymerase in 0.1 mM each dNTP, 1.5mM MgCl2, 50mM KCl, 10mM Tris-HCL (pH 9.3) using 35 cycles with an annealing temperature of 56 degrees Celsius. This parameter corresponds to 'c' in Rychlik, Spencer and Rhoads' equation (ii) (Nucleic Acids Research, 18(21): 6409-6412) where a suitable value (for a lower initial concentration of template) is "empirically determined". The value of this parameter is less than the actual concentration of oligos in the reaction because it is the concentration of annealing oligos, which in turn depends on the amount of template (including PCR product) in a given cycle. This concentration increases a great deal during a PCR; fortunately PCR seems quite robust for a variety of oligo melting temperatures.
PRIMER_NUM_NS_ACCEPTED   Maximum number of unknown bases (N) allowable in any primer.
PRIMER_SELF_ANY   The maximum allowable local alignment score when testing a single primer for (local) self-complementarity and the maximum allowable local alignment score when testing for complementarity between left and right primers. Local self-complementarity is taken to predict the tendency of primers to anneal to each other without necessarily causing self-priming in the PCR. The scoring system gives 1.00 for complementary bases, -0.25 for a match of any base (or N) with an N, -1.00 for a mismatch, and -2.00 for a gap. Only single-base-pair gaps are allowed. For example, the alignment

 5' ATCGNA 3'
    || | |
 3' TA-CGT 5'
is allowed (and yields a score of 1.75), but the alignment

 5' ATCCGNA 3'
    ||  | |
 3' TA--CGT 5'
is not considered. Scores are non-negative, and a score of 0.00 indicates that there is no reasonable local alignment between two oligos.
PRIMER_SELF_END   The maximum allowable 3'-anchored global alignment score when testing a single primer for self-complementarity, and the maximum allowable 3'-anchored global alignment score when testing for complementarity between left and right primers. The 3'-anchored global alignment score is taken to predict the likelihood of PCR-priming primer-dimers, for example

 5' ATGCCCTAGCTTCCGGATG 3'
              ||| |||||
           3' AAGTCCTACATTTAGCCTAGT 5'
or

 5` AGGCTATGGGCCTCGCGA 3'
                ||||||
             3' AGCGCTCCGGGTATCGGA 5'
The scoring system is as for the Maximum Complementarity argument. In the examples above the scores are 7.00 and 6.00 respectively. Scores are non-negative, and a score of 0.00 indicates that there is no reasonable 3'-anchored global alignment between two oligos. In order to estimate 3'-anchored global alignments for candidate primers and primer pairs, Primer assumes that the sequence from which to choose primers is presented 5'->3'. It is nonsensical to provide a larger value for this parameter than for the Maximum (local) Complementarity parameter because the score of a local alignment will always be at least as great as the score of a global alignment.
PRIMER_MAX_POLY_X   The maximum allowable length of a mononucleotide repeat, for example AAAAAA.
PRIMER_LIBERAL_BASE   This parameter provides a quick-and-dirty way to get Primer3 to accept IUB / IUPAC codes for ambiguous bases (i.e. by changing all unrecognized bases to N). If you wish to include an ambiguous base in an oligo, you must set PRIMER_NUM_NS_ACCEPTED to a non-0 value.
Perhaps '-' and '* ' should be squeezed out rather than changed to 'N', but currently they simply get converted to N's. The authors invite user comments.
PRIMER_NUM_RETURN   The maximum number of primer pairs to return. Primer pairs returned are sorted by their "quality", in other words by the value of the objective function (where a lower number indicates a better primer pair). Caution: setting this parameter to a large value will increase running time.
PRIMER_FIRST_BASE_INDEX   This parameter is the index of the first base in the input sequence. For input and output using 1-based indexing (such as that used in GenBank and to which many users are accustomed) set this parameter to 1. For input and output using 0-based indexing set this parameter to 0. (This parameter also affects the indexes in the contents of the files produced when the primer file flag is set.)
PRIMER_MIN_QUALITY   The minimum sequence quality (as specified by PRIMER_SEQUENCE_QUALITY) allowed within a primer.
PRIMER_MIN_END_QUALITY   The minimum sequence quality (as specified by PRIMER_SEQUENCE_QUALITY) allowed within the 5' pentamer of a primer.
PRIMER_QUALITY_RANGE_MIN   The minimum legal sequence quality (used for error checking of PRIMER_MIN_QUALITY and PRIMER_MIN_END_QUALITY).
PRIMER_INSIDE_PENALTY   This experimental parameter might not be maintained in this form in the next release. Non-default values valid only for sequences with 0 or 1 target regions. If the primer is part of a pair that spans a target and overlaps the target, then multiply this value times the number of nucleotide positions by which the primer overlaps the (unique) target to get the 'position penalty'. The effect of this parameter is to allow Primer3 to include overlap with the target as a term in the objective function.
PRIMER_OUTSIDE_PENALTY   This experimental parameter might not be maintained in this form in the next release. Non-default values valid only for sequences with 0 or 1 target regions. If the primer is part of a pair that spans a target and does not overlap the target, then multiply this value times the number of nucleotide positions from the 3' end to the (unique) target to get the 'position penalty'. The effect of this parameter is to allow Primer3 to include nearness to the target as a term in the objective function.
PRIMER_MAX_END_STABILITY   The maximum stability for the five 3' bases of a left or right primer. Bigger numbers mean more stable 3' ends. The value is the maximum delta G for duplex disruption for the five 3' bases as calculated using the nearest neighbor parameters published in Breslauer, Frank, Bloeker and Marky, Proc. Natl. Acad. Sci. USA, vol 83, pp 3746-3750. Primer3 uses a completely permissive default value for backward compatibility (which we may change in the next release). Rychlik recommends a maximum value of 9 (Wojciech Rychlik, "Selection of Primers for Polymerase Chain Reaction" in BA White, Ed., "Methods in Molecular Biology, Vol. 15: PCR Protocols: Current Methods and Applications", 1993, pp 31-40, Humana Press, Totowa NJ).
PRIMER_PRODUCT_OPT_TM   The optimum melting temperature for the PCR product. 0 indicates that there is no optimum temperature.
PRIMER_PRODUCT_OPT_SIZE   The optimum size for the PCR product. 0 indicates that there is no optimum product size. This parameter influences primer pair selection only
if PRIMER_PAIR_WT_PRODUCT_SIZE_GT or
PRIMER_PAIR_WT_PRODUCT_SIZE_LT is non-0.
PRIMER_TASK   Tell Primer3 what task to perform. The tasks should be self explanatory, except that we note that pick_pcr_primers_and_hyb_probe is equivalent to the setting PRIMER_PICK_INTERNAL_OLIGO to a non-zero value and setting PRIMER_TASK to pick_pcr_primers.
pick_pcr_primers  PRIMER_TASK
pick_pcr_primers_and_hyb_probe  PRIMER_TASK
pick_left_only  PRIMER_TASK
pick_right_only  PRIMER_TASK
pick_hyb_probe_only  PRIMER_TASK
PRIMER_WT_TM_GT   Penalty weight for primers with Tm over PRIMER_OPT_TM.
PRIMER_WT_TM_LT   Penalty weight for primers with Tm under PRIMER_OPT_TM.
PRIMER_WT_SIZE_LT   Penalty weight for primers shorter than PRIMER_OPT_SIZE.
PRIMER_WT_SIZE_GT   Penalty weight for primers longer than PRIMER_OPT_SIZE.
PRIMER_WT_GC_PERCENT_LT   Penalty weight for primers with GC percent greater than PRIMER_OPT_GC_PERCENT.
PRIMER_WT_GC_PERCENT_GT   Penalty weight for primers with GC percent greater than PRIMER_OPT_GC_PERCENT.
PRIMER_INTERNAL_OLIGO_EXCLUDED_REGION   Middle oligos may not overlap any region specified by this tag. The associated value must be a space-separated list of
<start>,<length>
pairs, where <start> is the index of the first base of an excluded region, and <length> is its length. Often one would make Target regions excluded regions for internal oligos.
PRIMER_INTERNAL_OLIGO_INPUT   The sequence of an internal oligo to check and around which to design left and right primers. Must be a substring of SEQUENCE.
PRIMER_INTERNAL_OLIGO_MISHYB_LIBRARY   Similar to PRIMER_MISPRIMING_LIBRARY, except that the event we seek to avoid is hybridization of the internal oligo to sequences in this library rather than priming from them.
PRIMER_INTERNAL_OLIGO_MAX_MISHYB   Similar to PRIMER_MAX_MISPRIMING except that this parameter applies to the similarity of candidate internal oligos to the library specified in PRIMER_INTERNAL_OLIGO_MISHYB_LIBRARY.
PRIMER_INTERNAL_OLIGO_MIN_QUALITY   (Note that there is no PRIMER_INTERNAL_OLIGO_MIN_END_QUALITY.)