[Bioperl-l] Bptutorial.pl

Peter Schattner schattner@alum.mit.edu
Thu, 19 Dec 2002 16:19:23 -0800


Paul Boutros wrote:

> > > Can't use string ("Bio::Tools::Run::StandAloneBlast") as a HASH ref
> > > while "strict refs" in use at
> > > C:/Perl/site/lib/Bio/Tools/Run/StandAloneBlast.pm line 366.
> >
> > This one is puzzling.   What version of StandAloneBlast.pm is the one in your
>
> > directory C:/Perl/site/lib/Bio/Tools/Run/StandAloneBlast.pm?
>
> # $Id: StandAloneBlast.pm,v 1.26 2002/12/16 14:50:24 jason Exp $

Ok.  I understand what’s happening, but I’m not sure what the best solution is.

The methods exists_blast, exists_clustal and exists_tcoffee from the
StandAloneBlast.pm, Clustalw.pm and Tcoffee.pm modules (respectively) in
bioperl-run/Bio/Tools/Run have been replaced by the method
Bio::Root::IO::exists_exe.  This results in the cryptic error message (and other
cryptic messages when running the tcoffee and clustalw demo scripts).

I think that exists_blast, exists_clustal and exists_tcoffee should at least be
reinstated with the message that they are now "deprecated" and will be removed in
the future and the user is advised to use Bio::Root::IO::exists_exe instead.
Otherwise lots of scripts will crash when people install/update bioperl-run.

Second when I changed bptutorial to use Bio::Root::IO::exists_exe, the script
still fails (ie the executable can’t be found).  As far as I can tell this is
because exists_exe just looks for the executable in the $PATH whereas previously
it was possible to locate the executable using the $CLUSTALDIR environmental
variable.  Is there any way to enable exists_exe to find an executable which is
not in the $PATH, now?  If it is possible, let me know and I’ll make sure it is
documented in the tutorial.  If it isn’t possible any more, I think I should
submit a bug report.

Cheers

Peter