primer3引物设计详解

关于Primer3的版权:

  1. 使用Primer3大致分为两类人:(1)第一类人为直接使用者,使用Primer3,一定程度上要求引用上述文献;(2)程序员,当将Primer3的源代码加入到你的程序中时,要遵循GPL2.如果只是调用Primer3,则不作要求。

在UNIX/LINUX上安装Primer3

  1. $ unzip primer3-.tar.gz
  2. $ tar xvf primer3-.tar
  3. $ cd primer3-/src
  4. $ make all
  5. # You should have created executables primer3_core, ntdpal,
  6. # olgotm, and long_seq_tm_test
  7. $ make test
  8. # You should not see 'FAILED' during the tests.

如果perl命令不是perl,而是诸如perl5,则需要修正test/文件夹中的Makefile.

调用 Primer3_core

基本用法

  1. primer3_core [ -format_output ] [ -default_version=1|-default_vers
  2. ion=2 ] [ -io_version=3|-io_version=4 ] [ -p3_settings_file= ] [ -
  3. echo_settings_file ] [ -strict_tags ] [ -output= ] [ -error= ] [ i
  4. nput_file ]

如果没有input file,则 primer3_core 从标准输入读取数据。

命令参数

  1. -about 显示primer3版本号并退出
  2.  
  3. -default_version=n 默认设置为n=2,让primer3使用最新的默认设置;n=1则让程序
  4. 使用 2.23 或之前版本的设置
  5.  
  6. -format_output primer3_core 产生人类易读的结果,否则产生机器易读的结果。
  7.  
  8. -strict_tags 要求严格的标签。如果设置文件中的标签不能被机器识别,则产生重大错误。
  9.  
  10. -p3_settings_file=file_path 指定primer_core的设置文件,该设置文件的设定取
  11. 代默认设置。当然,input file的设置也能取代这个文件的设置。
  12.  
  13. -echo_settings_file 打印出p3_settings_file中的设置信息。如果没有指定设置文
  14. 件,或含有-format_output,则该参数失效。
  15.  
  16. -io_version=n n=3时,软件向低版本兼容;n=4是默认设置,能使用2.0版本和以后版本
  17. 的一些新功能。
  18.  
  19. -output=file_path 指定输出文件路径,如果不指定,则输出到标准输出。
  20.  
  21. -error=file_path 指定错误信息输出路径,如果不指定,则输出到stderr中。

输入和输出的规则

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

  1. SEQUENCE_ID=example
  2. SEQUENCE_TEMPLATE=GTAGTCAGTAGACNATGACNACTGACGATGCAGACNACACACACACACACAGCACACAGGTATTAGTGGGCCATTCGATCCCGACCCAAATCGATAGCTACGATGACG
  3. SEQUENCE_TARGET=37,21
  4. PRIMER_TASK=generic
  5. PRIMER_PICK_LEFT_PRIMER=1
  6. PRIMER_PICK_INTERNAL_OLIGO=1
  7. PRIMER_PICK_RIGHT_PRIMER=1
  8. PRIMER_OPT_SIZE=18
  9. PRIMER_MIN_SIZE=15
  10. PRIMER_MAX_SIZE=21
  11. PRIMER_MAX_NS_ACCEPTED=1
  12. PRIMER_PRODUCT_SIZE_RANGE=75-100
  13. P3_FILE_FLAG=1
  14. SEQUENCE_INTERNAL_EXCLUDED_REGION=37,21
  15. PRIMER_EXPLAIN_FLAG=1
  16. =

IO-version

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

SEQUENCE 标签

SEQUENCE_ID (string; default empty)

  1. 作为序列的名称,为序列的简要描述

SEQUENCE_TEMPLATE (nucleotide sequence; default empty)

  1. 进行引物设计的模板琏,方向必须是从5'到3'。碱基大小写都行,但要注意PRIMER_LOWER
  2. CASE_MASKING标签的设定。

SEQUENCE_INCLUDED_REGION (interval list; default empty)

  1. 该标签的值为:<start>,<length>。即在从序列的第<start>位点的碱基开始,到往后
  2. <length>长度的子序列中设计引物。

SEQUENCE_TARGET (interval list; default empty)

  1. 该标签的值为:<start>,<length>。即从序列的第<start>位点的碱基开始,到往后
  2. <length>长度的区域是要扩增的目的片段,设计的引物必须在此区域的侧翼。

SEQUENCE_EXCLUDED_REGION (interval list; default empty)

  1. 该标签的值为:<start>,<length>。设计引物时要避开此段子序列区域。比如此区域含有
  2. 诸如ALUs或者LINEs等重复序列时。

