[Bioperl-l] Blast return codes
Matthew Laird
lairdm at sfu.ca
Fri Dec 12 18:23:56 EST 2003
I did some more investigating and it's beginning to look a lot more
bizarre. I changed the bioperl code to see if the blast command was
actually run regardless of the -1 return code. And yes, blast did run and
the result file is there - it's only that perl is returning a -1 to
bioperl for some reason.
I was actually just speaking with someone in another lab and he said he
used to experience this problem too, his solution was to just write his
own modules. :)
So this certainly seems like some deep down perl/OS voodoo.
I'd still be interested in hearing what envirnoment variables to set to
run t/StandAloneBlast.t.
Thanks.
On Thu, 11 Dec 2003, Matthew Laird wrote:
> Thanks for your assistance so far, I've been trying to find the difference
> between the machines that do work and the ones that don't. The two most
> similar machines which some do and some don't work are a group of Red Hat
> 9 machines.
>
> The machines are running Red Hat 9 and Perl 5.8.0. I've tried both
> bioperl 1.2.1 and 1.2.3. The only other difference I could find was that
> perl was built from source on one of the machines that worked. I tried
> doing that on one of the non-working machines and had no success.
>
> I've tried running the StandAloneBlast.t, what environment variables do I
> need set? I receive:
> [root at ssb7121-5 t]# perl StandAloneBlast.t
> 1..10
> ok 1
> ok 2
> ok 3
> ok 4
> Blast Database ecoli.nt not found at StandAloneBlast.t line 67.
> Blast Database swissprot not found at StandAloneBlast.t line 72.
> Blast databases(s) not found, skipping remaining tests at
> StandAloneBlast.t line 76.
> ok 5 # skip Blast or env variables not installed correctly
> ok 6 # skip Blast or env variables not installed correctly
> ok 7 # skip Blast or env variables not installed correctly
> ok 8 # skip Blast or env variables not installed correctly
> ok 9 # skip Blast or env variables not installed correctly
> ok 10 # skip Blast or env variables not installed correctly
>
> Obviously I need to set some variable so it can find the blast database.
>
> Thanks again.
>
> On 11 Dec 2003, Keith James wrote:
>
> > >>>>> "Matthew" == Matthew Laird <lairdm at sfu.ca> writes:
> >
> > Matthew> Well, that's a step in the right direction, I have a
> > Matthew> little more information now. I added a $! before the $?
> > Matthew> and received:
> >
> > Matthew> ------------- EXCEPTION ------------- MSG: blastall call
> > Matthew> crashed: -1 No child processes /usr/local/blast/blastall
> > Matthew> -p blastp -d
> > Matthew> /usr/local/psort/conf/analysis/sclblast/sclblast -i
> > Matthew> /tmp/8Dt6zF1U59 -e 1e-09 -o /tmp/ojP9n04LZh
> >
> > Matthew> STACK Bio::Tools::Run::StandAloneBlast::_runblast
> > Matthew> /usr/lib/perl5/site_perl/5.8.0/Bio/Tools/Run/StandAloneBlast.pm:640
> >
> > Matthew> This is where we get into Perl voodoo beyond my league,
> > Matthew> "No child processes" - does that ring bells for anyone?
> > Matthew> Thanks again.
> >
> > That's interesting. I think we need to know your OS platform and Perl
> > version to get any further.
> >
> > I think that the value left by a system call in $? is the same as if a
> > wait system call were made. No child processes is a Unix error code
> > (ECHILD) which can be caused by a wait, being reported by Perl.
> >
> > What happens if you run the test for StandAloneBlast? (t/StandAloneBlast.t)
> >
> > Keith
> >
> >
>
>
--
Matthew Laird
SysAdmin/Web Developer, Brinkman Laboratory, MBB Dept.
Simon Fraser University
More information about the Bioperl-l
mailing list