Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Commercial software's deltaG values are more negative than PrimerPooler's #3

Open
Nurisson opened this issue Mar 19, 2024 · 5 comments

Comments

@Nurisson
Copy link

Nurisson commented Mar 19, 2024

Hello!

It seems that PrimerPooler calculates much higher dG values compared to IDT OligoAnalyzer, Benchling or other software. Is deltaG in PrimerPooler bugged?
image

My settings are Tm=60, Salt=50, Mg=0, dNTP=0

version 1.88

@ssb22
Copy link
Owner

ssb22 commented Mar 19, 2024

To reproduce from the command line on a Unix system:

cat >test <<EOF
>MT-6_1_115_R
TAGATTGGTCCAATTGGGTGTGA
>MT-7_1_62_F
TTAGTATTATACCCACACCCACCC
EOF
pooler --dg=333.15,0,50,0 --counts --print-bonds=-2 test

Result:

MT-6_1_115_R versus MT-7_1_62_F
Positions tried: 46
Bonding positions: 44  (worst one shown here)
dG = -2.16
5'-TAGATTGGTCCAATTGGGTGTGA-3'
              xxx||||||||x
           3'-CCCACCCACACCCATATTATGATT-5'

I don't have access to the closed-source proprietary commercial products IDT OligoAnalyzer or Benchling so I can't check that part. I assume you double checked the units of measurement when you were entering all the settings on that system?

@ssb22
Copy link
Owner

ssb22 commented Mar 19, 2024

I just re-checked Primer Pooler's deltaG.h against seqfold's values and found a discrepancy: the AA/TT value is -7.9,-22.2 in Primer Pooler but -7.6, -21.3 in SeqFold. Might need to go back to the literature to double check which one is right (it's not impossible someone made a copying mistake from a data table). However, this particular discrepancy shouldn't affect those particular bondings, so we still haven't explained that example.

@ssb22
Copy link
Owner

ssb22 commented Mar 19, 2024

The other possibility to consider is that Primer Pooler's deltaG values might be more cautious than those of some other system. I'm following a simple published method of calculating Gibbs free energy. If there exists some paper I don't know about, which says that in certain situations the energy is less than that predicted by the standard formula, then Primer Pooler is not going to know about this. At least in this case Primer Pooler will err on the side of not mixing primers that could have been mixed: it won't make the worse error of mixing primers that shouldn't be mixed. Like the weather forecaster who always errs on the side of saying "it might rain" even when that's less likely, because the consequences of incorrectly predicting a problem are less bad than the consequences of incorrectly predicting no problem. But I can't refine the calculation without more information, and as proprietary systems are locked down so nobody's allowed to see how they work, I can't just look to see how that one is doing it. Still, I wouldn't describe an overly-cautious calculation as a "bug", just as incomplete. Like Newton's laws of motion are incomplete as shown by Einstein, but they still work well enough. It would definitely be a bug if the result sometimes goes more negative than it should, as that could lead to combinations you don't want to allow, but a result that's less negative than it should is just going to put extra limits on the acceptable combinations: it's being overly cautious. If some company has figured out they can be less cautious than these calculations suggest, well good on them but I don't have enough data to check it, so meanwhile I have to stick with the more cautious version. EDIT: sorry for late-night comment when it's too many years since I did this. It would be nice if all fields of science could agree that "higher" means "further toward positive infinity" but never mind. Contrary to what I said, more negative is indeed more serious, and the code treats it as such. So failure to report a more negative deltaG is indeed a concern.

@Nurisson
Copy link
Author

Nurisson commented Mar 20, 2024

Hello again! Thank you for a detailed response/

I think i can guess what's going on. DeltaG formula in Pooler is ok, but the way we calculate it might be not right. In some articles authors use 1M of salt and 25 degrees Celsius (standard condition in physics), sometimes 37 degrees and more.

image
https://chemistry.stackexchange.com/questions/53857/does-%E2%88%86g%C2%BA-exist

So i tried these parameters (with 0 for Mg and dNTP) and now it looks similar to other tools - there's still some difference, but this time not that big. Sorry for bothering, it was just my mistake in calculations.

@ssb22 ssb22 changed the title is deltaG bugged? Commercial software's deltaG values are more negative than PrimerPooler's Mar 20, 2024
@ssb22
Copy link
Owner

ssb22 commented Mar 20, 2024

Thanks. Wait, the physicists use a whole mole of salt per litre? That could seriously affect the melting temperature. Someone at the lab I was helping had said 50 mM/L so I made that the suggestion; I don't know how that matches up with the defaults of other software (and I'm not sure what we're supposed to make of a table that uses different conditions for MFEprimer than everything else). Getting defaults right is hard because people have too much "automation bias" (the tendency to assume a computer has been correctly programmed: if I were to walk into a strange lab myself and say "set this to 50" or "use 3 pools" they'd say "who are you" and call security, but if my software suggests it, that's different...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants