Biopython - 计算 RNA 解链温度与文献的巨大差异
Biopython - Big Discrepancy Calculating RNA melting Temperature over Literature
我在使用 Biopython 计算 RNA 7-mers 的 熔化温度 时遇到了很大的差异由流行算法生成的值。
我尝试了使用 RNA 和盐浓度的最近邻算法,如相应论文中所述(热力学 table 在以下论文中使用:Freier et al 1986 ).然而,这些值有很大不同(执行下面的代码可以看到)。
我尝试了 Biopython 提供的所有七种盐校正方法,但我仍然无法接近 siRNA 设计算法为相同的 7 聚体生成的值。
谁能告诉我Biopython的解链温度最近邻算法有多准确?特别是对于像我的 7 聚体这样的短寡聚物?有没有我实施错误的地方?有什么建议吗?
执行样本输入得出的值:
http://sidirect2.rnai.jp/
Tm 是针对 引导链 的种子双链体给出的:bases 2-7
文学:
"热力学稳定性和 Watson–Crick
种子双链体中的碱基配对是主要的
效率的决定因素
基于siRNA的脱靶效应"
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])
我在 biology.stackexchange and Biostars 回答了问题。简而言之:似乎 siDirect 由于使用了高 1000 倍的引物浓度而计算出 Tm 错误。
我在使用 Biopython 计算 RNA 7-mers 的 熔化温度 时遇到了很大的差异由流行算法生成的值。
我尝试了使用 RNA 和盐浓度的最近邻算法,如相应论文中所述(热力学 table 在以下论文中使用:Freier et al 1986 ).然而,这些值有很大不同(执行下面的代码可以看到)。 我尝试了 Biopython 提供的所有七种盐校正方法,但我仍然无法接近 siRNA 设计算法为相同的 7 聚体生成的值。
谁能告诉我Biopython的解链温度最近邻算法有多准确?特别是对于像我的 7 聚体这样的短寡聚物?有没有我实施错误的地方?有什么建议吗?
执行样本输入得出的值: http://sidirect2.rnai.jp/ Tm 是针对 引导链 的种子双链体给出的:bases 2-7
文学: "热力学稳定性和 Watson–Crick 种子双链体中的碱基配对是主要的 效率的决定因素 基于siRNA的脱靶效应" 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])
我在 biology.stackexchange and Biostars 回答了问题。简而言之:似乎 siDirect 由于使用了高 1000 倍的引物浓度而计算出 Tm 错误。