关于Primer3的版权:
使用Primer3大致分为两类人:(1)第一类人为直接使用者,使用Primer3,一定程度上要求引用上述文献;(2)程序员,当将Primer3的源代码加入到你的程序中时,要遵循GPL2.如果只是调用Primer3,则不作要求。
在UNIX/LINUX上安装Primer3
$ unzip primer3-.tar.gz $ tar xvf primer3-.tar $ cd primer3-/src $ make all # You should have created executables primer3_core, ntdpal, # olgotm, and long_seq_tm_test $ make test # You should not see 'FAILED' during the tests.
如果perl命令不是perl,而是诸如perl5,则需要修正test/文件夹中的Makefile.
调用 Primer3_core
基本用法
primer3_core [ -format_output ] [ -default_version=1|-default_vers ion=2 ] [ -io_version=3|-io_version=4 ] [ -p3_settings_file= ] [ - echo_settings_file ] [ -strict_tags ] [ -output= ] [ -error= ] [ i nput_file ]
如果没有input file,则 primer3_core 从标准输入读取数据。
命令参数
-about 显示primer3版本号并退出 -default_version=n 默认设置为n=2,让primer3使用最新的默认设置;n=1则让程序 使用 2.23 或之前版本的设置 -format_output 让 primer3_core 产生人类易读的结果,否则产生机器易读的结果。 -strict_tags 要求严格的标签。如果设置文件中的标签不能被机器识别,则产生重大错误。 -p3_settings_file=file_path 指定primer_core的设置文件,该设置文件的设定取 代默认设置。当然,input file的设置也能取代这个文件的设置。 -echo_settings_file 打印出p3_settings_file中的设置信息。如果没有指定设置文 件,或含有-format_output,则该参数失效。 -io_version=n n=3时,软件向低版本兼容;n=4是默认设置,能使用2.0版本和以后版本 的一些新功能。 -output=file_path 指定输出文件路径,如果不指定,则输出到标准输出。 -error=file_path 指定错误信息输出路径,如果不指定,则输出到stderr中。
输入和输出的规则
默认设置下,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 =
IO-version
primer3发布2.0后,许多的Boulder-IO的标签有了变动,而且新增了许多标签。标签分三类:分别以SEQUENCE_, PRIMER_ 和 P3_开头。关于标签的变动,具体参考本文开头的参考网址。
SEQUENCE 标签
SEQUENCE_ID (string; default empty)
作为序列的名称,为序列的简要描述
SEQUENCE_TEMPLATE (nucleotide sequence; default empty)
进行引物设计的模板琏,方向必须是从5'到3'。碱基大小写都行,但要注意PRIMER_LOWER CASE_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_OV ERLAP_OF_JUNCTION标签和PRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION共同完成设置。 For example: SEQUENCE_OVERLAP_JUNCTION_LIST=20 # 1-based indexes PRIMER_MIN_3_PRIME_OVERLAP_OF_JUNCTION=4 template: atcataggccatgcctgagc^gctacgact ok ...gagc^gcta-3' (left primer) not ok ...gagc^gct-3' (left primer) ok 3'-ctcg^cgat... (right pimer) not ok 3'-tcg^cgat... (right primer) PRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION=5 ok 5'-tgagc^gccg... (left primer) not ok 5'-gagc^gccg... (left primer) ok ...tgagc^gctac-5' (right primer) not ok ...tgagc^gcta-5' (right primer)
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 -1000000)
标记起始密码子的第一个碱基位点,从而让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_ Tags
PRIMER_TASK (string; default generic)
该标签要求primer3来进行什么类型的工作,其有效的值有:
generic
经典的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
1F
请教:调用 Primer3_core出错,Unrecognized character x7F in column 1 at primer3_core line 1.这是什么问题?