| eprimer3

## Wiki

The master copies of EMBOSS documentation are available at http://emboss.open-bio.org/wiki/Appdocs on the EMBOSS Wiki.

Please help by correcting and extending the Wiki pages.

## Function

Pick PCR primers and hybridization oligos

## Description

eprimer3 is an interface to the 'primer3' program from the Whitehead Institute.

The Whitehead program must be set up and on the path in order for eprimer3 to find and run it.

Primer3 picks primers for PCR reactions, considering as criteria:

- oligonucleotide melting temperature, size, GC content, and primer-dimer possibilities
- PCR product size
- positional constraints within the source sequence
- miscellaneous other constraints.

All of these criteria are user-specifiable as constraints.

eprimer3 can also pick hybridisation oligos that are internal to the product.

### Advice for picking primers

We suggest referring to: 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

#### Cautions

Some of the most important issues in primer picking can be addressed only before using eprimer3. These are sequence quality (including making sure the sequence is not vector and not chimeric) and avoiding repetitive elements.

Techniques for avoiding problems include a thorough understanding of possible vector contaminants and cloning artifacts coupled with database searches using blast, fasta, or other similarity searching program to screen for vector contaminants and possible repeats. Repbase (J. Jurka, A.F.A. Smit, C. Pethiyagoda, and others, 1995-1996, ftp://ncbi.nlm.nih.gov/repository/repbase) is an excellent source of repeat sequences and pointers to the literature. eprimer3 now allows you to screen candidate oligos against a Mispriming Library (or a Mishyb Library in the case of internal oligos).

Sequence quality can be controlled by manual trace viewing and quality clipping or automatic quality clipping programs. Low- quality bases should be changed to N's or can be made part of Excluded Regions. The beginning of a sequencing read is often problematic because of primer peaks, and the end of the read often contains many low-quality or even meaningless called bases. Therefore when picking primers from single-pass sequence it is often best to use the INCLUDED_REGION parameter to ensure that eprimer3 chooses primers in the high quality region of the read.

In addition, eprimer3 takes as input a Sequence Quality list for use with those base calling programs

(e.g. Phred, Bass/Grace, Trout) that output this information.

#### What to do if eprimer3 cannot find a primers?

Try relaxing various parameters, including the self-complementarity parameters and max and min oligo melting temperatures. For example, for very A-T-rich regions you might have to increase maximum primer size or decrease minimum melting temperature. It is usually unwise to reduce the minimum primer size if your template is complex (e.g. a mammalian genome), since small primers are more likely to be non-specific. Make sure that there are adequate stretches of non-Ns in the regions in which you wish to pick primers. If necessary you can also allow an N in your primer and use an oligo mixture containing all four bases at that position.

Try setting the '-explainflag' option.

## Usage

Here is a sample session with eprimer3

    % eprimer3 tembl:x65921 x65921.eprimer3 -explain
    Pick PCR primers and hybridization oligos

Go to the input files for this example
Go to the output files for this example

## Command line arguments

    Pick PCR primers and hybridization oligos
    Version: EMBOSS:6.6.0.0

       Standard (Mandatory) qualifiers:
      [-sequence]          seqall     The sequence from which to choose primers.
                                      The sequence must be presented 5' to 3'
      [-outfile]           outfile    [*.eprimer3] Whitehead primer3_core program
                                      output file

       Additional (Optional) qualifiers (* if not always prompted):
       -[no]primer         toggle     [Y] Tell EPrimer3 to pick primer(s)
    *  -task               menu       [1] Tell EPrimer3 what task to perform.
                                      Legal values are 1: 'Pick PCR primers', 2:
                                      'Pick forward primer only', 3: 'Pick reverse
                                      primer only', 4: 'No primers needed'.
                                      (Values: 1 (Pick PCR primers); 2 (Pick
                                      forward primer only); 3 (Pick reverse primer
                                      only); 4 (No primers needed))
       -hybridprobe        toggle     [N] An 'internal oligo' is intended to be
                                      used as a hybridization probe (hyb probe) to
                                      detect the PCR product after amplification.
    *  -mishyblibraryfile  infile     Similar to 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.
                                      The file must be in (a slightly restricted)
                                      FASTA format (W. B. Pearson and D.J. Lipman,
                                      PNAS 85:8 pp 2444-2448 [1988]); we briefly
                                      discuss the organization of this file below.
                                      If this parameter is specified then
                                      EPrimer3 locally aligns each candidate oligo
                                      against each library sequence and rejects
                                      those primers for which the local alignment
                                      score times a specified weight (see below)
                                      exceeds INTERNAL-OLIGO-MAX-MISHYB. (The
                                      maximum value of the weight is arbitrarily
                                      set to 12.0.)
                                      Each sequence entry in the FASTA-format file
                                      must begin with an 'id line' that starts
                                      with '>'. The contents of the id line is
                                      'slightly restricted' in that EPrimer3
                                      parses everything after any optional
                                      asterisk ('*') as a floating point number to
                                      use as the weight mentioned above. If the
                                      id line contains no asterisk then the weight
                                      defaults to 1.0. The alignment scoring
                                      system used is the same as for calculating
                                      complementarity among oligos (e.g.
                                      SELF-ANY). The remainder of an entry
                                      contains the sequence as lines following the
                                      id line up until a line starting with '>'
                                      or the end of the file. Whitespace and
                                      newlines are ignored. Characters 'A', 'T',
                                      'G', 'C', 'a', 't', 'g', 'c' are retained
                                      and any other character is converted to 'N'
                                      (with the consequence that any IUB / IUPAC
                                      codes for ambiguous bases are converted to
                                      'N'). There are no restrictions on line
                                      length.
                                      An empty value for this parameter indicates
                                      that no library should be used.
       -numreturn          integer    [5] 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. (Integer 0
                                      or more)
       -includedregion     range      [(full sequence)] A sub-region of the given
                                      sequence in which to pick primers. For
                                      example, often the first dozen or so bases
                                      of a sequence are vector, and should be
                                      excluded from consideration. The value for
                                      this parameter has the form
                                      (start),(end)
                                      where (start) is the index of the first base
                                      to consider, and (end) is the last in the
                                      primer-picking region.
       -targetregion       range      [(full sequence)] 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),(end)
                                      pairs where (start) is the index of the
                                      first base of a Target, and (end) is the
                                      last
                                      E.g. 50,51 requires primers to surround the
                                      2 bases at positions 50 and 51.
       -excludedregion     range      [(full sequence)] Primer oligos may not
                                      overlap any region specified in this tag.
                                      The associated value must be a
                                      space-separated list of
                                      (start),(end)
                                      pairs where (start) is the index of the
                                      first base of the excluded region, and and
                                      (end) is the last. 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.
                                      E.g. 401,407 68,70 forbids selection of
                                      primers in the 7 bases starting at 401 and
                                      the 3 bases at 68.
       -forwardinput       string     The sequence of a forward primer to check
                                      and around which to design reverse primers
                                      and optional internal oligos. Must be a
                                      substring of SEQUENCE. (Any string)
       -reverseinput       string     The sequence of a reverse primer to check
                                      and around which to design forward primers
                                      and optional internal oligos. Must be a
                                      substring of the reverse strand of SEQUENCE.
                                      (Any string)
    *  -gcclamp            integer    [0] Require the specified number of
                                      consecutive Gs and Cs at the 3' end of both
                                      the forward and reverse primer. (This
                                      parameter has no effect on the internal
                                      oligo if one is requested.) (Integer 0 or
                                      more)
    *  -optsize            integer    [20] Optimum length (in bases) of a primer
                                      oligo. EPrimer3 will attempt to pick primers
                                      close to this length. (Integer 0 or more)
    *  -minsize            integer    [18] Minimum acceptable length of a primer.
                                      Must be greater than 0 and less than or
                                      equal to MAX-SIZE. (Integer 1 or more)
    *  -maxsize            integer    [27] Maximum acceptable length (in bases) of
                                      a primer. Currently this parameter cannot
                                      be larger than 35. This limit is governed by
                                      the maximum oligo size for which EPrimer3's
                                      melting-temperature is valid. (Integer up
                                      to 35)
    *  -opttm              float      [60.0] Optimum melting temperature(Celsius)
                                      for a primer oligo. EPrimer3 will try to
                                      pick primers with melting temperatures are
                                      close to this temperature. The oligo melting
                                      temperature formula in EPrimer3 is that
                                      given in Rychlik, Spencer and Rhoads,
                                      Nucleic Acids Research, vol 18, num 21, pp
                                      6409-6412 and Breslauer, Frank, Bloecker and
                                      Marky, Proc. Natl. Acad. Sci. USA, vol 83,
                                      pp 3746-3750. Please refer to the former
                                      paper for background discussion. (Any
                                      numeric value)
    *  -mintm              float      [57.0] Minimum acceptable melting
                                      temperature(Celsius) for a primer oligo.
                                      (Any numeric value)
    *  -maxtm              float      [63.0] Maximum acceptable melting
                                      temperature(Celsius) for a primer oligo.
                                      (Any numeric value)
    *  -maxdifftm          float      [100.0] Maximum acceptable (unsigned)
                                      difference between the melting temperatures
                                      of the forward and reverse primers. (Any
                                      numeric value)
    *  -ogcpercent         float      [50.0] Primer optimum GC percent. (Any
                                      numeric value)
    *  -mingc              float      [20.0] Minimum allowable percentage of Gs
                                      and Cs in any primer. (Any numeric value)
    *  -maxgc              float      [80.0] Maximum allowable percentage of Gs
                                      and Cs in any primer generated by Primer.
                                      (Any numeric value)
    *  -saltconc           float      [50.0] The millimolar concentration of salt
                                      (usually KCl) in the PCR. EPrimer3 uses this
                                      argument to calculate oligo melting
                                      temperatures. (Any numeric value)
    *  -dnaconc            float      [50.0] The nanomolar concentration of
                                      annealing oligos in the PCR. EPrimer3 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, vol
                                      18, num 21) 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.
                                      See ADVICE FOR PICKING PRIMERS. (Any numeric
                                      value)
    *  -maxpolyx           integer    [5] The maximum allowable length of a
                                      mononucleotide repeat in a primer, for
                                      example AAAAAA. (Integer 0 or more)
    *  -psizeopt           integer    [200] The optimum size for the PCR product.
                                      0 indicates that there is no optimum product
                                      size. (Integer 0 or more)
    *  -prange             range      [100-300] 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.
                                      EPrimer3 favors ranges to the left side of
                                      the parameter string. EPrimer3 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 EPrimer3 return primers in
                                      a subsequent range.
    *  -ptmopt             float      [0.0] The optimum melting temperature for
                                      the PCR product. 0 indicates that there is
                                      no optimum temperature. (Any numeric value)
    *  -ptmmin             float      [-1000000.0] The minimum allowed melting
                                      temperature of the amplicon. Please see the
                                      documentation on the maximum melting
                                      temperature of the product for details. (Any
                                      numeric value)
    *  -ptmmax             float      [1000000.0] The maximum allowed melting
                                      temperature of the amplicon. Product Tm is
                                      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, 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+. EPrimer3 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. (Any numeric
                                      value)
    *  -oexcludedregion    range      [(full sequence)] Middle oligos may not
                                      overlap any region specified by this tag.
                                      The associated value must be a
                                      space-separated list of
                                      (start),(end)
                                      pairs, where (start) is the index of the
                                      first base of an excluded region, and (end)
                                      is the last. Often one would make Target
                                      regions excluded regions for internal
                                      oligos.
    *  -oligoinput         string     The sequence of an internal oligo to check
                                      and around which to design forward and
                                      reverse primers. Must be a substring of
                                      SEQUENCE. (Any string)
    *  -osizeopt           integer    [20] Optimum length (in bases) of an
                                      internal oligo. EPrimer3 will attempt to
                                      pick primers close to this length. (Integer
                                      0 or more)
    *  -ominsize           integer    [18] Minimum acceptable length of an
                                      internal oligo. Must be greater than 0 and
                                      less than or equal to
                                      INTERNAL-OLIGO-MAX-SIZE. (Integer 0 or more)
    *  -omaxsize           integer    [27] Maximum acceptable length (in bases) of
                                      an internal oligo. Currently this parameter
                                      cannot be larger than 35. This limit is
                                      governed by maximum oligo size for which
                                      EPrimer3's melting-temperature is valid.
                                      (Integer up to 35)
    *  -otmopt             float      [60.0] Optimum melting temperature (Celsius)
                                      for an internal oligo. EPrimer3 will try to
                                      pick oligos with melting temperatures that
                                      are close to this temperature. The oligo
                                      melting temperature formula in EPrimer3 is
                                      that given in Rychlik, Spencer and Rhoads,
                                      Nucleic Acids Research, vol 18, num 21, pp
                                      6409-6412 and Breslauer, Frank, Bloecker and
                                      Marky, Proc. Natl. Acad. Sci. USA, vol 83,
                                      pp 3746-3750. Please refer to the former
                                      paper for background discussion. (Any
                                      numeric value)
    *  -otmmin             float      [57.0] Minimum acceptable melting
                                      temperature(Celsius) for an internal oligo.
                                      (Any numeric value)
    *  -otmmax             float      [63.0] Maximum acceptable melting
                                      temperature (Celsius) for an internal oligo.
                                      (Any numeric value)
    *  -ogcopt             float      [50.0] Internal oligo optimum GC percent.
                                      (Any numeric value)
    *  -ogcmin             float      [20.0] Minimum allowable percentage of Gs
                                      and Cs in an internal oligo. (Any numeric
                                      value)
    *  -ogcmax             float      [80.0] Maximum allowable percentage of Gs
                                      and Cs in any internal oligo generated by
                                      Primer. (Any numeric value)
    *  -osaltconc          float      [50.0] The millimolar concentration of salt
                                      (usually KCl) in the hybridization. EPrimer3
                                      uses this argument to calculate internal
                                      oligo melting temperatures. (Any numeric
                                      value)
    *  -odnaconc           float      [50.0] The nanomolar concentration of
                                      annealing internal oligo in the
                                      hybridization. (Any numeric value)
    *  -oanyself           float      [12.00] The maximum allowable local
                                      alignment score when testing an internal
                                      oligo for (local) self-complementarity.
                                      Local self-complementarity is taken to
                                      predict the tendency of oligos to anneal to
                                      themselves 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. (Number up to 9999.990)
    *  -oendself           float      [12.00] The maximum allowable 3'-anchored
                                      global alignment score when testing a single
                                      oligo for self-complementarity.
                                      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
                                      oligos, Primer assumes that the sequence
                                      from which to choose oligos is presented 5'
                                      to 3'.
                                      INTERNAL-OLIGO-SELF-END is meaningless when
                                      applied to internal oligos used for
                                      hybridization-based detection, since
                                      primer-dimer will not occur. We recommend
                                      that INTERNAL-OLIGO-SELF-END be set at least
                                      as high as INTERNAL-OLIGO-SELF-ANY. (Number
                                      up to 9999.990)
    *  -opolyxmax          integer    [5] The maximum allowable length of an
                                      internal oligo mononucleotide repeat, for
                                      example AAAAAA. (Integer 0 or more)
    *  -omishybmax         float      [12.0] Similar to MAX-MISPRIMING except that
                                      this parameter applies to the similarity of
                                      candidate internal oligos to the library
                                      specified in INTERNAL-OLIGO-MISHYB-LIBRARY.
                                      (Number up to 9999.990)

       Advanced (Unprompted) qualifiers:
       -mispriminglibraryfile infile     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 (a slightly
                                      restricted) FASTA format (W. B. Pearson and
                                      D.J. Lipman, PNAS 85:8 pp 2444-2448 [1988]);
                                      we briefly discuss the organization of this
                                      file below. If this parameter is specified
                                      then EPrimer3 locally aligns each candidate
                                      primer against each library sequence and
                                      rejects those primers for which the local
                                      alignment score times a specified weight
                                      (see below) exceeds MAX-MISPRIMING. (The
                                      maximum value of the weight is arbitrarily
                                      set to 100.0.)
                                      Each sequence entry in the FASTA-format file
                                      must begin with an 'id line' that starts
                                      with '>'. The contents of the id line is
                                      'slightly restricted' in that EPrimer3
                                      parses everything after any optional
                                      asterisk ('*') as a floating point number to
                                      use as the weight mentioned above. If the
                                      id line contains no asterisk then the weight
                                      defaults to 1.0. The alignment scoring
                                      system used is the same as for calculating
                                      complementarity among oligos (e.g.
                                      SELF-ANY). The remainder of an entry
                                      contains the sequence as lines following the
                                      id line up until a line starting with '>'
                                      or the end of the file. Whitespace and
                                      newlines are ignored. Characters 'A', 'T',
                                      'G', 'C', 'a', 't', 'g', 'c' are retained
                                      and any other character is converted to 'N'
                                      (with the consequence that any IUB / IUPAC
                                      codes for ambiguous bases are converted to
                                      'N'). There are no restrictions on line
                                      length.
                                      An empty value for this parameter indicates
                                      that no repeat library should be used.
       -explainflag        boolean    [N] If this flag is true, produce
                                      LEFT-EXPLAIN, RIGHT-EXPLAIN, and
                                      INTERNAL-OLIGO-EXPLAIN output tags, which
                                      are intended to provide information on the
                                      number of oligos and primer pairs that
                                      EPrimer3 examined, and statistics on the
                                      number discarded for various reasons.
       -fileflag           boolean    [N] If the associated value is true, then
                                      EPrimer3 creates two output files for each
                                      input SEQUENCE. File (sequence-id).for lists
                                      all acceptable forward primers for
                                      (sequence-id), and (sequence-id).rev lists
                                      all acceptable reverse primers for
                                      (sequence-id), where (sequence-id) is the
                                      value of the SEQUENCE-ID tag (which must be
                                      supplied). In addition, if the input tag
                                      TASK is 1 or 4, EPrimer3 produces a file
                                      (sequence-id).int, which lists all
                                      acceptable internal oligos.
       -firstbaseindex     integer    [1] 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.) (Any integer value)
       -pickanyway         boolean    [N] If true pick a primer pair even if
                                      LEFT-INPUT, RIGHT-INPUT, or
                                      INTERNAL-OLIGO-INPUT violates specific
                                      constraints.
       -maxmispriming      float      [12.00] The maximum allowed weighted
                                      similarity with any sequence in
                                      MISPRIMING-LIBRARY. (Number up to 9999.990)
       -pairmaxmispriming  float      [24.00] The maximum allowed sum of weighted
                                      similarities of a primer pair (one
                                      similarity for each primer) with any single
                                      sequence in MISPRIMING-LIBRARY. (Number up
                                      to 9999.990)
       -numnsaccepted      integer    [0] Maximum number of unknown bases (N)
                                      allowable in any primer. (Integer 0 or more)
       -selfany            float      [8.00] 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 forward
                                      and reverse 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. (Number from 0.000 to 9999.990)
       -selfend            float      [3.00] 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 forward and reverse
                                      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' to 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. (Number 0.000 or more)
       -maxendstability    float      [9.0] The maximum stability for the five 3'
                                      bases of a forward or reverse 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,
                                      Bloecker and Marky, Proc. Natl. Acad. Sci.
                                      USA, vol 83, pp 3746-3750. EPrimer3 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). (Number up
                                      to 1000.000)

       Associated qualifiers:

       "-sequence" associated qualifiers
       -sbegin1            integer    Start of each sequence to be used
       -send1              integer    End of each sequence to be used
       -sreverse1          boolean    Reverse (if DNA)
       -sask1              boolean    Ask for begin/end/reverse
       -snucleotide1       boolean    Sequence is nucleotide
       -sprotein1          boolean    Sequence is protein
       -slower1            boolean    Make lower case
       -supper1            boolean    Make upper case
       -scircular1         boolean    Sequence is circular
       -squick1            boolean    Read id and sequence only
       -sformat1           string     Input sequence format
       -iquery1            string     Input query fields or ID list
       -ioffset1           integer    Input start position offset
       -sdbname1           string     Database name
       -sid1               string     Entryname
       -ufo1               string     UFO features
       -fformat1           string     Features format
       -fopenfile1         string     Features file name

       "-outfile" associated qualifiers
       -odirectory2        string     Output directory

       General qualifiers:
       -auto               boolean    Turn off prompts
       -stdout             boolean    Write first file to standard output
       -filter             boolean    Read first file from standard input, write
                                      first file to standard output
       -options            boolean    Prompt for standard and additional values
       -debug              boolean    Write debug output to program.dbg
       -verbose            boolean    Report some/full command line options
       -help               boolean    Report command line options and exit. More
                                      information on associated and general
                                      qualifiers can be found with -help -verbose
       -warning            boolean    Report warnings
       -error              boolean    Report errors
       -fatal              boolean    Report fatal errors
       -die                boolean    Report dying program messages
       -version            boolean    Report version number and exit

