primer3-org / primer3

Primer3 is a command line tool to select primers for polymerase chain reaction (PCR).
GNU General Public License v2.0
218 stars 62 forks source link

number of 'ok' primers is sometimes negative #41

Closed wholtz closed 2 years ago

wholtz commented 3 years ago

For primer3 v2.5.0 with the following input:

PRIMER_TASK=pick_sequencing_primers
PRIMER_PICK_RIGHT_PRIMER=1
PRIMER_PICK_LEFT_PRIMER=0
PRIMER_EXPLAIN_FLAG=1
SEQUENCE_TEMPLATE=TGCTTTCAATCATGTGGGTGATTTTATAGATTGTCATCACCAGCGCGCGC
=

Results in the output:

PRIMER_TASK=pick_sequencing_primers
PRIMER_PICK_RIGHT_PRIMER=1
PRIMER_PICK_LEFT_PRIMER=0
PRIMER_EXPLAIN_FLAG=1
SEQUENCE_TEMPLATE=TGCTTTCAATCATGTGGGTGATTTTATAGATTGTCATCACCAGCGCGCGC
PRIMER_RIGHT_EXPLAIN=considered 175, low tm 109, high tm 27, high hairpin stability 5, ok -4
PRIMER_LEFT_NUM_RETURNED=0
PRIMER_RIGHT_NUM_RETURNED=1
PRIMER_INTERNAL_NUM_RETURNED=0
PRIMER_PAIR_NUM_RETURNED=0
PRIMER_RIGHT_0_PENALTY=1.086067
PRIMER_RIGHT_0_SEQUENCE=CGCGCTGGTGATGACAATCT
PRIMER_RIGHT_0=46,20
PRIMER_RIGHT_0_TM=61.086
PRIMER_RIGHT_0_GC_PERCENT=55.000
PRIMER_RIGHT_0_SELF_ANY_TH=5.56
PRIMER_RIGHT_0_SELF_END_TH=0.00
PRIMER_RIGHT_0_HAIRPIN_TH=33.61
PRIMER_RIGHT_0_END_STABILITY=2.4000
=

I don't believe it is valid for the number of ok primers to be negative.

untergasser commented 2 years ago

That was a long existing bug. PRIMER_EXPLAIN might not be very informative with PRIMER_TASK=pick_sequencing_primers.

The PRIMER_EXPLAIN was improved in this commit:

https://github.com/primer3-org/primer3/commit/9660639e9068a77dd8bb6fc4c0664ba3ec34ee29