bioperl/bioperl-run

Bio::Tools::Run::Primer3 has not updated for Primer3 versions 2 and above

cjfields opened this issue · 3 comments


Author Name: John MC (John MC)
Original Redmine Issue: 3056, https://redmine.open-bio.org/issues/3056
Original Date: 2010-04-12
Original Assignee: Bioperl Guts


Bio::Tools::Run::Primer3 relies on the list of Primer3 1.X arguments hardcoded at $self->@PRIMER3_PARAMS for sanity check in add_targets.

However, primer3 versions 2.X, released from December 2008, uses a totally different set of arguments, many of them absent from @PRIMER3_PARAMS. As a result, if these new arguments were invoked at add_targets, such arguments would be patently ignored, per line 367 of primer3.pm.

Of course, experienced users can invoke $self->{’no_param_checks’}=1 to bypass the sanity check, but this is not something known to newcomers.

There’re three possible ways to solve the problem:

  1. Expand @PRIMER3_PARAMS to include the 2.X arguments;
  2. Remove line 367 of primer3.pm such that “invalid” arguments will be warned but will continued be processed nonetheless, or
  3. Encode a setter for no_param_checks.

Original Redmine Comment
Author Name: Chris Fields
Original Date: 2010-04-12T16:42:50Z


Won’t fix. We have an experimental Primer3 reimplementation in bioperl-dev that you are welcome to try, called Bio::Tools::Primer3Redux (it has a different API, hence the name).

You can checkout the latest code using svn. I’ll leave this open in the meantime, as it still needs tests.


Original Redmine Comment
Author Name: Chris Fields
Original Date: 2010-07-30T01:09:04Z


Addendum : code is now in GitHub.

(In reply to comment #1)

Won’t fix. We have an experimental Primer3 reimplementation in bioperl-dev
that you are welcome to try, called Bio::Tools::Primer3Redux (it has a
different API, hence the name).

You can checkout the latest code using svn. I’ll leave this open in the
meantime, as it still needs tests.


Original Redmine Comment
Author Name: Chris Fields
Original Date: 2010-10-11T14:14:39Z


Code is here:

http://github.com/cjfields/Bio-Tools-Primer3Redux

This should work for any of the 1.6.x release series. Tests and docs included. I’ll release it to CPAN after a bit of discussion on list.