Primer3 -- 引物设计

1. Primer3 简介

项目 说明
参考文档 Primer3帮助文档
主页 Primer3官网
网页版 在线工具
源代码 SourceForge项目
文献 Steve Rozen and Helen J. Skaletsky (2000) Primer3 on the WWW for general users and for biologist programmers. In: Krawetz S, Misener S (eds) Bioinformatics Methods and Protocols: Methods in Molecular Biology. Humana Press, Totowa, NJ, pp 365-386

2. 安装 Primer3

$ wget http://downloads.sourceforge.net/project/primer3/primer3/2.3.6/primer3-src-2.3.6.tar.gz
$ tar zxf primer3-src-2.3.6.tar.gz -C /opt/biosoft
$ cd primer3-2.3.6/src/
$ make all
$ make test   此项用于检测 primer3 是否正确安装,确保输出中不能有 FAILED。
$ echo 'PATH=$PATH:/opt/biosoft/primer3-2.3.6/src/' >> ~/.bashrc
$ source ~/.bashrc

3. 使用 Primer3

Primer3 的主程序是 primer3_core

3.1 primer3_core 的常用例子和参数

常用例子:

$ perl -n -e 's/\s*#.*//;print' /opt/biosoft/primer3-2.3.6/my_default_settings.txt > p3_settings_file 
$ primer3_core -p3_settings_file p3_settings_file -strict_tags input_file > result.p3.out
如果没有input file,则 primer3_core 从标准输入读取数据。

常用参数:

参数 说明 默认值/示例
-about 显示primer3版本号并退出 -
-default_version=n 设置默认版本 n=2(最新), n=1(2.23或之前版本)
-format_output 产生人类易读的结果 默认产生机器可读的Boulder-IO格式
-strict_tags 要求输入文件标签全部正确 不设置则忽略不识别的参数
-p3_settings_file=file_path 指定配置文件路径 文件格式要求:
1. "Primer3 File..."
2. "P3_FILE_TYPE=settings"
3. 空行
4. Boulder-IO内容
-echo_settings_file 打印配置文件信息 无配置文件或含-format_output时失效
-io_version=n IO版本设置 仅支持n=4
-output=file_path 指定输出文件路径 默认输出到标准输出
-error=file_path 指定错误信息输出路径 默认输出到stderr

3.2 Primer3 的输入和输出

默认设置下,primer3 的输入文件为 Boulder-IO 格式的,该格式有利于程序间的相互交流。同时输出文件的格式也为 Boulder-IO。该文件格式是文本形式的,每一个引物设计的记录的结尾以“=\n”进行分隔。每个记录由多个标签和对应的值构成。例如:

SEQUENCE_ID=example
SEQUENCE_TEMPLATE=GTAGTCAGTAGACNATGACNACTGACGATGCAGACNACACACACACACACAGCACACAGGTATTAGTGGGCCATTCGATCCCGACCCAAATCGATAGCTACGATGACG
SEQUENCE_TARGET=37,21
PRIMER_TASK=generic
PRIMER_PICK_LEFT_PRIMER=1
PRIMER_PICK_INTERNAL_OLIGO=1
PRIMER_PICK_RIGHT_PRIMER=1
PRIMER_OPT_SIZE=18
PRIMER_MIN_SIZE=15
PRIMER_MAX_SIZE=21
PRIMER_MAX_NS_ACCEPTED=1
PRIMER_PRODUCT_SIZE_RANGE=75-100
P3_FILE_FLAG=1
SEQUENCE_INTERNAL_EXCLUDED_REGION=37,21
PRIMER_EXPLAIN_FLAG=1
=

3.3 常用 primer3 标签

primer3发布2.0后,许多的Boulder-IO的标签有了变动,而且新增了许多标签。标签分三类:分别以SEQUENCE_,PRIMER_P3_开头。关于标签的变动,具体参考本文开头的参考网址。

SEQUENCE 标签 (以 SEQUENCE_ 开头)

