[Bioperl-l] Blast return codes

Matthew Laird lairdm at sfu.ca
Wed Dec 10 16:40:28 EST 2003


Well, that's a step in the right direction, I have a little more 
information now.  I added a $! before the $? and received:

------------- EXCEPTION  -------------
MSG: blastall call crashed: -1 No child processes 
/usr/local/blast/blastall -p  blastp  -d  
/usr/local/psort/conf/analysis/sclblast/sclblast  -i  /tmp/8Dt6zF1U59  -e  
1e-09  -o  /tmp/ojP9n04LZh

STACK Bio::Tools::Run::StandAloneBlast::_runblast 
/usr/lib/perl5/site_perl/5.8.0/Bio/Tools/Run/StandAloneBlast.pm:640

This is where we get into Perl voodoo beyond my league, "No child 
processes" - does that ring bells for anyone?  Thanks again.

On 10 Dec 2003, Keith James wrote:

> >>>>> "Matthew" == Matthew Laird <lairdm at sfu.ca> writes:
> 
>     Matthew> Thanks for the replay, the error is as follows: Fatal
>     Matthew> error: ------------- EXCEPTION ------------- MSG:
>     Matthew> blastall call crashed: -1 /usr/local/blast/blastall -p
>     Matthew> blastp -d
>     Matthew> /usr/local/psort/conf/analysis/sclblast/sclblast -i
>     Matthew> /tmp/rvtNYtglud -e 1e-09 -o /tmp/jFVFD1Pxt3
> 
> I think the previous reply could have hit the answer i.e. the -1 means
> that blast is not getting run at all (perldoc system seems to confirm
> this).
> 
> The code in StandAloneBlast is 
> 
>  my $status = system($commandstring);
> 
>  $self->throw("$executable call crashed: $? $commandstring\n")
>    unless ($status==0) ;
> 
> Perl seems to set $? to a value (-1 again) even though the child
> process never starts. It may be worth including $! in the error
> message if the system call fails as this may be helpful.
> 
> e.g.
> 
> perl -e '$a = system("flub"); $a and print "$a : $?, $!\n"
> 
> -1 : -1, No such file or directory
> 
> Unfortunately I can't shed any light on the crux of your problem...
> 
> Keith
> 
> 

-- 
Matthew Laird
SysAdmin/Web Developer, Brinkman Laboratory, MBB Dept.
Simon Fraser University




More information about the Bioperl-l mailing list