Qualifier | Type | Description | Allowed values | Default
--- | --- | --- | --- | ---
Standard (Mandatory) qualifiers
[-sequence] (Parameter 1) | seqall | The sequence from which to choose primers. The sequence must be presented 5' to 3' | Readable sequence(s) | Required
[-outfile] (Parameter 2) | outfile | Whitehead primer3_core program output file | Output file | <*>.eprimer3
Additional (Optional) qualifiers
-[no]primer | toggle | Tell EPrimer3 to pick primer(s) | Toggle value Yes/No | Yes

-task

list

Tell EPrimer3 what task to perform. Legal values are 1: 'Pick PCR primers', 2: 'Pick forward primer only', 3: 'Pick reverse primer only', 4: 'No primers needed'.

1 | (Pick PCR primers)
2 | (Pick forward primer only)
3 | (Pick reverse primer only)
4 | (No primers needed)

1

-hybridprobe | toggle | An 'internal oligo' is intended to be used as a hybridization probe (hyb probe) to detect the PCR product after amplification. | Toggle value Yes/No | No

-mishyblibraryfile

infile

Similar to 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. The file must be in (a slightly restricted) FASTA format (W. B. Pearson and D.J. Lipman, PNAS 85:8 pp 2444-2448 [1988]); we briefly discuss the organization of this file below. If this parameter is specified then EPrimer3 locally aligns each candidate oligo against each library sequence and rejects those primers for which the local alignment score times a specified weight (see below) exceeds INTERNAL-OLIGO-MAX-MISHYB. (The maximum value of the weight is arbitrarily set to 12.0.) Each sequence entry in the FASTA-format file must begin with an 'id line' that starts with '>'. The contents of the id line is 'slightly restricted' in that EPrimer3 parses everything after any optional asterisk ('*') as a floating point number to use as the weight mentioned above. If the id line contains no asterisk then the weight defaults to 1.0. The alignment scoring system used is the same as for calculating complementarity among oligos (e.g. SELF-ANY). The remainder of an entry contains the sequence as lines following the id line up until a line starting with '>' or the end of the file. Whitespace and newlines are ignored. Characters 'A', 'T', 'G', 'C', 'a', 't', 'g', 'c' are retained and any other character is converted to 'N' (with the consequence that any IUB / IUPAC codes for ambiguous bases are converted to 'N'). There are no restrictions on line length. An empty value for this parameter indicates that no library should be used.