标签名称 类型 默认值 说明
SEQUENCE_ID string empty 序列的名称,为序列的简要描述
SEQUENCE_TEMPLATE nucleotide sequence empty 进行引物设计的模板链序列,方向必须是从5'到3'。碱基序列最好用大写字母,并且序列中的所有碱基都在一行上书写
SEQUENCE_INCLUDED_REGION interval list empty 格式:<start>,<length>。在从序列的第<start>位点的碱基开始,到往后<length>长度的子序列中设计引物
SEQUENCE_TARGET interval list empty 格式:<start>,<length>。要扩增的目的片段区域,设计的引物在此区域的侧翼才能获得较好分值
SEQUENCE_EXCLUDED_REGION interval list empty 格式:<start>,<length>。设计引物时要避开此段子序列区域
SEQUENCE_PRIMER_PAIR_OK_REGION_LIST semicolon separated list empty 格式:<left_start>,<left_length>,<right_start>,<right_length>。多个值用";"隔开,指定引物设计可选区域
SEQUENCE_OVERLAP_JUNCTION_LIST space separated integers empty 指定引物在此位置要有重叠,与PRIMER_MIN_3_PRIME_OVERLAP_OF_JUNCTIONPRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION搭配使用
SEQUENCE_INTERNAL_EXCLUDED_REGION interval list empty 格式:<start>,<length>。中间oligos的设计避开此段子序列
SEQUENCE_PRIMER nucleotide sequence empty 左引物序列,必须是SEQUENCE_TEMPLATE的子序列
SEQUENCE_INTERNAL_OLIGO nucleotide sequence empty 中间oligo序列,必须是SEQUENCE_TEMPLATE的子序列
SEQUENCE_PRIMER_REVCOMP nucleotide sequence empty 右引物序列,必须是SEQUENCE_TEMPLATE的反向互补子序列
SEQUENCE_START_CODON_POSITION int -2000000 标记起始密码子的第一个碱基位点
SEQUENCE_QUALITY space separated integers empty 一系列以空格隔开的碱基质量值,对应模板链上的碱基
SEQUENCE_FORCE_LEFT_START int -1000000 强制左引物的5'端从指定位置开始
SEQUENCE_FORCE_LEFT_END int -1000000 强制左引物的3'端到指定位置结束
SEQUENCE_FORCE_RIGHT_START int -1000000 强制右引物的5'端从指定位置开始
SEQUENCE_FORCE_RIGHT_END int -1000000 强制右引物的3'端到指定位置结束

全局输入标签 (以 PRIMER_ 开头):

PRIMER_TASK (string; default generic)
该标签确定 primer3 设计什么引物,其有效的值有:

1. generic
最常用的值,即设计引物对。

2. pick_detection_primers
该值已取消。和 generic 等同。

3. check_primers
对引物进行检测,必须要在 SEQUENCE_PRIMER, SEQUENCE_INTERNAL_OLIGO 和 SEQUENCE_PRIMER_REVCOMP 标签中提供引物序列。

4. pick_primer_list
仅仅独立地进行 left primers, right primers 和 internal oligos 的提取。

5. pick_sequencing_primers
设计引物适合于对目标区域进行测序。可以使用 SEQUENCE_TARGET 来制定多个目标区间。为了获得最佳的测序结果,来计算 primer 的位置。此时会忽略 PRIMER_PRODUCT_SIZE_RANGE 所设定的值。

6. pick_cloning_primers
设计引物用于基因的克隆。必须使用 SEQUENCE_INCLUDED_REGION 来指定模板序列中起始和终止的核苷酸位置(ORF的起始与终止)。从而,程序仅能调节引物序列的长度。同时再进行 PRIMER_PICK_ANYWAY=1 而不考虑和其它引物设计条例相冲突,来强制设计引物。

7. pick_discriminative_primers
设计多态性扩增引物,用于将一个引物的序列强制设计到一个多态性位点上。和上一个方法原理一致,需要设置 SEQUENCE_INCLUDED_REGION 和 PRIMER_PICK_ANYWAY=1 标签。

8. pick_pcr_primers
该值已取消。等同于:
PRIMER_TASK=generic
PRIMER_PICK_LEFT_PRIMER=1
PRIMER_PICK_INTERNAL_OLIGO=1
PRIMER_PICK_RIGHT_PRIMER=1

9. pick_pcr_primers_and_hyb_probe
该值已取消。 和 pick_pcr_primers 完全一致。

10. pick_left_only
该值已取消。仅设计 left primer.

11. pick_right_only
该值已取消。仅设计 right primer.

12. pick_hyb_probe_only
该值已取消。仅设计 interanl oligo.
PRIMER_PICK_LEFT_PRIMER (boolean; default 1)
是否设计 left primer.

PRIMER_PICK_INTERNAL_OLIGO (boolean; default 0)
是否设计 internal oligo.

PRIMER_PICK_RIGHT_PRIMER (boolean; default 1)
是否设计 right primer.

PRIMER_NUM_RETURN (int; default 5)
最大返回的引物(对)数目。这些引物(对)按其质量进行排序。增大该值将增加运算时间。

PRIMER_MIN_3_PRIME_OVERLAP_OF_JUNCTION (int; default 4)
默认设置下,引物的 3' 端序列和模板指定位置必须要有 4 个碱基的重叠。

PRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION (int; default 7)
默认设置下,引物的 5' 端序列和模板指定位置必须要有 4 个碱基的重叠。

PRIMER_MUST_MATCH_FIVE_PRIME (ambiguous nucleotide sequence; default empty)
该值是个 5bp 长度的碱基序列(可以使用各种模糊碱基字符),用于指定引物 5' 端的序列。

