---
name: "Bio::PrimerDesigner"
section: "3pm"
platform: "linux"
package: "libbio-primerdesigner-perl"
version: "0.07-8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Bio::PrimerDesigner"
---

# Bio::PrimerDesigner(3pm)

Design PCR Primers using primer3 and epcr

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