Input file

Required

-numreturn | integer | 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. | Integer 0 or more | 5

-includedregion

range

A sub-region of the given sequence in which to pick primers. For example, often the first dozen or so bases of a sequence are vector, and should be excluded from consideration. The value for this parameter has the form (start),(end) where (start) is the index of the first base to consider, and (end) is the last in the primer-picking region.

Sequence range

full sequence

-targetregion

range

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),(end) pairs where (start) is the index of the first base of a Target, and (end) is the last E.g. 50,51 requires primers to surround the 2 bases at positions 50 and 51.

Sequence range

full sequence

-excludedregion

range

Primer oligos may not overlap any region specified in this tag. The associated value must be a space-separated list of (start),(end) pairs where (start) is the index of the first base of the excluded region, and and (end) is the last. 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. E.g. 401,407 68,70 forbids selection of primers in the 7 bases starting at 401 and the 3 bases at 68.

Sequence range

full sequence

-forwardinput | string | The sequence of a forward primer to check and around which to design reverse primers and optional internal oligos. Must be a substring of SEQUENCE. | Any string |
-reverseinput | string | The sequence of a reverse primer to check and around which to design forward primers and optional internal oligos. Must be a substring of the reverse strand of SEQUENCE. | Any string |
-gcclamp | integer | Require the specified number of consecutive Gs and Cs at the 3' end of both the forward and reverse primer. (This parameter has no effect on the internal oligo if one is requested.) | Integer 0 or more | 0
-optsize | integer | Optimum length (in bases) of a primer oligo. EPrimer3 will attempt to pick primers close to this length. | Integer 0 or more | 20
-minsize | integer | Minimum acceptable length of a primer. Must be greater than 0 and less than or equal to MAX-SIZE. | Integer 1 or more | 18
-maxsize | integer | Maximum acceptable length (in bases) of a primer. Currently this parameter cannot be larger than 35. This limit is governed by the maximum oligo size for which EPrimer3's melting-temperature is valid. | Integer up to 35 | 27