PRIMER_INTERNAL_MUST_MATCH_FIVE_PRIME (ambiguous nucleotide sequence; default empty)
和上一个标签一致,用于指定 internal oligo 的 5' 端序列。

PRIMER_MUST_MATCH_THREE_PRIME (ambiguous nucleotide sequence; default empty)
该值是个 5bp 长度的碱基序列(可以使用各种模糊碱基字符),用于指定引物 3' 端的序列。

PRIMER_INTERNAL_MUST_MATCH_THREE_PRIME (ambiguous nucleotide sequence; default empty)
和上一个标签一致,用于指定 internal oligo 的 3' 端的序列。

PRIMER_PRODUCT_SIZE_RANGE (size range list; default 100-300)
指定引物产物的长度范围。

PRIMER_PRODUCT_OPT_SIZE (int; default 0)
指定引物产物最佳的长度值。

PRIMER_PAIR_WT_PRODUCT_SIZE_LT (float; default 0.0)
如果产物长度低于 PRIMER_PRODUCT_OPT_SIZE 的值,所得到的罚分。

PRIMER_PAIR_WT_PRODUCT_SIZE_GT (float; default 0.0)
如果产物长度高于 PRIMER_PRODUCT_OPT_SIZE 的值,所得到的罚分。

PRIMER_MIN_SIZE (int; default 18)
所允许的最小的 primer 长度。

PRIMER_INTERNAL_MIN_SIZE (int; default 18)
所允许的最小的 internal oligo 长度。

PRIMER_OPT_SIZE (int; default 20)
最佳的 primer 长度。

PRIMER_INTERNAL_OPT_SIZE (int; default 20)
最佳的 internal oligo 长度。

PRIMER_MAX_SIZE (int; default 27)
所允许的最大的 primer 长度。

PRIMER_INTERNAL_MAX_SIZE (int; default 27)
所允许的最大的 internal oligo 长度。

PRIMER_WT_SIZE_LT (float; default 1.0)
primer 比最佳长度小所获得的罚分。

PRIMER_INTERNAL_WT_SIZE_LT (float; default 1.0)
internal oligo 比最佳长度小所获得的罚分。

PRIMER_WT_SIZE_GT (float; default 1.0)
primer 比最佳长度大所获得的罚分。

PRIMER_INTERNAL_WT_SIZE_GT (float; default 1.0)
internal oligo 比最佳长度大所获得的罚分。

PRIMER_MIN_GC (float; default 20.0)
primer 中所允许的最小的 GC 含量的百分比。

PRIMER_INTERNAL_MIN_GC (float; default 20.0)
internal oligo 中所允许的最小的 GC 含量的百分比。

PRIMER_OPT_GC_PERCENT (float; default 50.0)
primer 中最佳的 GC 含量值。

PRIMER_INTERNAL_OPT_GC_PERCENT (float; default 50.0)
internal oligo 中最佳的 GC 含量值。

PRIMER_MAX_GC (float; default 80.0)
primer 中所允许的最大的 GC 含量的百分比。

PRIMER_INTERNAL_MAX_GC (float; default 80.0)
internal oligo 中所允许的最大的 GC 含量的百分比。

PRIMER_WT_GC_PERCENT_LT (float; default 0.0)
primer 比最佳 GC 含量值低所获得的罚分。

PRIMER_INTERNAL_WT_GC_PERCENT_LT (float; default 0.0)
internal oligo 比最佳 GC 含量值低所获得的罚分。

PRIMER_WT_GC_PERCENT_GT (float; default 0.0)
primer 比最佳 GC 含量值高所获得的罚分。

PRIMER_INTERNAL_WT_GC_PERCENT_GT (float; default 0.0)
internal oligo 比最佳 GC 含量值高所获得的罚分。

PRIMER_GC_CLAMP (int; default 0)
要求 left primer 和 right primer 的 3' 末端序列中有连续指定数目的 Gs 或 Cs 碱基。

PRIMER_MAX_END_GC (int; default 5)
left primer 和 right primer 的 3' 末端的 5bp 碱基中最多允许有指定数目的 Gs 或 Cs 碱基。

PRIMER_MIN_TM (float; default 57.0)
primer 所允许的最小的 TM 值。

PRIMER_INTERNAL_MIN_TM (float; default 57.0)
internal oligo 所允许的最小的 TM 值。

PRIMER_OPT_TM (float; default 60.0)
primer 最优的 TM 值。

PRIMER_INTERNAL_OPT_TM (float; default 60.0)
internal oligo 最优的 TM 值。

PRIMER_MAX_TM (float; default 63.0)
primer 所允许的最大的 TM 值。

