[Bioperl-l] Bio::Tools::Run::Primer3

Caroline Johnston johnston at biochem.ucl.ac.uk
Tue Nov 27 20:06:30 EST 2007


I was playing around with Primer3, and I hit a problem. Not sure if it's a
bug or if I was doing something I wasn't supposed to, but if it's the
latter, I thought it might save someone else half an hour of banging their
head of a keyboard if I mentioned it:

What I was doing was roughly:

# create a primer3 obj
my $p3 = ...Primer3->new();

# loop through some sequences generating primers for
# each of them using the same primer3 obj
while (@some_bio_seqs){
  my $res = $p3->run;

This worked fine for a while, but broke when I tried to set PRIMER_MIN_GC,
at which point it worked for a few sequences then I got a "can't place
primer on sequence"  error.

After a bit of faffing about, I think the problem occurs when no primers
are found. In which case $p3 still has the primers from the previous run,
which don't come from the current sequence, so can't be placed on it. I
tried calling $p3->cleanup in the loop, but that didn't work either.
Creating a new $p3 every time works fine.

Are you supposed to create a new Primer3 object for every sequence?
(Apologies if I missed the relevant bit of the docs).

Cass xx

More information about the Bioperl-l mailing list