NAME

Bio::PrimerDesigner - Design PCR Primers using primer3 and epcr

SYNOPSIS

use Bio::PrimerDesigner;

my $pd = Bio::PrimerDesigner->new;

#
# Define the DNA sequence, etc.
#
my $dna   = "CGTGC...TTCGC";
my $seqID = "sequence 1";

#
# Define design parameters (native primer3 syntax)
#
my %params = ( 
    PRIMER_NUM_RETURN   => 2,
    PRIMER_SEQUENCE_ID  => $seqID,
    SEQUENCE            => $dna,
    PRIMER_PRODUCT_SIZE => '500-600'
);

#
# Or use input aliases
#
%param = ( 
    num                 => 2,
    id                  => $seqID,
    seq                 => $dna,
    sizerange           => '500-600'
); 

#
# Design primers
#
my $results = $pd->design( %params ) or die $pd->error;

#
# Make sure the design was successful
#
if ( !$results->left ) {
    die "No primers found\n", $results->raw_data;
}

#
# Get results (single primer set)
#
my $left_primer  = $results->left;
my $right_primer = $results->right;
my $left_tm      = $results->lefttm;

#
# Get results (multiple primer sets)
#
my @left_primers  = $results->left(1..3);
my @right_primers = $results->right(1..3);
my @left_tms      = $results->lefttm(1..3);

DESCRIPTION

Bio::PrimerDesigner provides a low-level interface to the primer3 and epcr binary executables and supplies methods to return the results. Because primer3 and e-PCR are only available for Unix-like operating systems, Bio::PrimerDesigner offers the ability to accessing the primer3 binary via a remote server. Local installations of primer3 or e-PCR on Unix hosts are also supported.

METHODS

binary_path

Gets/sets path to the primer3 binary.

design

Makes the primer design or e-PCR request. Returns an Bio::PrimerDesigner::Result object.

epcr_example

Run test e-PCR job. Returns an Bio::PrimerDesigner::Results object.

list_aliases

Lists aliases for primer3 input/output options

list_params

Lists input options for primer3 or epcr, depending on the context

method

Gets/sets method of accessing primer3 or epcr binaries.

os_is_unix

Returns 1 if it looks like the operating system is a Unix variant, otherwise returns 0.

primer3_example

Runs a sample design job for primers. Returns an Bio::PrimerDesigner::Results object.

program

Gets/sets which program to use.

run

Alias to "design."

url

Gets/sets the URL for accessing the remote binaries.

verify

Tests local installations of primer3 or e-PCR to ensure that they are working properly.

AUTHORS

Copyright (C) 2003-2009 Sheldon McKay <mckays@cshl.edu>, Ken Youens-Clark <kclark@cpan.org>.

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

SEE ALSO

Bio::PrimerDesigner::primer3, Bio::PrimerDesigner::epcr.