-opttm

float

Optimum melting temperature(Celsius) for a primer oligo. EPrimer3 will try to pick primers with melting temperatures are close to this temperature. The oligo melting temperature formula in EPrimer3 is that given in Rychlik, Spencer and Rhoads, Nucleic Acids Research, vol 18, num 21, pp 6409-6412 and Breslauer, Frank, Bloecker and Marky, Proc. Natl. Acad. Sci. USA, vol 83, pp 3746-3750. Please refer to the former paper for background discussion.

Any numeric value

60.0

-mintm | float | Minimum acceptable melting temperature(Celsius) for a primer oligo. | Any numeric value | 57.0
-maxtm | float | Maximum acceptable melting temperature(Celsius) for a primer oligo. | Any numeric value | 63.0
-maxdifftm | float | Maximum acceptable (unsigned) difference between the melting temperatures of the forward and reverse primers. | Any numeric value | 100.0
-ogcpercent | float | Primer optimum GC percent. | Any numeric value | 50.0
-mingc | float | Minimum allowable percentage of Gs and Cs in any primer. | Any numeric value | 20.0
-maxgc | float | Maximum allowable percentage of Gs and Cs in any primer generated by Primer. | Any numeric value | 80.0
-saltconc | float | The millimolar concentration of salt (usually KCl) in the PCR. EPrimer3 uses this argument to calculate oligo melting temperatures. | Any numeric value | 50.0

