application: eprimer3 [
  documentation: "Picks PCR primers and hybridization oligos"
  groups: "Nucleic:Primers"
  external: "primer3_core"
]

section: input [
  information: "Input section"
  type: "page"
]

  seqall: sequence [
    parameter: "Y"
    type: "dna"
    help: "The sequence from which to choose primers. The sequence
           must be presented 5' to 3'"
  ]

  toggle: primer [
    additional: "Y"
    information: "Pick PCR primer(s)"
    default: "Y"
    help: "Tell EPrimer3 to pick primer(s)"
  ]

  list: task [
    additional: "$(primer)"
    default: "1"
    minimum: "1"
    maximum: "1"
    header: "Task"
    values: "1:Pick PCR primers, 2:Pick forward primer only, 3:Pick
             reverse primer only, 4:No primers needed"
    delimiter: ","
    codedelimiter: ":"
    information: "Select task"
    help: "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'."
  ]

  toggle: hybridprobe [
    additional: "Y"
    information: "Pick hybridization probe"
    default: "N"
    help: "An 'internal oligo' is intended to be used as a
           hybridization probe (hyb probe) to detect the PCR product after
           amplification."
  ]

  infile: oligomishyblibraryfile [
    additional: "$(hybridprobe)"
    default: ""
    nullok: "Y"
    information: "Primer3 internal oligo mishybridizing library
                  file (optional)"
    knowntype: "primer3 mishybridizing"
    help: "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."
  ]

  infile: mispriminglibraryfile [
    default: ""
    nullok: "Y"
    information: "Primer3 mispriming library file (optional)"
    knowntype: "primer3 mispriming"
    help: "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."
  ]

endsection: input

