#!/usr/bin/env perl use strict; use File::Copy; use warnings; use diagnostics; use Bio::PrimerDesigner; my $pd = Bio::PrimerDesigner->new; while ((my $probe_key, my $probe_value)=each(%probe_hash)) { # # Define the DNA sequence, etc. # my $dna = $probe_value; my $seqID = $probe_key; # # Define design parameters (native primer3 syntax) # my %params = ( PRIMER_NUM_RETURN => 2, PRIMER_SEQUENCE_ID => $seqID, SEQUENCE => $dna, PRIMER_PRODUCT_SIZE => '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); }