[Bioperl-l] Barry's challenge

Siddhartha Basu basu at pharm.sunysb.edu
Fri Nov 11 13:50:37 EST 2005


Hi,
Jay Hannah wrote:
> 
> On Nov 11, 2005, at 7:01 AM, Aaron J. Mackey wrote:
> 
>> barry.txt is not in FASTA format, it's in raw format
> 
> 
> Thanks!
> 
> On to the next challenge... My program is now:
> 
> $ cat j.pl
> use Bio::Tools::Run::StandAloneBlast;
> $ENV{BLASTDIR} = '/Users/jhannah/src/blast-2.2.12/bin/';
> @params = ('database' => 'nr.00','outfile' => 'j.out');
I think blastall is not getting the program name. Set the param with 
program name and rerun your script.
@params = ('database' => 'nr.00','outfile' => 'j.out', 'program’ => 
’blastp');

-siddhartha

> $factory = Bio::Tools::Run::StandAloneBlast->new(@params);
> $str = Bio::SeqIO->new(-file=>'barry.txt', -format => 'raw' );
> $input = $str->next_seq();
> $input2 = $str->next_seq();
> $blast_report = $factory->blastall($input);
> 
> 
> 
> When I run it it outputs:
> 
> $ perl j.pl
> 
> -------------------- WARNING ---------------------
> MSG: cannot find path to blastall
> ---------------------------------------------------
> 
> 
> 
> But I think that's a red herring because when I run around in the  
> debugger I see
> 
> ================
> [NULL_Caption] ERROR: Program Name was not given an argument
> 
> ------------- EXCEPTION  -------------
> MSG: blastall call crashed: 256  
> /Users/jhannah/src/blast-2.2.12/bin/blastall -d  "/nr.00"  -i   
> /tmp/KvbADjsmeq  -o  j.out
> 
> STACK Bio::Tools::Run::StandAloneBlast::_runblast  
> /Library/Perl/5.8.1/Bio/Tools/Run/StandAloneBlast.pm:759
> STACK Bio::Tools::Run::StandAloneBlast::_generic_local_blast  
> /Library/Perl/5.8.1/Bio/Tools/Run/StandAloneBlast.pm:706
> STACK Bio::Tools::Run::StandAloneBlast::blastall  
> /Library/Perl/5.8.1/Bio/Tools/Run/StandAloneBlast.pm:557
> STACK toplevel j.pl:8
> 
> --------------------------------------
>          Bio::Root::Root::throw('Bio::Tools::Run:: 
> StandAloneBlast=HASH(0xb7cc34)','blastall call crashed: 256  
> /Users/jhannah/src/blast-2.2.12/bi...') called at  
> /Library/Perl/5.8.1/Bio/Tools/Run/StandAloneBlast.pm line 759
>          Bio::Tools::Run::StandAloneBlast::_runblast('Bio::Tools::Run:: 
> StandAloneBlast=HASH(0xb7cc34)','blastall',' -d  "/nr.00"  -i   
> /tmp/KvbADjsmeq  -o  j.out ') called at  
> /Library/Perl/5.8.1/Bio/Tools/Run/StandAloneBlast.pm line 706
>          
> Bio::Tools::Run::StandAloneBlast::_generic_local_blast('Bio::Tools:: 
> Run::StandAloneBlast=HASH(0xb7cc34)','blastall','Bio:: 
> Seq=HASH(0xb81924)','undef') called at  
> /Library/Perl/5.8.1/Bio/Tools/Run/StandAloneBlast.pm line 557
>          Bio::Tools::Run::StandAloneBlast::blastall('Bio::Tools::Run:: 
> StandAloneBlast=HASH(0xb7cc34)','Bio::Seq=HASH(0xb81924)') called at  
> j.pl line 8
> scalar context return from CODE(0x96981c): ''
> ================
> 
> 
> 
> So I've hit my first bioperl bug, right? The output is the wrong error,  
> yes? Should I submit a patch? To where? This mailing list?
> 
> I see that Bio/Tools/Run/StandAloneBlast.pm is calling
> 
>    $self->throw("$executable call crashed: $? $commandstring\n")
> 
> which lives down in Bio/Root/Root.pm. Is there a primer (from a user's  
> perspective) on how I'm supposed to activate debugging/tracing? If not,  
> should I try to figure it out and write one? Into  
> Bio::Tools::Run::StandAloneBlast or somewhere more general purpose?
> 
> Thanks all,
> 
> j
> BioNewb
> 
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l



More information about the Bioperl-l mailing list