[Bioperl-l] Problem with Bio::Factor::EMBOSS
Jason Stajich
jason at cgt.duhs.duke.edu
Fri Feb 20 14:53:58 EST 2004
Presumably changing line 226 to
+ unless (defined $input->{$attr}) {
from
- unless ( $input->{$attr}) {
will fix it - can you let us know if it does.
-jason
On Fri, 20 Feb 2004, Susan J. Miller wrote:
> We just installed bioperl-run-1.4 (on a sun4u sparc SUNW,Ultra-4 running
> Solaris8), and I am not able to pass the value zero as a parameter to
> the EMBOSS tools - when I do I get an error message saying "MISSING
> MANDATORY ATTRIBUTE". I've tried a couple different EMBOSS programs,
> and the result is the same. I've also tried various forms of zero (0,
> '0', a variable contining zero)...
>
> My code:
> ==========================================================================
> use Bio::Factory::EMBOSS;
>
> @files = glob("*.fasta");
> foreach $f (@files) {
> $emb_fac = Bio::Factory::EMBOSS->new(-verbose => 1);
>
> $rev = $emb_fac->program('revseq');
> $rev->run({'-sequence' => "$f", -outseq => "SE1",
> -sbegin1 => '0', -send1 => '100'}); # '0' gives error!
>
> $mut = $emb_fac->program('msbar');
> $mut->run({'-sequence' => "$f", '-count' => '100',
> '-point' => '1', '-block' => '1',
> '-codon' => 0,
> '-outseq' => "$f.mut"});
> }
> ==========================================================================
> Both revseq and msbar work if I pass a non-zero value. With 0, here is
> the verbose output:
> ==========================================================================
> $VAR1 = {
> '-outseq' => 'SE1',
> '-send1' => '100',
> '-sbegin1' => '0',
> '-sequence' => 'Seq1.cgi'
> };
> Input attr: outseq => SE1
> Input attr: send1 => 100
> Input attr: sbegin1 => 0
> Input attr: sequence => Seq1.cgi
> Command line: revseq -outseq SE1 -send1 100 -sbegin1 -sequence Seq1.cgi
> -auto
> Died: value required for -sbegin1
>
> $VAR1 = {
> '-outseq' => 'Seq1.cgi.mut',
> '-count' => '100',
> '-codon' => 0,
> '-sequence' => 'Seq1.cgi',
> '-block' => '1',
> '-point' => '1'
> };
> Input attr: outseq => Seq1.cgi.mut
> Input attr: count => 100
> Input attr: codon => 0
> Input attr: sequence => Seq1.cgi
> Input attr: block => 1
> Input attr: point => 1
> --------------------------------------
> MISSING MANDATORY ATTRIBUTE: -codon
> --------------------------------------
> $VAR1 = {
> 'category' => 'mandatory',
> 'values' => '0(None)1(Any of the
> following)2(Insertions)3(Deletions)4(Changes)5(Duplications)6(Moves)',
> 'descr' => 'Types of codon mutations to perform. These are
> only done if the sequence is nucleic.',
> 'unnamed' => 0,
> 'default' => '0'
> };
>
> ------------- EXCEPTION: Bio::Root::Exception -------------
> MSG: Program msbar needs attribute [-codon]!
>
> STACK: Error::throw
> STACK: Bio::Root::Root::throw
> /usr/local/lib/perl5/site_perl/5.6.0/Bio/Root/Root.pm:342
> STACK: Bio::Tools::Run::EMBOSSApplication::run
> /usr/local/lib/perl5/site_perl/5.6.0/Bio/Tools/Run/EMBOSSApplication.pm:229
> STACK: ./ex4b.pl:28
> -----------------------------------------------------------
> ==========================================================================
>
>
> Is this a bug? Is there a work-around?
>
>
--
Jason Stajich
Duke University
jason at cgt.mc.duke.edu
More information about the Bioperl-l
mailing list