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:
- Expand @PRIMER3_PARAMS to include the 2.X arguments;
- Remove line 367 of primer3.pm such that “invalid” arguments will be warned but will continued be processed nonetheless, or
- 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.