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-2008 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.

