[Bioperl-l] Issues with new Bio::Tools::Run modules for Genemark and Glimmer

Mark Johnson johnsonm at gmail.com
Wed Feb 28 17:54:02 EST 2007

On 2/28/07, Chris Fields <cjfields at uiuc.edu> wrote:

> For bioperl-run tests you have to have the program installed for
> tests to work (otherwise they are passed over).  Therefore one would
> assume if you had the GeneMark program you would have the models as
> well.
> You could set up your module to require an env. variable be set (like
> the HMMER module, for instance) which contains the executables and/or
> the models, so that if it isn't set the tests are skipped.

Sounds like a plan.

I wouldn't worry too much about Win9x.  Is IPC::Run in perl core?
> Otherwise we'll need to add it to the optional dependencies for
> bioperl-run.

I'd test it, but I don't have access to any Win9x boxes anymore.  IPC::Run
is not a core module, but I think it's worth the dependency.  I considered
IPC::Open3, but it can't be made reliable on Win32, something about not
being able to select() on filehandles, only sockets.  I also looked at
IPC::Run3, but under the hood, it's just got STDOUT/STDERR redirection
layered on top of system().  I don't like using system() due to issues with
signals (Such as the user hitting ctrl-c and taking out the child).  I feel
better knowing the wrapped executable is in another process disconnected
from the console.

Sendu's suggestion (_set_from_args() ) is the best.  As mentioned in
> another thread _rearrange() works as well.

I'm using _rearrange() now.  I'll look at _set_from_args().  Is either one
preferred to the other?

More information about the Bioperl-l mailing list