Author Name: Dave Messina (@DaveMessina)
Original Redmine Issue: 3072, https://redmine.open-bio.org/issues/3072
Original Date: 2010-05-02
Original Assignee: Bioperl Guts
The syntax needed to pass the ‘quiet’ flag to Genewise is:
Build a Genewise alignment factory
my $factory = Bio::Tools::Run::Genewise->new();
turn on the quiet switch
$factory->QUIET (1);
genes is an array of Bio::SeqFeature::Gene::GeneStructure objects mygenes = $factory->run($protein_seq, $genomic_seq);
This turns out be incorrectly documented on the man page, at least in part:
Available Params:
NB: These should be passed without the ‘-’ or they will be ignored,
except switches such as ‘hmmer’ (which have no corresponding value)
which should be set on the factory object using the AUTOLOADed methods
of the same name.
Model [-codon,-gene,-cfreq,-splice,-subs,-indel,-intron,-null]
Alg [-kbyte,-alg]
HMM [-hmmer]
Output [-gff,-gener,-alb,-pal,-block,-divide]
Standard [-help,-version,-silent,-quiet,-errorlog]
That is, these don’t work as expected:
$factory->quiet;
$factory->quiet(1);
due to a conflict with the quiet() method inherited from Bio::Tools::Run::WrapperBase.
And passing a true value such as 1 is in fact necessary or the switch-type parameters won’t be set.
So it looks like the parameter passing system in B::T::R::Genewise might benefit from some revision.
Suggested solutions are (in increasing order of expected effort):
1) make a minimal fix so that switch-type parameters automatically get a TRUE value and the WrapperBase::quiet() collision is eliminated.
2) Rewrite the parameter setup to use an internal _params array instead of AUTOLOAD
3) Move B::T::R::Genewise over to the WrapperBase system entirely.
Author Name: Dave Messina (@DaveMessina) Original Redmine Issue: 3072, https://redmine.open-bio.org/issues/3072 Original Date: 2010-05-02 Original Assignee: Bioperl Guts
I’m pasting my email pretty much verbatim below, but here’s a link to the thread: http://groups.google.com/group/bioperl-l/t/2820ca0eeef24613
The syntax needed to pass the ‘quiet’ flag to Genewise is:
genes is an array of Bio::SeqFeature::Gene::GeneStructure objects my
genes = $factory->run($protein_seq, $genomic_seq);This turns out be incorrectly documented on the man page, at least in part: Available Params:
NB: These should be passed without the ‘-’ or they will be ignored, except switches such as ‘hmmer’ (which have no corresponding value) which should be set on the factory object using the AUTOLOADed methods of the same name.
Model [-codon,-gene,-cfreq,-splice,-subs,-indel,-intron,-null] Alg [-kbyte,-alg] HMM [-hmmer] Output [-gff,-gener,-alb,-pal,-block,-divide] Standard [-help,-version,-silent,-quiet,-errorlog]
That is, these don’t work as expected:
$factory->quiet; $factory->quiet(1);
due to a conflict with the quiet() method inherited from Bio::Tools::Run::WrapperBase.
And passing a true value such as 1 is in fact necessary or the switch-type parameters won’t be set.
So it looks like the parameter passing system in B::T::R::Genewise might benefit from some revision.
Suggested solutions are (in increasing order of expected effort): 1) make a minimal fix so that switch-type parameters automatically get a TRUE value and the WrapperBase::quiet() collision is eliminated.
2) Rewrite the parameter setup to use an internal _params array instead of AUTOLOAD
3) Move B::T::R::Genewise over to the WrapperBase system entirely.