使用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.

    Comments are closed.