PRIMER_INTERNAL_MAX_TM (float; default 63.0)
internal oligo 所允许的最大的 TM 值。

PRIMER_WT_TM_LT (float; default 1.0)
primer 低于最优 TM 值的罚分。

PRIMER_INTERNAL_WT_TM_LT (float; default 1.0)
internal oligo 低于最优 TM 值的罚分。

PRIMER_WT_TM_GT (float; default 1.0)
primer 高于最优 TM 值的罚分。

PRIMER_INTERNAL_WT_TM_GT (float; default 1.0)
internal oligo 高于最优 TM 值的罚分。

PRIMER_PAIR_WT_DIFF_TM (float; default 0.0)
left primer 和 right primer 的 TM 值不等的罚分。

PRIMER_PRODUCT_MIN_TM (float; default -1000000.0)
扩增产物所允许最小的 TM 值。

PRIMER_PRODUCT_OPT_TM (float; default 0.0)
扩增产物最佳的 TM 值。 0 表示没有最佳的 TM 值。

PRIMER_PRODUCT_MAX_TM (float; default 1000000.0)
扩增产物所允许最大的 TM 值。计算其 TM 值的公式:Tm = 81.5 + 16.6(log10([Na+])) + 0.41*(%GC) - 600/length。其中[Na+]是钠盐的摩尔浓度;length 是序列的长度。此公式也用于计算 primer and internal oligo 的 Tm 值。

PRIMER_PAIR_WT_PRODUCT_TM_LT (float; default 0.0)
扩增产物低于最佳 TM 值的罚分。

PRIMER_PAIR_WT_PRODUCT_TM_GT (float; default 0.0)
扩增产物高于最佳 TM 值的罚分。

PRIMER_TM_FORMULA (int; default 1)
指定 TM 详细计算方法。 0 表示使用以前版本的兼容的算法。

PRIMER_SALT_MONOVALENT (float; default 50.0)
指定 PCR 反应体系中一价盐的浓度。默认是 50 mM。

PRIMER_INTERNAL_SALT_MONOVALENT (float; default 50.0)
和上一个标签一致。但是 for internal oligo.

PRIMER_SALT_DIVALENT (float; default 1.5)
指定 PCR 反应体系中二价盐(一般是 Mg2+)的浓度。默认是 1.6 mM。

PRIMER_INTERNAL_SALT_DIVALENT (float; default 0.0)
和上一个标签一致,但是 for internal oligo.

PRIMER_DNTP_CONC (float; default 0.6)
DNTP 的总浓度。

PRIMER_INTERNAL_DNTP_CONC (float; default 0.0)
和上一个标签一致,但是 for internal oligo.

PRIMER_SALT_CORRECTIONS (int; default 1)
对盐浓度的校正方法。有 0,1,2 三种方法。

PRIMER_DNA_CONC (float; default 50.0)
PCR 完毕后的 annealing oligo 的浓度。

PRIMER_INTERNAL_DNA_CONC (float; default 50.0)
和上一个标签一致,但是 for internal oligo.

PRIMER_THERMODYNAMIC_OLIGO_ALIGNMENT (boolean; default 1)
该值设为 1, 则程序会使用热力学模型来计算 oligos 形成发夹结构和二聚体的可能性。

PRIMER_THERMODYNAMIC_TEMPLATE_ALIGNMENT (boolean; default 0)
该值设为 1, 则程序会使用热力学模型来计算 oligos 退火时结合到模板链上非特异性位点的可能性。

PRIMER_THERMODYNAMIC_PARAMETERS_PATH (string; default ./primer3_config)
此标签指定进行热动力学方法进行分析所需要的相关参数文件的路径。在 Linux 下有 2 个默认的路径:./primer3_config/ and /opt/primer3_config/ ; 在 Windows 下,只有 1 个默认路径:.\primer3_config\ 。此参数在 Linux 下需要设置为 /opt/biosoft/primer3-2.3.6/src/primer3_config/ 。

PRIMER_MAX_SELF_ANY (decimal, 9999.99; default 8.00)
引物进行自我结合的可能性。自我匹配位点则记 1 分;匹配到 N 则记 -0.25 分;不匹配记 -1 分;打开一个 gap 记 -2 分。例如:
   5' ATCGNA 3'
      || | |
   3' TA-CGT 5'
这个产生的得分为 1.75 。得分越低,则表示越不可能发生引物内碱基匹配。

PRIMER_MAX_SELF_ANY_TH (decimal, 9999,99; default 47.00)
和 PRIMER_MAX_SELF_ANY 一样,但是使用热力学方法进行计算。此标签必须在 PRIMER_THERMODYNAMIC_OLIGO_ALIGNMENT=1 时生效。该标签的默认值比 PRIMER_MIN_TM 标签的值低 10 度。

