[Biopython-dev] [GSoC] Gsoc 2014 aspirant

Peter Cock p.j.a.cock at googlemail.com
Tue Mar 4 16:45:09 EST 2014


On Tuesday, March 4, 2014, Fields, Christopher J <cjfields at illinois.edu>
wrote:

> On Mar 4, 2014, at 6:32 AM, Peter Cock <p.j.a.cock at googlemail.com<javascript:;>>
> wrote:
>
> > On Tue, Mar 4, 2014 at 10:40 AM, Michiel de Hoon <mjldehoon at yahoo.com<javascript:;>>
> wrote:
> >> I would suggest to implement this in C, with a thin wrapper in Python.
> >> Using 3rd-party libraries would increase the compile-time dependencies
> of Biopython.
> >> Anyway I expect that the tricky part will be the design of the module,
> rather than the algorithms themselves, so using 3rd-party libraries
> wouldn't help us so much.
> >> Best,
> >> -Michiel.
> >
> > I would also consider a pure Python implementation on top,
> > both for cross-testing, but also for use under Jython or PyPy
> > where using the C code wouldn't be possible (or at least,
> > becomes more complicated).
> >
> > (This is what the existing Bio.pairwise2 module does)
>
> Ah, so it's pure python.  Makes sense to have it for that purpose.  You
> could simply repurpose the existing code.
>
>
Apologies if unclear - Biopython has both a C and pure
Python version of pairwise2 - although most of our bits
of C code don't have a fallback and so break under
Jython or PyPy etc.

Personally I am optimistic about the potential of PyPy
to speed up most Python code with its JIT so am a
little wary of adding more C code (which may act as
a barrier to entry for future maintainers) without a
matching Python implementation - but appreciate
that for typical C Python this is often the best way to
attain high performance.

But Michiel is absolutely right - the algorithm choice is
even more important.


> > Adding third party C libraries would also make life hard for
> > cross platform testing (Linux, Mac, Windows).
> >
> > Peter
>
> This is a problem with bioinformatics tools in general; they simply aren't
> Windows-friendly.  However, one can write code with portability in mind
> (even C/C++).
>
> chris


Yes indeed - this is one reason why the buildbot
for automated cross-platform testing is really
helpful (since few if currently any of the Biopython
developers use Windows as their primary system).

Peter


More information about the Biopython-dev mailing list