SEQUENCE_PRIMER_PAIR_OK_REGION_LIST (semicolon separated list of integer “quadruples”; default empty)

  1. 该标签的值为多个,值和值之间用“;“隔开,单个值为:<left_start>,<left_length>,
  2. <right_start>,<right_length>
  3. 比如:
  4. SEQUENCE_PRIMER_PAIR_OK_REGION_LIST=100,50,300,50 ; 900,60,, ; ,,930,100
  5. 表明有引物设计有三种选择:
  6. 左引物在100150bp区间进行设计,右引物在300350bp的区间进行设计;
  7. 左引物在900960bp区间进行设计,右引物随意;
  8. 右引物在9301030bp区间进行设计,左引物随意。

SEQUENCE_OVERLAP_JUNCTION_LIST (space separated integers; default empty)

  1. 引物设计时,左引物或右引物必须有一个和指定的位点重叠。和PRIMER_MIN_3_PRIME_OV
  2. ERLAP_OF_JUNCTION标签和PRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION共同完成设置。
  3. For example:
  4.  
  5. SEQUENCE_OVERLAP_JUNCTION_LIST=20
  6. # 1-based indexes
  7. PRIMER_MIN_3_PRIME_OVERLAP_OF_JUNCTION=4
  8.  
  9. template: atcataggccatgcctgagc^gctacgact
  10.  
  11. ok ...gagc^gcta-3' (left primer)
  12. not ok ...gagc^gct-3' (left primer)
  13. ok 3'-ctcg^cgat... (right pimer)
  14. not ok 3'-tcg^cgat... (right primer)
  15.  
  16. PRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION=5
  17.  
  18. ok 5'-tgagc^gccg... (left primer)
  19. not ok 5'-gagc^gccg... (left primer)
  20. ok ...tgagc^gctac-5' (right primer)
  21. not ok ...tgagc^gcta-5' (right primer)

SEQUENCE_INTERNAL_EXCLUDED_REGION (interval list; default empty)

  1. 该标签的值为:<start>,<length>。中间oligos的设计避开此段子序列。

SEQUENCE_PRIMER (nucleotide sequence; default empty)

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

SEQUENCE_INTERNAL_OLIGO (nucleotide sequence; default empty)

  1. 该标签的值为中间oligo序列,该序列必须是SEQUENCE_TEMPLATE的一段子序列;程序运行
  2. 时会检查该子序列并在其附近设计左右引物。

SEQUENCE_PRIMER_REVCOMP (nucleotide sequence; default empty)

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

SEQUENCE_START_CODON_POSITION (int; default -1000000)

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

SEQUENCE_QUALITY (space separated integers; default empty)

  1. 该标签的值是一系列的以空格隔开的碱基质量值,每一个碱基质量值对应着模板琏上的碱基。

SEQUENCE_FORCE_LEFT_START (int; default -1000000)

  1. 强制左引物的5'端从指定的位点开始,不管是否违背了一些其它的条件。默认值表示左引物的
  2. 起始位点是任意位置。

SEQUENCE_FORCE_LEFT_END (int; default -1000000)

  1. 强制左引物的3'端到指定位点结束,不管是否违背了一些其它的条件。默认值表示左引物的结
  2. 束位点是任意位置。

SEQUENCE_FORCE_RIGHT_START (int; default -1000000)

  1. 强制右引物的5'端从指定的位点开始,不管是否违背了一些其它的条件。默认值表示左引物的
  2. 起始位点是任意位置。

SEQUENCE_FORCE_RIGHT_END (int; default -1000000)

  1. 强制右引物的3'端到指定位点结束,不管是否违背了一些其它的条件。默认值表示左引物的结
  2. 束位点是任意位置。

全局输入标签 PRIMER_ Tags

PRIMER_TASK (string; default generic)

该标签要求primer3来进行什么类型的工作,其有效的值有:

generic

  1. 经典的primer3任务,设计引物对

 

Primer3的主页:http://primer3.sourceforge.net/。主页上能看到对于Primer3的简要介绍和下载通道。

Primer3的网页版:http://primer3.wi.mit.edu/

Primer3的源代码:http://sourceforge.net/projects/primer3/.

Primer3文献:http://purl.com/STEVEROZEN/papers/rozen-and-skaletsky-2000-primer3.pdf

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

参考自:http://primer3.wi.mit.edu/primer3web_help.htm

原文链接:http://www.hzaumycology.com/chenlianfu_blog/?p=284

    • shen 0

      请教:调用 Primer3_core出错,Unrecognized character x7F in column 1 at primer3_core line 1.这是什么问题?

    发表评论

    匿名网友

    拖动滑块以完成验证
    加载失败