I experience big discrepancies when calculating melting temperature of RNA 7-mers with Biopython over values generated by a popular algorithm.
I tried the nearest neighbour algorithm with RNA and salt concentrations as described in a respective paper (thermodynamic table used as in paper below from: Freier et al 1986). Yet, the values largely differ (execute code below to see). I tried all seven salt correction methods provided by Biopython, still I never get close to the values generated by siRNA design algorithm for the same 7-mers.
Can someone tell me how accurate Biopython's melting temperature nearest neighbour algorithm is? Especially for short oligomers like my 7-mers? Is there maybe something I am implementing wrong? Any suggestions?
Values derived from executing sample input: http://sidirect2.rnai.jp/ Tm is given for the seed duplex of the guide strand: bases 2-7
Literature: "Thermodynamic stability and Watson–Crick base pairing in the seed duplex are major determinants of the efficiency of the siRNA-based off-target effect" http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2602766/pdf/gkn902.pdf
from Bio.Seq import Seq from Bio.SeqUtils import MeltingTemp test_list = [ ('GGAUUUG', 21.5), ('CUCAUUG', 18.1), ('CAUAUUC', 8.7), ('UUUGAGU', 19.2), ('UUUUGAG', 12.2), ('GUUUCAA', 14.9), ('AGUUUCG', 19.7), ('GAAGUUU', 13.3) ] for t in test_list: myseq = Seq(t) tm = MeltingTemp.Tm_NN(myseq, dnac1=100, Na=100, nn_table=MeltingTemp.RNA_NN1, saltcorr=7) # NN1 = Freier et al (1986) tm = round(tm, 1) # round to one decimal print 'BioPython Tm: ' + str(tm) + ' siDirect Tm: ' + str(t) # Output: >>> BioPython Tm: 10.1 siDirect Tm: 21.5 # GGAUUUG >>> BioPython Tm: 8.2 siDirect Tm: 18.1 # CUCAUUG >>> BioPython Tm: -2.0 siDirect Tm: 8.7 # CAUAUUC >>> BioPython Tm: 8.2 siDirect Tm: 19.2 # UUUGAGU >>> BioPython Tm: 1.3 siDirect Tm: 12.2 # UUUUGAG >>> BioPython Tm: 4.4 siDirect Tm: 14.9 # GUUUCAA >>> BioPython Tm: 9.0 siDirect Tm: 19.7 # AGUUUCG >>> BioPython Tm: 2.1 siDirect Tm: 13.3 # GAAGUUU
Question first asked at stack-exchange: https://stackoverflow.com/questions/30037939/biopython-big-discrepancy-calculating-rna-melting-temperature-over-literature