[Biopython-dev] Bio.SeqIO.convert function?
Eric Talevich
eric.talevich at gmail.com
Tue Jul 28 15:49:29 UTC 2009
Hi Peter,
On Tue, Jul 28, 2009 at 9:14 AM, Peter <biopython at maubp.freeserve.co.uk>wrote:
> On Tue, Jul 28, 2009 at 12:19 PM, Peter<biopython at maubp.freeserve.co.uk>
> wrote:
> >
> > Any thoughts? Would this all just make SeqIO too complicated?
> >
>
> The idea of the Bio.SeqIO.convert function was two fold:
> (1) Syntactic sugar (and for this alone I wouldn't add it)
> (2) Faster file format conversion (e.g. for scripts or pipelines)
>
>
This would be nice if it was implemented in AlignIO and TreeIO, too. The
naming is pretty intuitive, and the concept is general, so I don't think it
makes the API any more difficult to understand. (Personally, I like having a
sugary API to use inside ipython.)
But the main reason I piped up was that some time ago, we observed that some
popular Python libraries have functions that can accept either an open file
handle or a file name, and do the right thing. The xml.etree module in the
standard lib does this by checking if the 'file' argument has a 'read'
method, and if not, trying to open it. I didn't see any reason for
Bio.TreeIO to be any fussier than the standard library, so...
http://github.com/etal/biopython/blob/phyloxml/Bio/TreeIO/NexusIO.py
Implementing this for SeqIO.convert() (or ideally, read/parse/write on all
the *IO modules) would make it very nice for files other than stdin and
stdout -- otherwise, the user needs to open and maybe close two file handles
before calling convert().
What do you think?
Cheers,
Eric
More information about the Biopython-dev
mailing list