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

Possible BUG: No triloop and tetraloop bonuses for entropy? #52

Closed Oleg-Mozhey closed 2 years ago

Oleg-Mozhey commented 2 years ago

According to SantaLucia (2004): For hairpins of length 3 Gibbs free energy can be calculated by the following equation: dG◦37(total) = dG◦37(Hairpin of 3) + dG◦37(triloop bonus) + closing AT penalty. Hairpin loop dH◦ and dS◦ are computed with equations analogous for Gibbs free energy.

Primer3 uses equation dS◦37(total) = dS◦37(Hairpin of 3) + dS◦37(triloop bonus) + dS(closing AT penalty) to calculate entropy in calc_hairpin function in thal.c file.

If I printf values, I can see that triloop bonus and tetraloop bonus are not applied for entropy. Could you confirm that it's done intentionally? I can't find confirmation in SantaLucia 2004 that triloop and tetraloop bonuses for entropy equal 0.

For input "/ntthal -s1 AGGCAGAATGCCT -a HAIRPIN" my output of intermediate calculations is: I'm going to start calc_hairpin method with parameters i: 5, j: 9, numSeq1[i]: 0, numSeq1[j]: 3 loopSize: 3 loop size is <= 30, I'm going to add 0.000000 to enthalpy and -11.280000 to entropy Hairpin properties after size-based correction: Enthalpy 0.000000, Entropy -11.280000 Your loop is 3 bp! I need to add AT-penalty if I can. AT penalty is enthalpy: 2200.000000, entropy: 6.900000 New enthalpy: 2200.000000, new entropy: -4.380000 Triloop bonus for enthalpy is: -1500.000000 Triloop bonus for entropy is: 0.000000 New enthalpy after triloop bonus: 700.000000, new entropy: -4.380000 calc_hairpin method is finished. Return enthalpy: 700.000000, entropy: -4.380000

Thank you so much for such indispensable tool!

Regards, Oleg

bioinfo-ut commented 2 years ago

Please don't use Primer3 for calculating secondary structures. It is not intended to be a completely accurate secondary structure prediction tool. This implementation was meant only to show some of the most likely sec. structures in printed output for user warning, these values are not used anywhere in the primer selection process.

There are dedicated software to do correct and through predictions of all possible secondary structures of RNA and DNA, like UnaFold http://www.unafold.org/