最近邻法 Tm 计算器
用最近邻热力学模型算 DNA 寡核苷酸的解链温度 Tm,同时给出 ΔH°、ΔS° 与 ΔG°₃₇, 并能把 PCR 缓冲液里的 Mg²⁺ 和 dNTP 折算成钠当量——这一步常被忽略,却能让 Tm 差出 6 °C 以上。
序列基本统计 那一页算 Tm 用的是 Wallace 规则和 GC 公式, 并明说「真要定 PCR 退火温度,请用最近邻热力学模型」——这一页把它补上。
为什么 GC 公式不够用
GC 公式 Tm = 64.9 + 41 × (GC − 16.4) / N 只用到两个数:长度和 GC 个数。
换句话说,只要长度和 GC 含量相同,它给出的 Tm 就完全一样。
但双链的稳定性不只取决于碱基组成,更取决于碱基的排列顺序: 真正贡献能量的是相邻碱基对之间的堆叠作用,而不是单个碱基。
下面两条都是 20 nt、GC 正好 50%:
| 序列 | GC 公式 | 最近邻(2004 版) |
|---|---|---|
GATACCTCTCCTTATCCCTC |
51.8 °C | 49.4 °C |
AACGCAACGCCACCCAAAAA |
51.8 °C | 58.6 °C |
GC 公式认为这两条一模一样,最近邻模型算出来相差 9.1 °C。 如果按 51.8 °C 定退火温度,第二条退得太松,容易出非特异条带; 第一条则退得太紧,可能干脆不出产物。
(上表两条序列是在 8000 条随机的 20 nt、GC 50% 序列里,取最近邻 Tm 最低和最高的两条。)
堆叠能差多少
本页顶部那张图列出了 10 种相邻碱基组合在 37 °C 的自由能,可以看清「顺序为什么重要」。
最稳的 GC/CG 与最不稳的 TA/AT 相差 1.64 kcal/mol。
一条 20 nt 的引物有 19 个这样的堆叠,差异逐个累加,最后就体现为几度的 Tm 差别。
注意 AT/TA 和 TA/AT 碱基组成完全相同,ΔG°₃₇ 却是 −0.87 与 −0.59——
同样两个碱基,谁在 5′ 谁在 3′ 都会改变稳定性,这是 GC 公式原理上就无法表达的。
最近邻热力学参数
| 堆叠 | ΔH° (kcal/mol) | ΔS° (cal/(K·mol)) | ΔG°₃₇ (kcal/mol) |
|---|---|---|---|
GC/CG |
-9.8 | -24.4 | -2.23 |
CG/GC |
-10.6 | -27.2 | -2.16 |
GG/CC |
-8.0 | -19.9 | -1.83 |
CA/GT |
-8.5 | -22.7 | -1.46 |
GT/CA |
-8.4 | -22.4 | -1.45 |
GA/CT |
-8.2 | -22.2 | -1.31 |
CT/GA |
-7.8 | -21.0 | -1.29 |
AA/TT |
-7.6 | -21.3 | -0.99 |
AT/TA |
-7.2 | -20.4 | -0.87 |
TA/AT |
-7.2 | -21.3 | -0.59 |
起始项 ΔH° = 0.2、ΔS° = -5.7;末端为 A 或 T 时每端再加 ΔH° = 2.2、ΔS° = 6.9;自身互补序列 ΔS° 再加 -1.4。表为 SantaLucia & Hicks (2004),工具里可切换到 Allawi & SantaLucia (1997)。
表中 ΔG°₃₇ 由同一张表的 ΔH°、ΔS° 按 ΔG = ΔH − 310.15 × ΔS / 1000 算得,
与文献中单独拟合的 ΔG° 值相差不超过 0.015 kcal/mol。
Mg²⁺ 必须算进去
很多在线 Tm 计算器的默认条件里不含 Mg²⁺(本工具的默认值也是 0), 而实际 PCR 体系通常含 1.5–2 mM Mg²⁺。拿前者的数字去定后者的退火温度,就会偏低。
二价阳离子对双链的稳定作用远强于一价,常用的折算是
[Na⁺]当量 = [Na⁺] + 120 × √([Mg²⁺] − [dNTP])(浓度单位 mM)。
dNTP 要减掉,因为它会螯合游离 Mg²⁺。
以 ACTGGTCAACGTATGCAAGT 为例(引物 250 nM):
| 条件 | 一价钠当量 | Tm |
|---|---|---|
| 50 mM Na⁺,无 Mg²⁺ | 50 mM | 53.8 °C |
| 50 mM Na⁺ + 1.5 mM Mg²⁺ + 0.2 mM dNTP | 187 mM | 60.3 °C |
| 同上,Mg²⁺ 提到 2.0 mM | 211 mM | 61.0 °C |
同一条引物,从 53.8 °C 升到 60.3 °C。 这就是为什么「Tm 算出来 54 度,退火 55 度却出一堆杂带」—— 实际反应体系里的 Tm 是 60 度,55 度退火过于宽松。
三种算法在同一条序列上的差别
还是 ACTGGTCAACGTATGCAAGT(20 nt、GC 45%,250 nM 引物、50 mM Na⁺):
| 方法 | Tm |
|---|---|
Wallace 规则 2×AT + 4×GC |
58.0 °C |
| GC 公式 | 49.7 °C |
| 最近邻(2004 版) | 53.8 °C |
三者相差 8 °C 以上。Wallace 规则本来只适用于 14 nt 以下的短寡核苷酸, 用在 20 nt 上会明显偏高;GC 公式适用于 14–50 nt,但如前所述看不出序列顺序。 这条引物的 ΔH° = −153.2 kcal/mol,ΔS° = −435.6 cal/(K·mol),ΔG°₃₇ = −18.08 kcal/mol。
两套参数表
工具里可以切换两套最近邻参数:
- SantaLucia & Hicks (2004) — 默认,目前的通用标准,IDT 等厂商用的也是这一套。
- Allawi & SantaLucia (1997) — 早期的一套,两者只在
AA/TT的 ΔH°、ΔS° 和起始项上不同。
对绝大多数引物,两套算出来相差不到 0.5 °C。列出来是因为不同软件默认用的表不一样, 这常常是「两个网站算出的 Tm 不一致」的原因之一。
数据与实现的出处
- 最近邻参数:Allawi HT & SantaLucia J Jr (1997) Biochemistry 36:10581–10594; SantaLucia J Jr & Hicks D (2004) Annu Rev Biophys Biomol Struct 33:415–440。
- 盐校正
ΔS + 0.368 × (N−1) × ln[Na⁺]:SantaLucia J Jr (1998) PNAS 95:1460–1465。 - Mg²⁺ 与 dNTP 折算钠当量:von Ahsen N, Wittwer CT, Schütz E (2001) Clin Chem 47:1956–1961(PMID 11673362)。
参数表不是人工誊抄的:从 primer3 的 oligotm.c 和 Biopython 的 MeltingTemp.py 两份
独立源码里程序化提取后逐项比对,16 个二核苷酸的 ΔH°、ΔS° 全部一致。
本页的计算又用 4004 条随机序列与 Biopython 的 Tm_NN 对拍过,最大偏差 6×10⁻¹⁴ °C。
这个工具的边界
算的是完全配对的双链。 引物与模板有错配、或者末端悬垂时,需要额外的 错配参数,本工具不处理。
不检查二聚体和发夹。 一条 Tm 合适的引物仍可能自我配对, 请配合 引物二聚体检测 一起看。
算的是设计阶段的 Tm,不管你手上那管引物。 引物寄到之后怎么复溶、配母液加多少水,见 引物复溶与稀释计算器。
不做模板特异性检查。 引物在基因组上有没有别的结合位点,要用 Primer-BLAST 判断。
盐校正用的是 SantaLucia (1998) 那一套,与 primer3 的 santalucia 模式实现一致。 另一些工具(如 IDT OligoAnalyzer)用 Owczarzy (2004/2008) 的校正,公式不同, 在含 Mg²⁺ 的条件下结果不会完全一致。
常见问题
为什么这里算的 Tm 和 IDT 网站不一样?
常见原因有三个,按影响大小排。一是 Mg²⁺:如果对方的默认条件不含 Mg²⁺ 而你的体系有 1.5–2 mM,Tm 会差 6 °C 以上,把 Mg²⁺ 和 dNTP 都填进去再比。二是引物浓度:本工具默认 250 nM,有的计算器默认 50 nM,同一条引物这两个设置相差 2.2 °C。三是盐校正公式:本工具用 SantaLucia (1998) 的校正,与 primer3 的 santalucia 模式一致;另一些工具用 Owczarzy (2004/2008) 的校正,公式不同,结果不会完全一样。
退火温度应该定多少?
常用的经验起点是取两条引物中较低的 Tm 再减 5 °C 左右,然后用梯度 PCR 在这个值上下几度实测确认。但这只是经验做法:高保真酶(如各类 Q5、Phusion 类产品)的厂商往往给出不同的换算建议,应以你所用酶的说明书为准。本工具给出的是 Tm,不是退火温度。
两条引物的 Tm 差多少算可以接受?
一般建议不超过 5 °C。同一个退火温度要同时适合两条引物,Tm 差太多时,低的那条退火不牢、高的那条又容易结合到非特异位点。差距过大时通常靠调整引物长度来配平,而不是硬凑退火温度。
Wallace 规则和 GC 公式什么时候还能用?
Wallace 规则(2×AT + 4×GC)适用于 14 nt 以下的短寡核苷酸,用于更长的序列会明显偏高;GC 公式适用于 14–50 nt,但它只看长度和 GC 个数,无法区分碱基顺序。本页正文里两条同为 20 nt、GC 50% 的序列,GC 公式给出同一个值,最近邻模型相差 9.1 °C。要定 PCR 条件,用最近邻模型。
ΔG°₃₇ 有什么用?
它衡量双链在 37 °C 的稳定性,越负越稳。做探针、siRNA 或者比较几条候选引物的相对强弱时会用到。注意本工具给的是引物与其完全互补链形成双链的 ΔG°,不是引物自我折叠或二聚体的 ΔG°,后者需要专门的二级结构算法。
为什么自身互补的序列要单独处理?
回文序列(反向互补等于自身)解链时两条链是相同的,统计上的浓度项和对称性熵都不一样:公式里的浓度项从 CT/4 变成 CT,另外 ΔS° 要再加 −1.4 cal/(K·mol) 的对称校正。本工具会自动检测并在结果里标出「自身互补(回文)」。
数据可靠吗,是不是模型编出来的?
不是。最近邻参数从 primer3 的 oligotm.c 和 Biopython 的 MeltingTemp.py 两份独立源码里程序化提取,16 个二核苷酸的 ΔH° 与 ΔS° 逐项比对全部一致;本页的计算又用 4004 条随机序列与 Biopython 的 Tm_NN 对拍,最大偏差 6×10⁻¹⁴ °C。原始文献在正文「数据与实现的出处」一节列出。