-dnaconc

float

The nanomolar concentration of annealing oligos in the PCR. EPrimer3 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, vol 18, num 21) 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. See ADVICE FOR PICKING PRIMERS.

Any numeric value

50.0

-maxpolyx | integer | The maximum allowable length of a mononucleotide repeat in a primer, for example AAAAAA. | Integer 0 or more | 5
-psizeopt | integer | The optimum size for the PCR product. 0 indicates that there is no optimum product size. | Integer 0 or more | 200

-prange

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. EPrimer3 favors ranges to the left side of the parameter string. EPrimer3 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 EPrimer3 return primers in a subsequent range.

Sequence range

100-300

-ptmopt | float | The optimum melting temperature for the PCR product. 0 indicates that there is no optimum temperature. | Any numeric value | 0.0
-ptmmin | float | The minimum allowed melting temperature of the amplicon. Please see the documentation on the maximum melting temperature of the product for details. | Any numeric value | -1000000.0

-ptmmax

float

The maximum allowed melting temperature of the amplicon. Product Tm is 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, 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+. EPrimer3 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.

Any numeric value

1000000.0

-oexcludedregion | range | Middle oligos may not overlap any region specified by this tag. The associated value must be a space-separated list of (start),(end) pairs, where (start) is the index of the first base of an excluded region, and (end) is the last. Often one would make Target regions excluded regions for internal oligos. | Sequence range | full sequence
-oligoinput | string | The sequence of an internal oligo to check and around which to design forward and reverse primers. Must be a substring of SEQUENCE. | Any string |
-osizeopt | integer | Optimum length (in bases) of an internal oligo. EPrimer3 will attempt to pick primers close to this length. | Integer 0 or more | 20
-ominsize | integer | Minimum acceptable length of an internal oligo. Must be greater than 0 and less than or equal to INTERNAL-OLIGO-MAX-SIZE. | Integer 0 or more | 18
-omaxsize | integer | Maximum acceptable length (in bases) of an internal oligo. Currently this parameter cannot be larger than 35. This limit is governed by maximum oligo size for which EPrimer3's melting-temperature is valid. | Integer up to 35 | 27

-otmopt

float

Optimum melting temperature (Celsius) for an internal oligo. EPrimer3 will try to pick oligos with melting temperatures that are close to this temperature. The oligo melting temperature formula in EPrimer3 is that given in Rychlik, Spencer and Rhoads, Nucleic Acids Research, vol 18, num 21, pp 6409-6412 and Breslauer, Frank, Bloecker and Marky, Proc. Natl. Acad. Sci. USA, vol 83, pp 3746-3750. Please refer to the former paper for background discussion.

Any numeric value

60.0

-otmmin | float | Minimum acceptable melting temperature(Celsius) for an internal oligo. | Any numeric value | 57.0
-otmmax | float | Maximum acceptable melting temperature (Celsius) for an internal oligo. | Any numeric value | 63.0
-ogcopt | float | Internal oligo optimum GC percent. | Any numeric value | 50.0
-ogcmin | float | Minimum allowable percentage of Gs and Cs in an internal oligo. | Any numeric value | 20.0
-ogcmax | float | Maximum allowable percentage of Gs and Cs in any internal oligo generated by Primer. | Any numeric value | 80.0
-osaltconc | float | The millimolar concentration of salt (usually KCl) in the hybridization. EPrimer3 uses this argument to calculate internal oligo melting temperatures. | Any numeric value | 50.0
-odnaconc | float | The nanomolar concentration of annealing internal oligo in the hybridization. | Any numeric value | 50.0

-oanyself

float

The maximum allowable local alignment score when testing an internal oligo for (local) self-complementarity. Local self-complementarity is taken to predict the tendency of oligos to anneal to themselves 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.

Number up to 9999.990

12.00

-oendself

float

The maximum allowable 3'-anchored global alignment score when testing a single oligo for self-complementarity. 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 oligos, Primer assumes that the sequence from which to choose oligos is presented 5' to 3'. INTERNAL-OLIGO-SELF-END is meaningless when applied to internal oligos used for hybridization-based detection, since primer-dimer will not occur. We recommend that INTERNAL-OLIGO-SELF-END be set at least as high as INTERNAL-OLIGO-SELF-ANY.

Number up to 9999.990

12.00