PRIMER_INTERNAL_MAX_SELF_ANY (decimal, 9999.99; default 12.00)
和上上一个标签一致,但是 for internal oligo.

PRIMER_INTERNAL_MAX_SELF_ANY_TH (decimal, 9999.99; default 47.00)
和上上一个标签一致,但是 for internal oligo.

PRIMER_PAIR_MAX_COMPL_ANY (decimal, 9999.99; default 8.00)
和 PRIMER_MAX_SELF_ANY 一致,但是针对 left primer 结合到 right primer 上的可能性。

PRIMER_PAIR_MAX_COMPL_ANY_TH (decimal, 9999.99; default 47.00)
和上一个标签一样,但是使用热力学的方法进行计算。

PRIMER_WT_SELF_ANY (float; default 0.0)
罚分权重 for PRIMER_MAX_SELF_ANY 的值。

PRIMER_WT_SELF_ANY_TH (float; default 0.0)
罚分权重 for PRIMER_MAX_SELF_ANY_TH 的值。

PRIMER_INTERNAL_WT_SELF_ANY (float; default 0.0)
和上上一个标签一致,但是 for internal oligo.

PRIMER_INTERNAL_WT_SELF_ANY_TH (float; default 0.0)
和上上一个标签一致,但是 for internal oligo.

PRIMER_PAIR_WT_COMPL_ANY (float; default 0.0)
罚分权重 for PRIMER_MAX_SELF_ANY 的值。

PRIMER_PAIR_WT_COMPL_ANY_TH (float; default 0.0)
罚分权重 for PRIMER_MAX_SELF_ANY_TH 的值。

PRIMER_MAX_SELF_END (decimal, 9999.99; default 3.00)
引物的 3' 端可能结合到一起,从而形成一条序列,然后以之为模板进行扩增,形成引物二聚体,从而导致目标序列的扩增失败。该参数设置最多允许碱基在 3' 端进行互补配对的得分为 3。例如:
   5' ATGCCCTAGCTTCCGGATG 3'
                ||| |||||
             3' AAGTCCTACATTTAGCCTAGT 5'

