[Bioperl-l] Issues with new Bio::Tools::Run modules for Genemark and Glimmer
Mark Johnson
johnsonm at gmail.com
Wed Feb 28 22:54:02 UTC 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