section: additional [
  information: "Additional section"
  type: "page"
]

  section: programsection [
    information: "Program options"
    type: "frame"
  ]

    integer: numreturn [
      additional: "Y"
      default: "5"
      minimum: "0"
      information: "Number of results to return"
      help: "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."
    ]

  endsection: programsection

  section: seqoptsection [
    information: "Sequence options"
    type: "frame"
  ]

    range: includedregion [
      additional: "Y"
      default: ""
      information: "Included region(s)"
      help: "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."
    ]

    range: target [
      additional: "Y"
      default: ""
      information: "Target region(s)"
      help: "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."
    ]

    range: excludedregion [
      additional: "Y"
      default: ""
      information: "Excluded region(s)"
      help: "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."
    ]

    string: forwardinput [
      additional: "Y"
      default: ""
      information: "Forward input primer sequence to check"
      help: "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."
      knowntype: "nucleotide sequence"
    ]

    string: reverseinput [
      additional: "Y"
      default: ""
      information: "Reverse input primer sequence to check"
      help: "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."
      knowntype: "nucleotide sequence"
    ]

  endsection: seqoptsection

  section: primersection [
    information: "Primer options"
    type: "frame"
  ]

    integer: gcclamp [
      additional: "$(primer)"
      default: "0"
      minimum: "0"
      information: "GC clamp"
      help: "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: osize [
      additional: "$(primer)"
      default: "20"
      minimum: "0"
      information: "Primer optimum size"
      help: "Optimum length (in bases) of a primer oligo. EPrimer3
             will attempt to pick primers close to this length."
    ]

    integer: minsize [
      additional: "$(primer)"
      default: "18"
      minimum: "1"
      information: "Primer minimum size"
      help: "Minimum acceptable length of a primer. Must be greater
             than 0 and less than or equal to MAX-SIZE."
    ]

    integer: maxsize [
      additional: "$(primer)"
      default: "27"
      minimum: "$(minsize)"
      maximum: "35"
      information: "Primer maximum size"
      help: "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."
    ]

    float: otm [
      additional: "$(primer)"
      default: "60.0"
      information: "Primer optimum Tm"
      help: "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."
    ]

    float: mintm [
      additional: "$(primer)"
      default: "57.0"
      information: "Primer minimum Tm"
      help: "Minimum acceptable melting temperature(Celsius) for a
             primer oligo."
    ]

    float: maxtm [
      additional: "$(primer)"
      default: "63.0"
      minimum: "$(mintm)"
      information: "Primer maximum Tm"
      help: "Maximum acceptable melting temperature(Celsius) for a
             primer oligo."
    ]

    float: maxdifftm [
      additional: "$(primer)"
      default: "100.0"
      information: "Maximum difference in Tm of primers"
      help: "Maximum acceptable (unsigned) difference between the
             melting temperatures of the forward and reverse primers."
    ]

    float: ogcpercent [
      additional: "$(primer)"
      default: "50.0"
      information: "Primer optimum GC percent"
      help: "Primer optimum GC percent."
    ]

    float: mingc [
      additional: "$(primer)"
      default: "20.0"
      information: "Primer minimum GC percent"
      help: "Minimum allowable percentage of Gs and Cs in any primer."
    ]

    float: maxgc [
      additional: "$(primer)"
      default: "80.0"
      minimum: "$(mingc)"
      information: "Primer maximum GC percent"
      help: "Maximum allowable percentage of Gs and Cs in any primer
             generated by Primer."
    ]

    float: saltconc [
      additional: "$(primer)"
      default: "50.0"
      information: "Salt concentration (mM)"
      help: "The millimolar concentration of salt (usually KCl) in the
             PCR. EPrimer3 uses this argument to calculate oligo melting
             temperatures."
    ]

    float: dnaconc [
      additional: "$(primer)"
      default: "50.0"
      information: "DNA concentration (nM)"
      help: "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."
    ]

    integer: maxpolyx [
      additional: "$(primer)"
      default: "5"
      minimum: "0"
      information: "Maximum polynucleotide repeat"
      help: "The maximum allowable length of a mononucleotide repeat
             in a primer, for example AAAAAA."
    ]

  endsection: primersection

  section: productsection [
    information: "Product options"
    type: "frame"
  ]

    integer: productosize [
      additional: "$(primer)"
      default: "200"
      minimum: "0"
      information: "Product optimum size"
      help: "The optimum size for the PCR product. 0 indicates that
             there is no optimum product size."
    ]

    range: productsizerange [
      additional: "$(primer)"
      default: "100-300"
      information: "Product size range"
      help: "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."
    ]

    float: productotm [
      additional: "$(primer)"
      default: "0.0"
      information: "Product optimum Tm"
      help: "The optimum melting temperature for the PCR product. 0
             indicates that there is no optimum temperature."
    ]

    float: productmintm [
      additional: "$(primer)"
      default: "-1000000.0"
      information: "Product minimum Tm"
      help: "The minimum allowed melting temperature of the amplicon.
             Please see the documentation on the maximum melting temperature
             of the product for details."
    ]

    float: productmaxtm [
      additional: "$(primer)"
      default: "1000000.0"
      minimum: "$(productmintm)"
      information: "Product maximum Tm"
      help: "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 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+.
             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."
    ]

  endsection: productsection

  section: oligosinput [
    information: "Internal oligo input"
    type: "frame"
  ]

    range: oligoexcludedregion [
      additional: "$(hybridprobe)"
      default: ""
      information: "Internal oligo excluded region"
      help: "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."
    ]

    string: oligoinput [
      additional: "$(hybridprobe)"
      default: ""
      information: "Internal oligo input sequence (if any)"
      help: "The sequence of an internal oligo to check and around
             which to design forward and reverse primers. Must be a substring
             of SEQUENCE."
      knowntype: "nucleotide sequence"
    ]

  endsection: oligosinput

  section: oligosection [
    information: "Internal oligo options"
    type: "frame"
  ]

    integer: oligoosize [
      additional: "$(hybridprobe)"
      default: "20"
      minimum: "0"
      information: "Internal oligo optimum size"
      help: "Optimum length (in bases) of an internal oligo. EPrimer3
             will attempt to pick primers close to this length."
    ]

    integer: oligominsize [
      additional: "$(hybridprobe)"
      default: "18"
      minimum: "0"
      information: "Internal oligo minimum size"
      help: "Minimum acceptable length of an internal oligo. Must be
             greater than 0 and less than or equal to
             INTERNAL-OLIGO-MAX-SIZE."
    ]

    integer: oligomaxsize [
      additional: "$(hybridprobe)"
      default: "27"
      minimum: "$(oligominsize)"
      maximum: "35"
      information: "Internal oligo maximum size"
      help: "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."
    ]

    float: oligootm [
      additional: "$(hybridprobe)"
      default: "60.0"
      information: "Internal oligo optimum Tm"
      help: "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."
    ]

    float: oligomintm [
      additional: "$(hybridprobe)"
      default: "57.0"
      information: "Internal oligo minimum Tm"
      help: "Minimum acceptable melting temperature(Celsius) for an
             internal oligo."
    ]

    float: oligomaxtm [
      additional: "$(hybridprobe)"
      default: "63.0"
      minimum: "$(oligomintm)"
      information: "Internal oligo maximum Tm"
      help: "Maximum acceptable melting temperature (Celsius) for an
             internal oligo."
    ]

    float: oligoogcpercent [
      additional: "$(hybridprobe)"
      default: "50.0"
      information: "Internal oligo optimum GC percent"
      help: "Internal oligo optimum GC percent."
    ]

    float: oligomingc [
      additional: "$(hybridprobe)"
      default: "20.0"
      information: "Internal oligo minimum GC"
      help: "Minimum allowable percentage of Gs and Cs in an internal
             oligo."
    ]

    float: oligomaxgc [
      additional: "$(hybridprobe)"
      default: "80.0"
      minimum: "$(oligomingc)"
      information: "Internal oligo maximum GC"
      help: "Maximum allowable percentage of Gs and Cs in any internal
             oligo generated by Primer."
    ]

    float: oligosaltconc [
      additional: "$(hybridprobe)"
      default: "50.0"
      information: "Internal oligo salt concentration (mM)"
      help: "The millimolar concentration of salt (usually KCl) in the
             hybridization. EPrimer3 uses this argument to calculate
             internal oligo melting temperatures."
    ]

    float: oligodnaconc [
      additional: "$(hybridprobe)"
      default: "50.0"
      information: "Internal oligo DNA concentration (nM)"
      help: "The nanomolar concentration of annealing internal oligo
             in the hybridization."
    ]

    float: oligoselfany [
      additional: "$(hybridprobe)"
      default: "12.00"
      maximum: "9999.99"
      information: "Internal oligo maximum self
                    complementarity"
      help: "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."
    ]

    float: oligoselfend [
      additional: "$(hybridprobe)"
      default: "12.00"
      minimum: "$(oligoselfany)"
      maximum: "9999.99"
      information: "Internal oligo maximum 3' self
                    complementarity"
      help: "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."
    ]

    integer: oligomaxpolyx [
      additional: "$(hybridprobe)"
      default: "5"
      minimum: "0"
      information: "Internal oligo maximum polynucleotide
                    repeat"
      help: "The maximum allowable length of an internal oligo
             mononucleotide repeat, for example AAAAAA."
    ]

    float: oligomaxmishyb [
      additional: "$(hybridprobe)"
      default: "12.0"
      maximum: "9999.99"
      information: "Internal oligo maximum mishybridization"
      help: "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."
    ]

  endsection: oligosection

