[Biopython-dev] Where to put command line wrappers

Peter biopython at maubp.freeserve.co.uk
Tue Apr 28 19:27:41 UTC 2009


On Thu, Apr 23, 2009 at 10:21 PM, Peter <biopython at maubp.freeserve.co.uk> wrote:
>
> OK, what I propose is that the command line objects are exposed as
> Bio.Align.Applications.MuscleCommandline,
> Bio.Align.Applications.ClustalwCommandline, etc but that the
> implementations live in Bio/Align/Applications/_Muscle.py,
> _Clustalw.py etc.  To do this the Bio/Align/Applications/__init__.py
> file will look like this:
>
> from _Muscle import MuscleCommandline
> from _Clustalw import ClustalwCommandline
>
> This avoids having a single massive file, yet keeps the public
> namespace simple.  For the user, they do this:
>
> from Bio.Align.Applications import MuscleCommandline
> cline = MuscleCommandline(...)
>
> or if they prefer,
>
> from Bio.Align import Applications
> cline = Applications.MuscleCommandline(...)
>
> From the user's point of view all the alignment command line wrapper
> objects live together under Bio.Align.Applications.

As no one objected or put forward an alternative scheme, Cymon and I
have been pressing ahead on Bug 2815 using the above file layout.  I
have also updated Bio.Motif.Applications to match (this module was
deliberately left out of Biopython 1.50 while this issue was settled).

Peter



More information about the Biopython-dev mailing list