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

Chris Fields cjfields at uiuc.edu
Wed Feb 28 17:10:54 EST 2007

On Feb 28, 2007, at 1:59 PM, Mark Johnson wrote:

>     I happen to need something like Bio::Tools::Run::Genemark, so  
> I'm coding
> one up.  When I started on the tests for it, I realized I have a  
> problem.  I
> can distribute a fasta file downloaded from GenBank to use as  
> input, but I
> can't distribute the model file needed to actually run Genemark (
> Genemark.hmm for prokaryotes, gmhmmp, in my case).
>     It took *forever* to get a license, and I'm not thrilled with the
> prospect of talking them out of a redistributable model file.  I'd  
> love to
> distribute the test, but I don't see how I'm going to be able to.
> Suggestions?

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  

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.

>     Also, I've settled on IPC::Run instead of system().  The docs  
> indicate
> the bits of it I'm using should be OK on Windows, except maybe for  
> Win9X.
> I don't want to clutter up the console, I don't like embedding  
> stdout/stderr
> redirection in command strings, and I don't want to have to worry  
> about
> signal handling (What if the child catches a ctrl-c halfway through
> parsing?  What if the parent does?).  Anybody object to that?

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  

>    One final thing.  I'm lazy, I don't want to deal with parsing  
> arguments
> to the constructor, so I'm just calling _rearrange() to deal with  
> it.  The
> Bio::Tools:: parsers all take dash options, but it looks like a  
> bunch of the
> stuff in Bio::Tools::Run:: takes dashless args.  Objections?

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


More information about the Bioperl-l mailing list