endsection: additional

section: advanced [
  information: "Advanced section"
  type: "page"
]

  boolean: explainflag [
    default: "N"
    information: "Explain flag"
    help: "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: fileflag [
    default: "N"
    information: "Create results files for each sequence"
    help: "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."
  ]

  integer: firstbaseindex [
    default: "1"
    information: "First base index"
    help: "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.)"
  ]

  boolean: pickanyway [
    default: "N"
    information: "Pick anyway"
    help: "If true pick a primer pair even if LEFT-INPUT, RIGHT-INPUT,
           or INTERNAL-OLIGO-INPUT violates specific constraints."
  ]

  float: maxmispriming [
    default: "12.00"
    maximum: "9999.99"
    information: "Primer maximum mispriming"
    help: "The maximum allowed weighted similarity with any sequence
           in MISPRIMING-LIBRARY."
  ]

  float: pairmaxmispriming [
    default: "24.00"
    maximum: "9999.99"
    information: "Primer pair maximum mispriming"
    help: "The maximum allowed sum of weighted similarities of a
           primer pair (one similarity for each primer) with any single
           sequence in MISPRIMING-LIBRARY."
  ]

  integer: numnsaccepted [
    default: "0"
    minimum: "0"
    information: "Maximum Ns accepted in a primer"
    help: "Maximum number of unknown bases (N) allowable in any
           primer."
  ]

  float: selfany [
    default: "8.00"
    minimum: "0.00"
    maximum: "9999.99"
    information: "Maximum self complementarity"
    help: "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."
  ]

  float: selfend [
    default: "3.00"
    minimum: "0.00"
    maximum: "$(selfany)"
    information: "Maximum 3' self complementarity"
    help: "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."
  ]

  section: primerweights [
    information: "Primer penalty weights"
    type: "frame"
  ]

    float: maxendstability [
      default: "9.0"
      maximum: "999.9999"
      information: "Maximum 3' end stability"
      help: "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)."
    ]

  endsection: primerweights

endsection: advanced

section: output [
  information: "Output section"
  type: "page"
]

  outfile: outfile [
    parameter: "Y"
    knowntype: "primer3 output"
    information: "Whitehead primer3_core program output file"
  ]

endsection: output
