[Bioperl-l] Problem with Bio::Factor::EMBOSS

Susan J. Miller sjmiller at email.arizona.edu
Fri Feb 20 14:45:01 EST 2004


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?

-- 
Thanks,
-susan

Susan J. Miller
Biotechnology Computing Facility
Arizona Research Laboratories
Bio West 228
University of Arizona
Tucson, AZ  85721
(520) 626-2597



More information about the Bioperl-l mailing list