[Biopython-dev] Fwd: Where to put command line wrappers
Brad Chapman
chapmanb at 50mail.com
Fri Apr 17 14:02:41 UTC 2009
Hi all;
[Where to put the commandline objects]
> > I think that there is a difference between EMBOSS and
> > Bio.[Motif|Align]. In EMBOSS we have a very nicely comoditized
> > set of tools with similar interfaces, while both for multiple
> > alignment and motif searching the tools vary a lot. In case of
> > multiple alignments this is only with respect to parameters and
> > output format, while in motif searching there is also a lot of
> > differences in the types of input (background models etc.).
>
> That is a good argument for using Bio/Align/Applications/XXX.py and
> Bio/Motif/Applications/XXX.py while also having
> Bio/EMBOSS/Applications.py
There is a natural tension between overgeneralizing and dumping
too much into one file. At one end you have deeply nested Java-like
directories with a few lines of code in each file. I tend towards the
"more in a single file and less nesting" camp. My vote would be that
if the Motif Applications file will only contain commandline
wrappers, they could live in one file.
[generic_run]
> > Motif finding programs usually output a lot less than there is input. Normally,
> > you don't want to see more than 10 motifs and each contributes ~1kb so
> > I don't see this as a huge problem in this case.
>
> I can see that Bio.Application.generic_run function is often handy,
> but sometimes it is quite inappropriate. For AlignAce obviously it
> has sufficed.
Yeah, generic_run is not as generic as it should be. It does have a
lot of hard fought logic for working with multiple python versions
and windows/unix. Could we make generic_run appropriate for the big
standard out cases so we don't end up duplicating that in
Blast/Clustalw/wherever runners?
Brad
More information about the Biopython-dev
mailing list