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[0])
        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[1])

Question first asked at stack-exchange: http://stackoverflow.com/questions/30037939/biopython-big-discrepancy-calculating-rna-melting-temperature-over-literature