[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