Primer3 是广泛使用的 PCR 引物设计核心引擎:在给定模板与约束下搜索寡核苷酸引物或引物对,并用最近邻热力学评估 Tm、发夹与二聚体等。多数多重/批量工具(如 MPprimer、PMPrimer)将其作为候选引物生成模块,外层再做多引物兼容与特异性筛选。
文献与官方资源
| 类型 | 说明 |
|---|---|
| 方法学文献 | Rozen S, Skaletsky H. Primer3 on the WWW for general users and for biologist programmers. Methods Mol Biol. 2000;132:365–386. |
| Primer3Plus(Web) | Untergasser A, et al. Nucleic Acids Res. 2007;35(Web Server issue):W71–W74. DOI 10.1093/nar/gkm306;能力与接口更新:NAR 2012;40(W1):W205–W208. DOI 10.1093/nar/gks596 |
| 手册 | https://primer3.org/manual.html |
| 上游源码 | primer3-org/primer3(C;GPL v2,以仓库为准) |
| Python 绑定 | primer3-py(primer3.bindings.design_primers) |
应用场景
- 常规 PCR / 测序前扩增:在单段模板上设计 1 对引物,控制产物长度与 Tm 窗口。
- qPCR / 染料或探针法:配合
PRIMER_INTERNAL_*等标签设计内参探针区(依实验设计)。 - 作为上游引擎:由脚本或第三方软件批量调用,为每个靶区生成多组候选,再进入多重兼容、BLAST 等步骤。
- 不擅长单独完成:多重 PCR 引物池组合优化(交叉二聚体、条带间距、通量均衡)需外层逻辑或其它专用工具。
使用帮助
部署形态
| 方式 | 说明 |
|---|---|
| 在线 | Primer3Plus 等网页封装,表单填写序列与参数,浏览器出结果。 |
| 本地/服务器 | 编译 primer3-org/primer3 可执行文件,或由 Python/R 绑定在流水线中调用。 |
| 集成环境 | Galaxy、自定义 Snakemake 等常通过封装命令或库调用。 |
输入与输出
- 典型输入
- 序列:
SEQUENCE_TEMPLATE(DNA,IUPAC 简并符依设置允许); - 设计区间:
SEQUENCE_INCLUDED_REGION、SEQUENCE_TARGET(强制覆盖某区)、SEQUENCE_EXCLUDED_REGION等; - 产物长度:
PRIMER_PRODUCT_SIZE_RANGE或PRIMER_PAIR_OK_REGION_LIST等; - 全局约束:
PRIMER_MIN/OPT/MAX_*、PRIMER_TM_FORMULA、二聚体/发夹相关PRIMER_MAX_SELF_*、PRIMER_PAIR_MAX_COMPL_*、离子与浓度PRIMER_SALT_MONOVALENT、PRIMER_DNA_CONC等(完整列表见 Manual)。
- 序列:
- 典型输出(键名因版本略异)
- 候选 LEFT/RIGHT 序列、起止位置、Tm、GC%;
- PENALTY 及分项惩罚(长度、Tm、二聚体等);
- 产物长度与(若启用)oligo 二级结构相关评分。
资源与环境
- 算力:单任务通常为秒级(长度数百 bp 量级);批量靶点线性增加时间。
- 内存:常规桌面环境即可;全基因组作为
SEQUENCE_TEMPLATE不现实,应只提交局部片段。 - 依赖:绑定库需与 primer3 动态库版本匹配;Python 3 与虚拟环境见各 PyPI 包说明。
功能与算法原理
1. 候选引物搜索与惩罚函数
Primer3 在指定窗口内枚举或搜索候选 forward/reverse oligo,对长度、Tm、GC%、与模板的结合质量等加权形成 penalty,返回多组时按 penalty 排序(见手册 Output 与 Primer penalties 节)。本质是带约束的启发式搜索,而非单一闭式解。
惩罚(示意):各分项为「相对目标/阈值的超出量」的函数,再线性或非线性合成总 penalty(具体权重与分项定义以 Manual 为准):
$$
\text{penalty} \approx \sum_{k} w_k \cdot f_k\bigl(\text{deviation}_k\bigr),\quad f_k \ge 0
$$
其中 (\text{deviation}_k) 可对应 Tm 偏离 PRIMER_OPT_TM、长度 偏离 PRIMER_OPT_SIZE、GC%、self/ pair complementarity、产物长度等。
1 | flowchart LR |
2. Tm 与热力学
默认使用 SantaLucia 等最近邻热力学参数计算寡核苷酸与模板的结合强度及 Tm(手册中 PRIMER_TM_FORMULA、盐与 DNA 浓度校正)。发夹、同源二聚体、异源二聚体在开启热力学对齐时同样基于自由能评估。
2.1 最近邻自由能(与模板互补区段)
对完全互补的双链区段,标准自由能可近似为双核苷酸堆叠项之和(nearest-neighbor 模型;参数表见 SantaLucia 与 Primer3 所用表):
$$
\Delta G^\circ_{\text{duplex}} \approx \sum_{(\mathrm{NN})} \Delta G^\circ_{\mathrm{NN}} + \Delta G^\circ_{\mathrm{sym/init}} + \text{末端修正}
$$
$\Delta G^\circ_{\mathrm{NN}}$ 为相邻碱基对步的堆叠参数;对称性、末端 GC/AT 等修正项在 oligotm 实现中一并计入(与手动手算时「只加 NN」略有差异,以源码为准)。
2.2 Tm(浓度与盐依赖,示意)
在 双链–单链平衡 近似下,(T_m) 由 ΔH°、ΔS°、引物浓度 与 盐环境 共同决定;常见写法之一为(Breslauer / SantaLucia 体系与 oligotm 中的常数项、对数项一一对应,以下仅保留结构):
$$
\frac{1}{T_m} \approx \frac{1}{T_m^{\mathrm{ref}}} + \frac{R}{\Delta H^\circ}\ln C_{\mathrm{eff}} + f_{\mathrm{salt}}\bigl([\mathrm{Na}^+],[\mathrm{Mg}^{2+}],\ldots\bigr)
$$
单价/二价离子、dNTP、甲酰胺等由 PRIMER_SALT_MONOVALENT、PRIMER_SALT_DIVALENT、PRIMER_DNTP_CONC 等进入 (f_{\mathrm{salt}}) 或等价项(见手册 Thermodynamic alignment / Tm 与源码 oligotm)。不同 PRIMER_TM_FORMULA 取值对应不同参数集或近似路径,以当前编译版本输出为准。
3. 二级结构与二聚体
对候选序列计算 hairpin、self-dimer、pair dimer(PRIMER_THERMODYNAMIC_OLIGO_ALIGNMENT 等);超过阈值则增大 penalty 或剔除。原理为在寡核苷酸序列上滑动比对并用热力学矩阵估计 ΔG(详见源码 oligotm / thal 等模块与 NAR 2012 对能力的描述)。
发夹/二聚体(示意):在两条序列(或同一条回折)上取可能碱基配对的区段,对配对区用最近邻模型求 (\Delta G^\circ_{\text{loop+stem}})(环区可用近似),并与阈值比较:
$$
\Delta G^\circ_{\text{structure}} \le \Delta G^\circ_{\max} \Rightarrow \text{判为高风险结构}
$$PRIMER_MAX_SELF_ANY、PRIMER_PAIR_MAX_COMPL_END 等与结合长度、末端匹配约束共同限制可接受的结构。
4. 配图(文献 / 官方)
Primer3 核心算法以手册与源码为准;界面与能力的学术描述见 Primer3Plus / Primer3 更新论文:
| 说明 | 链接 |
|---|---|
| Primer3Plus 论文(Oxford Academic) | https://academic.oup.com/nar/article-lookup/doi/10.1093/nar/gkm306 |
| Primer3 新能力与接口(2012,含 Web 架构相关讨论) | https://academic.oup.com/nar/article-lookup/doi/10.1093/nar/gks596 |
| 官方手册(参数与输出定义) | https://primer3.org/manual.html |
期刊 PDF 中的 Figure 可在上述论文页面下载,作为「原图」引用来源。
Python 调用示例(primer3-py)
1 | import primer3 |
若无解,可分层放松 global_args 或缩小 SEQUENCE_TARGET 范围。
局限性
- 非多重专用:不解决同管多对引物的交叉二聚体与条带分辨率,需 MPprimer / PMPrimer 等或自建流程。
- 模板质量敏感:低复杂度、重复区、错误组装的片段易导致非特异;需上游 RepeatMasker / 比对 等预处理。
- 参数敏感:过严时无候选;需结合实验体系(酶、Mg²⁺、循环数)迭代。
- 简并/多等位基因:需正确设置 IUPAC 与
PRIMER_MAX_NS_ACCEPTED等,复杂场景常配合 简并引物专用工具。
参考资料
- Primer3 Manual
- primer3-org/primer3
- Rozen S, Skaletsky H. Methods Mol Biol. 2000;132:365–386.
- Untergasser A, et al. Nucleic Acids Res. 2007;35:W71–W74. https://doi.org/10.1093/nar/gkm306
- Untergasser A, et al. Nucleic Acids Res. 2012;40:W205–W208. https://doi.org/10.1093/nar/gks596