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
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).
More information about the Bioperl-l