-opolyxmax | integer | The maximum allowable length of an internal oligo mononucleotide repeat, for example AAAAAA. | Integer 0 or more | 5
-omishybmax | float | Similar to MAX-MISPRIMING except that this parameter applies to the similarity of candidate internal oligos to the library specified in INTERNAL-OLIGO-MISHYB-LIBRARY. | Number up to 9999.990 | 12.0
Advanced (Unprompted) qualifiers

-mispriminglibraryfile

infile

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 (a slightly restricted) FASTA format (W. B. Pearson and D.J. Lipman, PNAS 85:8 pp 2444-2448 [1988]); we briefly discuss the organization of this file below. If this parameter is specified then EPrimer3 locally aligns each candidate primer against each library sequence and rejects those primers for which the local alignment score times a specified weight (see below) exceeds MAX-MISPRIMING. (The maximum value of the weight is arbitrarily set to 100.0.) Each sequence entry in the FASTA-format file must begin with an 'id line' that starts with '>'. The contents of the id line is 'slightly restricted' in that EPrimer3 parses everything after any optional asterisk ('*') as a floating point number to use as the weight mentioned above. If the id line contains no asterisk then the weight defaults to 1.0. The alignment scoring system used is the same as for calculating complementarity among oligos (e.g. SELF-ANY). The remainder of an entry contains the sequence as lines following the id line up until a line starting with '>' or the end of the file. Whitespace and newlines are ignored. Characters 'A', 'T', 'G', 'C', 'a', 't', 'g', 'c' are retained and any other character is converted to 'N' (with the consequence that any IUB / IUPAC codes for ambiguous bases are converted to 'N'). There are no restrictions on line length. An empty value for this parameter indicates that no repeat library should be used.

Input file

Required

-explainflag | boolean | If this flag is true, produce LEFT-EXPLAIN, RIGHT-EXPLAIN, and INTERNAL-OLIGO-EXPLAIN output tags, which are intended to provide information on the number of oligos and primer pairs that EPrimer3 examined, and statistics on the number discarded for various reasons. | Boolean value Yes/No | No

-fileflag

boolean

If the associated value is true, then EPrimer3 creates two output files for each input SEQUENCE. File (sequence-id).for lists all acceptable forward primers for (sequence-id), and (sequence-id).rev lists all acceptable reverse primers for (sequence-id), where (sequence-id) is the value of the SEQUENCE-ID tag (which must be supplied). In addition, if the input tag TASK is 1 or 4, EPrimer3 produces a file (sequence-id).int, which lists all acceptable internal oligos.

Boolean value Yes/No

No

-firstbaseindex

integer

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.)

Any integer value

1

-pickanyway | boolean | If true pick a primer pair even if LEFT-INPUT, RIGHT-INPUT, or INTERNAL-OLIGO-INPUT violates specific constraints. | Boolean value Yes/No | No
-maxmispriming | float | The maximum allowed weighted similarity with any sequence in MISPRIMING-LIBRARY. | Number up to 9999.990 | 12.00
-pairmaxmispriming | float | The maximum allowed sum of weighted similarities of a primer pair (one similarity for each primer) with any single sequence in MISPRIMING-LIBRARY. | Number up to 9999.990 | 24.00
-numnsaccepted | integer | Maximum number of unknown bases (N) allowable in any primer. | Integer 0 or more | 0

-selfany

float

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 forward and reverse 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.

Number from 0.000 to 9999.990

8.00

-selfend

float

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 forward and reverse 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' to 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.

Number 0.000 or more

3.00

-maxendstability

float

The maximum stability for the five 3' bases of a forward or reverse 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, Bloecker and Marky, Proc. Natl. Acad. Sci. USA, vol 83, pp 3746-3750. EPrimer3 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).

Number up to 1000.000

9.0

Associated qualifiers
"-sequence" associated seqall qualifiers
-sbegin1 -sbegin_sequence | integer | Start of each sequence to be used | Any integer value | 0
-send1 -send_sequence | integer | End of each sequence to be used | Any integer value | 0
-sreverse1 -sreverse_sequence | boolean | Reverse (if DNA) | Boolean value Yes/No | N
-sask1 -sask_sequence | boolean | Ask for begin/end/reverse | Boolean value Yes/No | N
-snucleotide1 -snucleotide_sequence | boolean | Sequence is nucleotide | Boolean value Yes/No | N
-sprotein1 -sprotein_sequence | boolean | Sequence is protein | Boolean value Yes/No | N
-slower1 -slower_sequence | boolean | Make lower case | Boolean value Yes/No | N
-supper1 -supper_sequence | boolean | Make upper case | Boolean value Yes/No | N
-scircular1 -scircular_sequence | boolean | Sequence is circular | Boolean value Yes/No | N
-squick1 -squick_sequence | boolean | Read id and sequence only | Boolean value Yes/No | N
-sformat1 -sformat_sequence | string | Input sequence format | Any string |
-iquery1 -iquery_sequence | string | Input query fields or ID list | Any string |
-ioffset1 -ioffset_sequence | integer | Input start position offset | Any integer value | 0
-sdbname1 -sdbname_sequence | string | Database name | Any string |
-sid1 -sid_sequence | string | Entryname | Any string |
-ufo1 -ufo_sequence | string | UFO features | Any string |
-fformat1 -fformat_sequence | string | Features format | Any string |
-fopenfile1 -fopenfile_sequence | string | Features file name | Any string |
"-outfile" associated outfile qualifiers
-odirectory2 -odirectory_outfile | string | Output directory | Any string |
General qualifiers
-auto | boolean | Turn off prompts | Boolean value Yes/No | N
-stdout | boolean | Write first file to standard output | Boolean value Yes/No | N
-filter | boolean | Read first file from standard input, write first file to standard output | Boolean value Yes/No | N
-options | boolean | Prompt for standard and additional values | Boolean value Yes/No | N
-debug | boolean | Write debug output to program.dbg | Boolean value Yes/No | N
-verbose | boolean | Report some/full command line options | Boolean value Yes/No | Y
-help | boolean | Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose | Boolean value Yes/No | N
-warning | boolean | Report warnings | Boolean value Yes/No | Y
-error | boolean | Report errors | Boolean value Yes/No | Y
-fatal | boolean | Report fatal errors | Boolean value Yes/No | Y
-die | boolean | Report dying program messages | Boolean value Yes/No | Y
-version | boolean | Report version number and exit | Boolean value Yes/No | N

