primer3设计引物详解

1. Primer3 简介

参考自:http://primer3.wi.mit.edu/primer3web_help.htm。
Primer3的主页:http://primer3.sourceforge.net/。主页上能看到对于Primer3的简要介绍和下载通道。
Primer3的网页版:http://primer3.wi.mit.edu/
Primer3的源代码:http://sourceforge.net/projects/primer3/.
Primer3文献: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,让primer3使用最新的默认设置;n=1 则让程序使用 2.23 或之前版本的设置

-format_output
让 primer3_core 产生人类易读的结果,否则产生机器易读的结果(Boulder-IO 格式结果)。

-strict_tags
要求 input file 中的标签要全部正确。设置该参数后,如果有标签不能被程序识别,则报错并停止执行。不设置此参数,则软件忽略不识别的参数。

-p3_settings_file=file_path
指定 primer_core 的配置文件,该配置文件的设定会取代默认设置。当然,input file 的设置也能取代这个文件的设置。此文件的格式为:第 1 行固定为 "Primer3 File - http://primer3.sourceforge.net"; 第 2 行固定为 "P3_FILE_TYPE=settings"; 第 3 行是个空行;从第 4 行开始则是标准的 Boulder-IO 格式内容。

-echo_settings_file
打印出 p3_settings_file 中的设置信息。如果没有指定设置文件,或含有 -format_output,则该参数失效。

-io_version=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; default empty)
序列的名称,为序列的简要描述。

SEQUENCE_TEMPLATE (nucleotide sequence; default empty)
进行引物设计的模板琏序列,方向必须是从5'到3'。碱基序列最好用大写字母,并且序列中的所有碱基都在一行上书写。如果用小写字母,则能被标签 PRIMER_LOWERCASE_MASKING 进行屏蔽。

SEQUENCE_INCLUDED_REGION (interval list; default empty)
该标签的值为:<start>,<length>。即在从序列的第<start>位点的碱基开始,到往后<length>长度的子序列中设计引物。

SEQUENCE_TARGET (interval list; default empty)
该标签的值为:<start>,<length>。即从序列的第<start>位点的碱基开始,到往后<length>长度的区域是要扩增的目的片段,设计的引物在此区域的侧翼才能去得较好的分值。可以在多行上设置多次该标签,从而设定多个目标区间。

SEQUENCE_EXCLUDED_REGION (interval list; default empty)
该标签的值为:<start><length>。设计引物时要避开此段子序列区域。比如此区域含有诸如ALUs或者LINEs等重复序列时。

SEQUENCE_PRIMER_PAIR_OK_REGION_LIST (semicolon separated list of integer "quadruples"; default empty)
该标签的值为多个,值和值之间用“;“隔开,单个值为:<left_start>,<left_length>,<right_start>,<right_length>。
比如:
SEQUENCE_PRIMER_PAIR_OK_REGION_LIST=100,50,300,50 ; 900,60,, ; ,,930,100
表明有引物设计有三种选择:
左引物在100~150bp区间进行设计,右引物在300~350bp的区间进行设计;
左引物在900~960bp区间进行设计,右引物随意;
右引物在930~1030bp区间进行设计,左引物随意。

SEQUENCE_OVERLAP_JUNCTION_LIST (space separated integers; default empty)
指定引物在此位置要有重叠。与标签 PRIMER_MIN_3_PRIME_OVERLAP_OF_JUNCTION 或 PRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION 搭配使用。例如:此值设为 20, 默认下,设计的引物的 3' 端必须要包含有 20~23 区段的碱基,或引物的 5' 端必须包含有 20~26 区段的碱基。

SEQUENCE_INTERNAL_EXCLUDED_REGION (interval list; default empty)
该标签的值为:<start>,<length>。中间oligos的设计避开此段子序列。

SEQUENCE_PRIMER (nucleotide sequence; default empty)
该标签的值为左引物序列,该序列必须是 SEQUENCE_TEMPLATE 的一段子序列;程序运行时会检查该子序列并在其附近设计右引物或中间oligos.

SEQUENCE_INTERNAL_OLIGO (nucleotide sequence; default empty)
该标签的值为中间oligo序列,该序列必须是SEQUENCE_TEMPLATE的一段子序列;程序运行时会检查该子序列并在其附近设计左右引物。

SEQUENCE_PRIMER_REVCOMP (nucleotide sequence; default empty)
该标签的值为右引物序列,该序列必须是SEQUENCE_TEMPLATE的一段反向互补子序列;程序运行时会检查该子序列并在其附近设计左引物。

SEQUENCE_START_CODON_POSITION (int; default -2000000)
标记起始密码子的第一个碱基位点,从而让primer3在起始密码子的左边设计左引物,只有在必要时才在起始密码子的右边设计左引物。可以设置为负数,表示起始密码子在整条序列不可见的左边。如果该值为非负数且该位点处的碱基不是ATG,则primer3会发出一个错误信号。如果值小于或等于-10^6,则忽略该参数。primer3从起始密码子开始扫描,直到获得一个终止密码子,理想状况下设计的右引物结束于该终止密码子或其后的碱基。

SEQUENCE_QUALITY (space separated integers; default empty)
该标签的值是一系列的以空格隔开的碱基质量值,每一个碱基质量值对应着模板琏上的碱基。

SEQUENCE_FORCE_LEFT_START (int; default -1000000)
强制左引物的5'端从指定的位点开始,不管是否违背了一些其它的条件。默认值表示左引物的起始位点是任意位置。

SEQUENCE_FORCE_LEFT_END (int; default -1000000)
强制左引物的3'端到指定位点结束,不管是否违背了一些其它的条件。默认值表示左引物的结束位点是任意位置。

SEQUENCE_FORCE_RIGHT_START (int; default -1000000)
强制右引物的5'端从指定的位点开始,不管是否违背了一些其它的条件。默认值表示左引物的起始位点是任意位置。

SEQUENCE_FORCE_RIGHT_END (int; default -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
=

3 thoughts on “primer3设计引物详解

  1. Pingback引用通告: 使用Misa结合Primer3来批量设计SSR引物 | 宠辱不惊,一心问学!

  2. 请教一下,为什么我将Primer3设计出来的引物放到Primer5中评估时,很多引物都会有发夹结构、二聚体、错配等,但是primer3却都是显示0的,这样的引物到底能不能用呢?可否回复到我邮箱rikku1518@hotmail.com?谢谢!

    • 是不是程序秒秒钟出结果,这是没有启用热力学计算导致的。若启用了热力学计算,程序运行半分钟以上才出结果的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据