or    5` AGGCTATGGGCCTCGCGA 3'
                  ||||||
               3' AGCGCTCCGGGTATCGGA 5'
前者得分为 7, 后者得分为 6 。

PRIMER_MAX_SELF_END_TH (decimal 9999.99; default 47.00)
和上一个标签一样,不过使用热力学方法进行计算。

PRIMER_INTERNAL_MAX_SELF_END (decimal 9999.99; default 12.00)
和上上个标签一样,但是 for internal oligo.

PRIMER_INTERNAL_MAX_SELF_END_TH (decimal 9999.99; default 47.00
和上一个标签一样,不过使用热力学方法进行计算。

PRIMER_PAIR_MAX_COMPL_END (decimal, 9999.99; default 3.00)
和 PRIMER_MAX_SELF_END 标签一样,但是针对 left primer 和 right primer 的 3' 端互补配对。

PRIMER_PAIR_MAX_COMPL_END_TH (decimal, 9999.99; default 47.00)
和上一个标签一样,不过使用热力学方法进行计算。

PRIMER_WT_SELF_END (float; default 0.0)
罚分权重 for PRIMER_MAX_SELF_END 的值。

PRIMER_WT_SELF_END_TH (float; default 0.0)
罚分权重 for PRIMER_MAX_SELF_END_TH 的值。

PRIMER_INTERNAL_WT_SELF_END (float; default 0.0)
和上上个标签一样,但是 for internal oligo.

PRIMER_INTERNAL_WT_SELF_END_TH (float; default 0.0)
和上上个标签一样,但是 for internal oligo.

PRIMER_PAIR_WT_COMPL_END (float; default 0.0)
罚分权重 for PRIMER_PAIR_MAX_COMPL_END 的值。

PRIMER_PAIR_WT_COMPL_END_TH (float; default 0.0)
罚分权重 for PRIMER_PAIR_MAX_COMPL_END_TH 的值。

PRIMER_MAX_HAIRPIN_TH (float; default 47.0)
和 PRIMER_MAX_SELF_ANY_TH 类似,该标签利用热力学方法计算形成发夹结构后所允许最大的 TM 值。该标签的默认值比 PRIMER_MIN_TM 标签的值低 10 度。

PRIMER_INTERNAL_MAX_HAIRPIN_TH (float; default 47.0)
和上个标签一样,但是 for internal oligo.

PRIMER_WT_HAIRPIN_TH (float; default 0.0)
罚分权重 for PRIMER_MAX_HAIRPIN_TH 的值。

PRIMER_INTERNAL_WT_HAIRPIN_TH (float; default 0.0)
罚分权重 for PRIMER_INTERNAL_MAX_HAIRPIN_TH 的值。

PRIMER_MAX_END_STABILITY (float, 999.9999; default 100.0)
left or right primer 的 5bp 3' 碱基最大的稳定性。该值选取 left or right primer 分别计算出的值中的较大值。计算方法为 PRIMER_TM_FORMULA 标签中指定的方法。默认方法下, GCGCG 碱基序列的值为6.86; TATAT 碱基序列的值为 0.86 。如果是使用旧版本的方法,此值则会变大,相应应该设置此值大些。

PRIMER_WT_END_STABILITY (float; default 0.0)
罚分因子 for PRIMER_MAX_END_STABILITY 的值。

PRIMER_MAX_NS_ACCEPTED (int; default 0)
所允许的 N 碱基的数目。

PRIMER_WT_NUM_NS (float; default 0.0)
罚分权重 for PRIMER_MAX_NS_ACCEPTED 的值。

PRIMER_MAX_POLY_X (int; default 5)
所允许的单核苷酸重复的次数,例如, 默认下 AAAAAA 是不允许的。

PRIMER_INTERNAL_MAX_POLY_X (int; default 5)
和上个标签一致,但是 for internal oligo.

PRIMER_MIN_LEFT_THREE_PRIME_DISTANCE (int; default -1)
在给出引物对的时候,任意两个 left primers 的 3' 末端在模板链上的位点相差的碱基数不超过此值。 -1 表示不作限制, 0 则表示两对引物的 left primers 的 3' 末端在模板链上的位点是相同的。

PRIMER_MIN_RIGHT_THREE_PRIME_DISTANCE (int; default -1)
和上一个标签一样,但是 for right primers。

PRIMER_MIN_THREE_PRIME_DISTANCE (int; default -1)
是上两个标签的综合体,用此标签相当于给上两个标签赋予同样的值。不能和上两个标签同时使用。

PRIMER_PICK_ANYWAY (boolean; default 0)
不管如何也要设计引物。

PRIMER_LOWERCASE_MASKING (int; default 0)
如果设置此标签值为 1, 则设计的引物的 3' 端将不会落在小写字符的碱基区间。

后面的还有一小部分,不想写了... 不是特别重要,而且用到的时候很少。

程序输入标签 (以 P3_ 开头):

P3_FILE_ID (string; default empty)
该标签用于指定 primer3 的配置文件路径。和主程序的 -p3_setting_file 的效果一致。
P3_FILE_FLAG (boolean; default 0)
如果设置该值为 1, 则程序会额外生成几个文件,文件名以 SEQUENCE_ID 标签的值为前缀,分别以 .for, .rev 或 .int 为后缀,对应着独立设计的 left primer, right primer 和 internal oligos 的序列。
P3_COMMENT (string; default empty)
该标签的值是无效的。可以用于输入信息的描述。

3.4 PRIMER3 打分

首先,通过一些限定阈值,程序找出所有的引物对。然后再对其进行打分。
默认情况下,引物的 TM 每偏离最优 TM 1 摄氏度,则罚 1 分; 引物的长度每偏离最优长度 1 bp, 则罚 1 分。而没有通过 GC 含量、发夹结构、3′ 端互补、自身互补配对、模板是重复序列 等方式进行罚分。要根据自身需求来进行罚分常数的设定。

4. /opt/biosoft/primer3-2.3.6/my_default_settings.txt

Primer3 File - http://primer3.sourceforge.net
P3_FILE_TYPE=settings

P3_FILE_ID=Settings for Batch task of searching SSR Primers
PRIMER_FIRST_BASE_INDEX=1
PRIMER_TASK=generic
PRIMER_NUM_RETURN=5
PRIMER_PICK_LEFT_PRIMER=1
PRIMER_PICK_INTERNAL_OLIGO=0
PRIMER_PICK_RIGHT_PRIMER=1
PRIMER_PICK_ANYWAY=1
PRIMER_THERMODYNAMIC_PARAMETERS_PATH=/opt/biosoft/primer3-2.3.6/src/primer3_config/


### 引物 TM 值设定: ###
PRIMER_TM_FORMULA=1                 # TM 的计算方法, 1 表示使用 the SantaLucia parameters (Proc Natl Acad Sci 95:1460-65)
PRIMER_MIN_TM=55.0
PRIMER_OPT_TM=60.0
PRIMER_MAX_TM=65.0
PRIMER_PAIR_MAX_DIFF_TM=5.0         # 两个引物之间的 TM 值最多相差 5 摄氏度
PRIMER_WT_TM_LT=1.0
PRIMER_WT_TM_GT=1.0                 # TM 每偏离最优 TM 值 1 摄氏度,则罚 1分。
PRIMER_PAIR_WT_DIFF_TM=0.0


### 引物长度设定: ###
PRIMER_MIN_SIZE=18
PRIMER_OPT_SIZE=20
PRIMER_MAX_SIZE=22
PRIMER_WT_SIZE_LT=1.0
PRIMER_WT_SIZE_GT=1.0                # 引物长度每偏离最优值 1 bp, 则罚 1 分。


### 引物 GC 含量设定:###
PRIMER_MIN_GC=30.0
PRIMER_MAX_GC=70.0
PRIMER_WT_GC_PERCENT_LT=0.0
PRIMER_WT_GC_PERCENT_GT=0.0


### 引物的热力学计算: ###
# 开启热力学计算
PRIMER_THERMODYNAMIC_OLIGO_ALIGNMENT=1

# 引物自身进行反向互补
PRIMER_MAX_SELF_ANY=8.00
PRIMER_WT_SELF_ANY=0.0
PRIMER_MAX_SELF_ANY_TH=45.00
PRIMER_WT_SELF_ANY_TH=0.0

# 引物自身进行 3' 端反向互补形成引物二聚体
PRIMER_MAX_SELF_END=3.00
PRIMER_WT_SELF_END=0.0
PRIMER_MAX_SELF_END_TH=35.00
PRIMER_WT_SELF_END_TH=0.0

# left primer 和 right primer 序列的反向互补
PRIMER_PAIR_MAX_COMPL_ANY=8.00
PRIMER_PAIR_WT_COMPL_ANY=0.0
PRIMER_PAIR_MAX_COMPL_ANY_TH=45.00
PRIMER_PAIR_WT_COMPL_ANY_TH=0.0

# left primer 和 right primer 进行 3' 端反向互补形成引物二聚体
PRIMER_PAIR_MAX_COMPL_END=3.00
PRIMER_PAIR_WT_COMPL_END=0.0
PRIMER_PAIR_MAX_COMPL_END_TH=35.00
PRIMER_PAIR_WT_COMPL_END_TH=0.0

# 发夹结构
PRIMER_MAX_HAIRPIN_TH=24.00
PRIMER_WT_HAIRPIN_TH=0.0

# 3' 端碱基的稳定性
PRIMER_MAX_END_STABILITY=9.0
PRIMER_WT_END_STABILITY=0.0


### 碱基序列设定: ###
PRIMER_LOWERCASE_MASKING=0 # 模板序列中包含小写字符不影响引物设计
PRIMER_MAX_POLY_X=4   # 引物序列中不能包含单核苷酸连续长度超过 4 bp
PRIMER_MAX_NS_ACCEPTED=0   # 引物中允许的 N 的数目
PRIMER_WT_NUM_NS=0.0       # 每个 N 的罚分
PRIMER_MAX_END_GC=5 # 引物中 3' 端 5bp 碱基中允许的最大 Gs 或 Cs 的数目
PRIMER_GC_CLAMP=0 # 引物中 3' 端碱基中不能出现连续的 Gs 和 Cs 序列
PRIMER_LIBERAL_BASE=1 # 是否允许有诸如 N A R Y 等类型的碱基。必须在设定PRIMER_MAX_NS_ACCEPTED 不为 0 后方有效。
PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS=0 # 如果设置为 1,则 C 能与 S 完美匹配,任意碱基能和 N 完美匹配。



### 碱基质量设定: ###
PRIMER_MIN_QUALITY=0            # primer 序列允许最小的碱基质量
PRIMER_MIN_END_QUALITY=0
PRIMER_QUALITY_RANGE_MIN=0
PRIMER_QUALITY_RANGE_MAX=100
PRIMER_WT_SEQ_QUAL=0.0
PRIMER_WT_END_QUAL=0.0


## 引物位置设置: ###
PRIMER_SEQUENCING_LEAD=50 # 该参数仅在PRIMER_TASK=pick_sequencing_primers 时有效. 表明引物的 3' 端距目标区域有 50bp。
PRIMER_SEQUENCING_SPACING=500 # 该参数仅在 PRIMER_TASK=pick_sequencing_primers 时有效. 该值决定了在同一条链上的两个引物的距离.
PRIMER_SEQUENCING_INTERVAL=250 # 该参数仅在 PRIMER_TASK=pick_sequencing_primers 时有效. 该值决定了在不同链上的两个引物的距离。
PRIMER_SEQUENCING_ACCURACY=20 # 该参数仅在 PRIMER_TASK=pick_sequencing_primers 时有效. 该值决定了引物设计的区间.
PRIMER_OUTSIDE_PENALTY=0
PRIMER_INSIDE_PENALTY=-1.0
PRIMER_WT_POS_PENALTY=0.0


### 非引物数据库设定:###
# 启用非引物数据库
#PRIMER_MISPRIMING_LIBRARY=

# 引物比对到非引物数据库
#PRIMER_MAX_LIBRARY_MISPRIMING=12.00
#PRIMER_WT_LIBRARY_MISPRIMING=0.0
#PRIMER_PAIR_MAX_LIBRARY_MISPRIMING=20.00
#PRIMER_PAIR_WT_LIBRARY_MISPRIMING=0.0

# 模板比对到非引物数据库
#PRIMER_MAX_TEMPLATE_MISPRIMING=12.00
#PRIMER_WT_TEMPLATE_MISPRIMING=0.0
#PRIMER_MAX_TEMPLATE_MISPRIMING_TH=40.00
#PRIMER_WT_TEMPLATE_MISPRIMING_TH=0.0
#PRIMER_PAIR_MAX_TEMPLATE_MISPRIMING=24.00
#PRIMER_PAIR_WT_TEMPLATE_MISPRIMING=0.0
#PRIMER_PAIR_MAX_TEMPLATE_MISPRIMING_TH=70.00
#PRIMER_PAIR_WT_TEMPLATE_MISPRIMING_TH=0.0

### PCR 反应体系设定: ###
PRIMER_SALT_MONOVALENT=50.0                 # 单价盐离子浓度(mM)
PRIMER_SALT_CORRECTIONS=1                   # PRIMER_SALT_CORRECTIONS=1 means use the salt correction in SantaLucia et al 1998
PRIMER_SALT_DIVALENT=1.5                    # 二价镁离子浓度(mM)
PRIMER_DNTP_CONC=0.6                        # 总dNTPs浓度(mM)
PRIMER_DNA_CONC=50.0                        # DNA产物浓度(mM)


### PCR 产物的设定: ###
PRIMER_PRODUCT_MIN_TM=-1000000.0
PRIMER_PRODUCT_OPT_TM=0.0
PRIMER_PRODUCT_MAX_TM=1000000.0
PRIMER_PAIR_WT_PRODUCT_TM_LT=0.0
PRIMER_PAIR_WT_PRODUCT_TM_GT=0.0
PRIMER_PRODUCT_OPT_SIZE=0
PRIMER_PAIR_WT_PRODUCT_SIZE_LT=0.0
PRIMER_PAIR_WT_PRODUCT_SIZE_GT=0.0


## 罚分因子: ###
PRIMER_PAIR_WT_PR_PENALTY=1.0                # left primer和right primer的罚分之和。此和乘以此系数,再加其它罚分作为最终罚分。
PRIMER_PAIR_WT_IO_PENALTY=0.0                # 将 internal oligo 的罚分乘以此系数,加入到引物的最终罚分中。


### internal oligo 的设定:###
# TM 值
PRIMER_INTERNAL_MIN_TM=57.0
PRIMER_INTERNAL_OPT_TM=60.0
PRIMER_INTERNAL_MAX_TM=63.0
PRIMER_INTERNAL_WT_TM_LT=1.0
PRIMER_INTERNAL_WT_TM_GT=1.0

# 长度
PRIMER_INTERNAL_MIN_SIZE=18
PRIMER_INTERNAL_OPT_SIZE=20
PRIMER_INTERNAL_MAX_SIZE=27
PRIMER_INTERNAL_WT_SIZE_LT=1.0
PRIMER_INTERNAL_WT_SIZE_GT=1.0

# GC 含量
PRIMER_INTERNAL_MIN_GC=20.0
PRIMER_INTERNAL_MAX_GC=80.0
PRIMER_INTERNAL_OPT_GC_PERCENT=50.0
PRIMER_INTERNAL_WT_GC_PERCENT_LT=0.0
PRIMER_INTERNAL_WT_GC_PERCENT_GT=0.0

# 热力学
PRIMER_INTERNAL_MAX_SELF_ANY=12.00
PRIMER_INTERNAL_WT_SELF_ANY=0.0
PRIMER_INTERNAL_MAX_SELF_END=12.00
PRIMER_INTERNAL_WT_SELF_END=0.0

# 碱基序列
PRIMER_INTERNAL_MAX_POLY_X=5
PRIMER_INTERNAL_MAX_NS_ACCEPTED=0

# 碱基质量
PRIMER_INTERNAL_MIN_QUALITY=0
PRIMER_INTERNAL_WT_END_QUAL=0.0
PRIMER_INTERNAL_WT_SEQ_QUAL=0.0

# 非引物数据库
#PRIMER_INTERNAL_MAX_LIBRARY_MISHYB=12.00
#PRIMER_INTERNAL_WT_LIBRARY_MISHYB=0.0

# PCR 反应体系
PRIMER_INTERNAL_SALT_MONOVALENT=50.0
PRIMER_INTERNAL_SALT_DIVALENT=1.5
PRIMER_INTERNAL_DNA_CONC=50.0
PRIMER_INTERNAL_DNTP_CONC=0.0
=