## Input file format

eprimer3 reads one or more nucleotide sequences.

The input is a standard EMBOSS sequence query (also known as a 'USA').

Major sequence database sources defined as standard in EMBOSS installations include srs:embl, srs:uniprot and ensembl

Data can also be read from sequence output in any supported format written by an EMBOSS or third-party application.

The input format can be specified by using the command-line qualifier `-sformat xxx`, where 'xxx' is replaced by the name of the required format. The available format names are: gff (gff3), gff2, embl (em), genbank (gb, refseq), ddbj, refseqp, pir (nbrf), swissprot (swiss, sw), dasgff and debug.

See: http://emboss.sf.net/docs/themes/SequenceFormats.html for further information on sequence formats.

### Input files for usage example

'tembl:x65921' is a sequence entry in the example nucleic acid database 'tembl'

### Database entry: tembl:x65921

    ID   X65921; SV 1; linear; genomic DNA; STD; HUM; 2016 BP.
    XX
    AC   X65921; S45242;
    XX
    DT   13-MAY-1992 (Rel. 31, Created)
    DT   14-NOV-2006 (Rel. 89, Last updated, Version 7)
    XX
    DE   H.sapiens fau 1 gene
    XX
    KW   fau 1 gene.
    XX
    OS   Homo sapiens (human)
    OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia;
    OC   Eutheria; Euarchontoglires; Primates; Haplorrhini; Catarrhini; Hominidae;
    OC   Homo.
    XX
    RN   [1]
    RP   1-2016
    RA   Kas K.;
    RT   ;
    RL   Submitted (29-APR-1992) to the INSDC.
    RL   K. Kas, University of Antwerp, Dept of Biochemistry T3.22,
    RL   Universiteitsplein 1, 2610 Wilrijk, BELGIUM
    XX
    RN   [2]
    RP   1-2016
    RX   DOI; 10.1016/0006-291X(92)91286-Y.
    RX   PUBMED; 1326960.
    RA   Kas K., Michiels L., Merregaert J.;
    RT   "Genomic structure and expression of the human fau gene: encoding the
    RT   ribosomal protein S30 fused to a ubiquitin-like protein";
    RL   Biochem. Biophys. Res. Commun. 187(2):927-933(1992).
    XX
    DR   Ensembl-Gn; ENSG00000149806; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000279259; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000434372; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000525297; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000526555; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000527548; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000529259; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000529639; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000531743; Homo_sapiens.
    DR   GDB; 191789.
    DR   GDB; 191790.
    DR   GDB; 354872.
    DR   GDB; 4590236.
    XX
    FH   Key             Location/Qualifiers
    FH
    FT   source          1..2016

      [Part of this file has been deleted for brevity]

    FT                   RAKRRMQYNRRFVNVVPTFGKKKGPNANS"
    FT   intron          857..950
    FT                   /number=2
    FT   exon            951..1095
    FT                   /number=3
    FT   intron          1096..1556
    FT                   /number=3
    FT   exon            1557..1612
    FT                   /number=4
    FT   intron          1613..1786
    FT                   /number=4
    FT   exon            1787..>1912
    FT                   /number=5
    FT   polyA_signal    1938..1943
    XX
    SQ   Sequence 2016 BP; 421 A; 562 C; 538 G; 495 T; 0 other;
         ctaccatttt ccctctcgat tctatatgta cactcgggac aagttctcct gatcgaaaac        60
         ggcaaaacta aggccccaag taggaatgcc ttagttttcg gggttaacaa tgattaacac       120
         tgagcctcac acccacgcga tgccctcagc tcctcgctca gcgctctcac caacagccgt       180
         agcccgcagc cccgctggac accggttctc catccccgca gcgtagcccg gaacatggta       240
         gctgccatct ttacctgcta cgccagcctt ctgtgcgcgc aactgtctgg tcccgccccg       300
         tcctgcgcga gctgctgccc aggcaggttc gccggtgcga gcgtaaaggg gcggagctag       360
         gactgccttg ggcggtacaa atagcaggga accgcgcggt cgctcagcag tgacgtgaca       420
         cgcagcccac ggtctgtact gacgcgccct cgcttcttcc tctttctcga ctccatcttc       480
         gcggtagctg ggaccgccgt tcaggtaaga atggggcctt ggctggatcc gaagggcttg       540
         tagcaggttg gctgcggggt cagaaggcgc ggggggaacc gaagaacggg gcctgctccg       600
         tggccctgct ccagtcccta tccgaactcc ttgggaggca ctggccttcc gcacgtgagc       660
         cgccgcgacc accatcccgt cgcgatcgtt tctggaccgc tttccactcc caaatctcct       720
         ttatcccaga gcatttcttg gcttctctta caagccgtct tttctttact cagtcgccaa       780
         tatgcagctc tttgtccgcg cccaggagct acacaccttc gaggtgaccg gccaggaaac       840
         ggtcgcccag atcaaggtaa ggctgcttgg tgcgccctgg gttccatttt cttgtgctct       900
         tcactctcgc ggcccgaggg aacgcttacg agccttatct ttccctgtag gctcatgtag       960
         cctcactgga gggcattgcc ccggaagatc aagtcgtgct cctggcaggc gcgcccctgg      1020
         aggatgaggc cactctgggc cagtgcgggg tggaggccct gactaccctg gaagtagcag      1080
         gccgcatgct tggaggtgag tgagagagga atgttctttg aagtaccggt aagcgtctag      1140
         tgagtgtggg gtgcatagtc ctgacagctg agtgtcacac ctatggtaat agagtacttc      1200
         tcactgtctt cagttcagag tgattcttcc tgtttacatc cctcatgttg aacacagacg      1260
         tccatgggag actgagccag agtgtagttg tatttcagtc acatcacgag atcctagtct      1320
         ggttatcagc ttccacacta aaaattaggt cagaccaggc cccaaagtgc tctataaatt      1380
         agaagctgga agatcctgaa atgaaactta agatttcaag gtcaaatatc tgcaactttg      1440
         ttctcattac ctattgggcg cagcttctct ttaaaggctt gaattgagaa aagaggggtt      1500
         ctgctgggtg gcaccttctt gctcttacct gctggtgcct tcctttccca ctacaggtaa      1560
         agtccatggt tccctggccc gtgctggaaa agtgagaggt cagactccta aggtgagtga      1620
         gagtattagt ggtcatggtg ttaggacttt ttttcctttc acagctaaac caagtccctg      1680
         ggctcttact cggtttgcct tctccctccc tggagatgag cctgagggaa gggatgctag      1740
         gtgtggaaga caggaaccag ggcctgatta accttccctt ctccaggtgg ccaaacagga      1800
         gaagaagaag aagaagacag gtcgggctaa gcggcggatg cagtacaacc ggcgctttgt      1860
         caacgttgtg cccacctttg gcaagaagaa gggccccaat gccaactctt aagtcttttg      1920
         taattctggc tttctctaat aaaaaagcca cttagttcag tcatcgcatt gtttcatctt      1980
         tacttgcaag gcctcaggga gaggtgtgct tctcgg                                2016
    //

