[Biopython-dev] GSoC SearchIO project

Peter Cock p.j.a.cock at googlemail.com
Tue Apr 3 19:44:48 UTC 2012

On Tue, Apr 3, 2012 at 7:27 PM, Michiel de Hoon <mjldehoon at yahoo.com> wrote:
> While I think that the SearchIO module is a good idea, you
> may want to consider choosing a different name for this
> module. For Bio.Seq/Bio.SeqIO and Bio.Align/Bio.AlignIO,
> roughly speaking the class definitions are in the former and
> the parser is in the latter module. I don't quite understand
> why these two are separated into distinct modules, as to
> me conceptually the two belong together. Bio.SearchIO in
> my understanding will combine both the parsers and the
> class definitions, which is a good thing, but then I would
> prefer a name without "IO" in it.
> Best,
> -Michiel.

Yes, I was thinking to have both the parsers and the new
objects under the name module namespace.

The reason for using SearchIO (despite not being PEP8
compatible - something I regret in the naming of SeqIO
and the pattern it set) is to match SeqIO and AlignIO and
BioPerl. Anyone familiar with BioPerl will immediately see
what it is for - and some of the student applicants have
already used BioPerl's SearchIO. Personally I find this
quite a compelling argument.

That said, the name SearchIO isn't the clearest in the
the world for a newcomer - however I haven't come up
with anything significantly better myself. Perhaps there
is a better name out there, which would justify breaking
the pattern? I've considered pairwise and palign, but
neither feels right.

Given a clean slate (Biopython 2?), then yes, I would
agree with consolidating Bio.Align and Bio.AlignIO as
one namespace, probable "align" (lower case). The
situation with Bio.Seq, Bio.SeqRecord and Bio.SeqIO
isn't quite so simple - perhaps "seq" (lower case)?
Then (in the absence of any other ideas), SearchIO
would become "search" (lower case).


More information about the Biopython-dev mailing list