[Biopython-dev] Bio.EMBOSS wrappers

Peter biopython at maubp.freeserve.co.uk
Tue May 12 23:04:53 UTC 2009

On Mon, Apr 13, 2009 at 2:49 PM, Peter <biopython at maubp.freeserve.co.uk> wrote:
> On Mon, Apr 13, 2009 at 2:44 PM, Brad Chapman <chapmanb at 50mail.com> wrote:
>>> > ... Feel free to add away.
>>> I need to work on my delegation skills - that seems to have back fired ;)
>> Oops. I honestly read that as "do I have your permission?" I can of
>> course tackle this, but am a bit underwater now.
> Looking back, I was a bit ambiguous.  I don't mind who does it - let's
> see who has time free first.

That's done in CVS now - plus a few other things like -die and -stdout.
I've also done -outfile via the new base Emboss wrapper, as all the
tools (so far at least) include this option.

>>> Regarding adding -auto support, I have a question about the needle
>>> wrapper and the gap parameters.  Using the needle tool at the command
>>> line will prompt for the gap parameters UNLESS the -auto argument has
>>> been used.  i.e. Without -auto, it makes sense to insist on the gap
>>> parameters being included, which is what the current wrapper does.
>>> However, if we add support for -auto, then these parameters can be
>>> optional.  We could handle this in the wrapper, but it would be messy
>>> (and there may be similar questions with other EMBOSS tools).  What do
>>> you think - stick with the simple option of insisting the Biopython
>>> user set the gap parameters, even if they are using -auto?
>> I think we should stick with the simple option. These were meant to
>> be pretty dumb specifiers that help users write more modular code than
>> simply pasting in a raw string for the command line. Trying to get
>> too fancy is probably overkill.
> Agreed.

By putting the outfile argument on the base EMBOSS wrapper class,
together with the related -filter and -stdout options, I was able to
enforce a simple check that at least one of these is used, applicable
to all the wrappers.  This preserves the old safety check that the
output file is required (unless using standard out via -filter and/or
-stdout instead).

Something similar could be done so that using -auto overrides the
any "required" flags we have set (e.g. for gapopen in water), but this
seems unnecessary to me (as discussed above).


More information about the Biopython-dev mailing list