## Output file format

### Output files for usage example

### File: x65921.eprimer3

    # EPRIMER3 RESULTS FOR X65921

    # FORWARD PRIMER STATISTICS:
    # considered 16422
    # GC content failed 156
    # low tm 3616
    # high tm 9306
    # high any compl 9
    # high end compl 26
    # long poly-x seq 45
    #high 3' stability 304
    # ok 2960

    # REVERSE PRIMER STATISTICS:
    # considered 16330
    # GC content failed 161
    # low tm 3580
    # high tm 9309
    # high any compl 2
    # high end compl 9
    # long poly-x seq 66
    #high 3' stability 301
    # ok 2902

    # PRIMER PAIR STATISTICS:
    # considered 2652
    # unacceptable product size 2444
    # high any compl 2
    # high end compl 20
    # ok 186

    #                      Start  Len   Tm     GC%   Sequence

       1 PRODUCT SIZE: 202
         FORWARD PRIMER     801   20  59.72  60.00  CCCAGGAGCTACACACCTTC

         REVERSE PRIMER     983   20  59.81  55.00  GGAGCACGACTTGATCTTCC

       2 PRODUCT SIZE: 203
         FORWARD PRIMER    1810   20  59.43  55.00  GAAGAAGACAGGTCGGGCTA

         REVERSE PRIMER    1993   20  59.99  60.00  GAAGCACACCTCTCCCTGAG

       3 PRODUCT SIZE: 204
         FORWARD PRIMER    1810   20  59.43  55.00  GAAGAAGACAGGTCGGGCTA

         REVERSE PRIMER    1994   20  59.99  55.00  AGAAGCACACCTCTCCCTGA

       4 PRODUCT SIZE: 196
         FORWARD PRIMER    1266   20  59.43  60.00  GGGAGACTGAGCCAGAGTGT

         REVERSE PRIMER    1442   20  60.06  50.00  GCGCCCAATAGGTAATGAGA

       5 PRODUCT SIZE: 205
         FORWARD PRIMER     801   20  59.72  60.00  CCCAGGAGCTACACACCTTC

         REVERSE PRIMER     986   20  60.41  55.00  CCAGGAGCACGACTTGATCT

If the '-explain' flag has been used, as in the example, then statistics are output describing the number of primers that were considered and rejected for various reasons.

Headers describing the input file name and the names of the output columns are displayed.

The best 5 primer pairs are displayed with the product size.

The reverse sequence is displayed as the reverse complement to the input forward sense sequence.

The 'Start' positions are given counting from the start of the sequence for both the forward and reverse primer (and for the internal oligos).

Note that if you compare the results to the output from the public Primer3 web site you will see a difference in the reverse primer positions - this is because the original Primer3 program reports the reverse primer positions as counted from the 3' end. The convention in EMBOSS is to report both forward and reverse features as counted from the 5' end, so the reverse primer positions are given counted from the 5' start of the sequence.

## Data files

None.

## Notes

The Whitehead Institute's primer3 program is not part of this program, but it must be set up on your system and on your path.

The Whitehead Institute program that is run by this program is available from: http://primer3.sourceforge.net/
(Then see the link Download and then 'Release 1.1.4')

Earlier versions are also supported. We expect later versions to also work - please contact the EMBOSS team if you find any problems.

The Whitehead Institute's primer3 program states:
We request but do not require that use of this software be cited in publications as:

Steve Rozen and Helen J. Skaletsky (2000) Primer3 on the WWW for general users and for biologist programmers. In: Krawetz S, Misener S (eds) Bioinformatics Methods and Protocols: Methods in Molecular Biology. Humana Press, Totowa, NJ, pp 365-386

Source code available at http://fokker.wi.mit.edu/primer3/. The paper above is available at http://jura.wi.mit.edu/rozen/papers/rozen-and-skaletsky-2000-primer3.pdf

## References

None.

## Warnings

None.

## Diagnostic Error Messages

The message: "EMBOSS An error in eprimer3.c at line 346: The program 'primer3_core' must be on the path. It is part of the 'primer3' package, available from the Whitehead Institute. See: http://primer3.sourceforge.net/" is output if you do not have the Whitehead Institute's primer3 program set up and on your path.

## Exit status

It always exits with status 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
eprimer32 | Pick PCR primers and hybridization oligos
primersearch | Search DNA sequences for matches with primer pairs
stssearch | Search a DNA database for matches with a set of STS primers

## History

## Author(s)

Gary Williams formerly at:
MRC Rosalind Franklin Centre for Genomics Research Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SB, UK

Please report all bugs to the EMBOSS bug team (emboss-bug © emboss.open-bio.org) not to the original author.

## History

Written (Dec 2001) - Gary Williams

Changed name (version 2.3.0) - Gary Williams

When I wrote the EMBOSS wrapper for the Whitehead's primer3 version 3.0.9 program, I called it 'primer3'. This did not conflict with the Whitehead program becuase although the package is called 'primer3' the program itself is called primer3_core.

I wasn't aware that the Whitehead's primer3 version 3.0.6 program was itself called 'primer3'. This caused a name conflict in those sites with version 3.0.6 installed.

To avoid the conflict, the EMBOSS program was renamed 'eprimer3'. eprimer3 was released in version 2.3.0 of EMBOSS

## Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.

## Comments

None