[Bioperl-l] WrapperBase / StandAloneBlast executable() method confusion

Sendu Bala bix at sendu.me.uk
Tue Apr 24 06:21:29 EDT 2007


I'm a little unsure of the intent for executable() in wrapper modules. 
The WrapperBase version of the method and the StandAloneBlast version 
have the same POD but different implementations.

WrapperBase takes as a first arg an 'exe' which it will blindly trust is 
the path to a working executable. (That doesn't seem sensible already.) 
It is only capable of storing one such path.

If no arg is supplied it uses program_path() (which uses program_name()) 
to find the executable. Failing that it does a further direct test on 
program_name() to see if its executable.

StandAloneBlast takes as a first arg merely the name of your exe and 
also (undocumented) the path to the corresponding executable (which is 
tested to see if it really executable). It can store executable paths 
for multiple different exenames (corresponding better with the docs for 
the first arg: "name of executable to set path to").

If no second arg is supplied it does something similar to WrapperBase, 
except that it uses the first arg exename (or a default if that wasn't 
supplied) in place of program_name().

I'm trying to generalize this so StandAloneBlast can just use the 
WrapperBase version (and so other wrappers can then store executable 
paths for different sub-programs). Any suggestions for a good way of 
melding these two together whilst somehow retaining backward compatibility?

More information about the Bioperl-l mailing list