1 min read

使用BioPerl和primer3批量设计RT-PCR引物

Update:

我已经设置了一个Massive RT-PCR Primer Designer服务,有需要的朋友可以直接去上传自己基因序列的Fasta文件,然后服务器会将引物返回。

关于Missing SEQUENCE tag错误的处理

以下为原文。
———————————————————————————————–
本文介绍批量设计RT-PCR引物的方法,基于Ubuntu 10.10系统和BioPerl 1.6.1。但是应当适用于大部分Linux系统。

本文假定你已经安装好BioPerl。

安装primer3和Bio::PrimerDesigner

[bash]
>sudo apt-get install primer3 libbio-primerdesigner-perl
[/bash]

修正程序Bug

Primer3安装之后的可执行文件存在于/usr/bin/primer3_core,而Bio::PrimerDesigner软件包找不到该文件,所以需要建立一个符号链接。
[bash]
>sudo ln -s /usr/bin/primer3_core /usr/local/bin/primer3
[/bash]

准备序列文件

将要设计的文件以Fasta格式保存(也可以用其它BioPerl识别的任意格式保存)在当前目录中,此处以seqs.fa命名。

代码

然后在当前目录中新建文件designPrimer.pl。
录入代码如下:
[perl]
#! perl -w
use Bio::SeqIO;
use Bio::PrimerDesigner;

my $seqs = Bio::SeqIO->new(-file => ‘seqs.fa’);
open OUT, ‘>> raw_output.txt’;
my $pd = Bio::PrimerDesigner->new;
while( my $seq = $seqs->next_seq() ) {
my $seqid = $seq->id;
my $dna = $seq->seq;
my %params = (
PRIMER_NUM_RETURN => 1,
PRIMER_SEQUENCE_ID => $seqid,
SEQUENCE => $dna,
PRIMER_PRODUCT_SIZE_RANGE => ‘150-250’, #注意此处参数在perl文档中是错误的,应更正为此
);
my $primers = $pd->design( %params ) or die $pd->error;
my ($left_primer,$right_primer);
if ( !$primers->left ) {
warn “No primers found for $seqid\n”;
}
else{
$left_primer = $primers->left;
$right_primer = $primers->right;
}
print join(‘,’, $seqid, $left_primer, $right_primer);
print “\n”;
print OUT $primers->raw_output; #此处的perl文档也是错误的,应更正为此
}
[/perl]

保存引物

打开终端,输入
[bash]
> perl designprimer.pl
[/bash]
如果程序运行正常,引物设计的结果将在屏幕上显示,同时应当会有一些警告信息。

然后,可以将结果用管道命令保存:
[bash]
> perl designprimer.pl >primers.csv
[/bash]

注释

raw_output.txt中含有primer3程序运行的完整结果。可以作为额外参考。

Refers:
http://search.cpan.org/~smckay/Bio-PrimerDesigner-0.07/lib/Bio/PrimerDesigner.pm

Posted from GScribble.