[Biopython-dev] [Biopython - Feature #3236] Make Biopython work in PyPy 1.5

redmine at redmine.open-bio.org redmine at redmine.open-bio.org
Tue Nov 22 11:30:58 UTC 2011

Issue #3236 has been updated by Peter Cock.

I have deprecated Bio.Pathway.Rep.HashSet and switched Bio.Pathway.Rep.Graph to use Python's built in set instead. This means test_Pathway.py now passes under PyPy 1.6 and 1.7,

Feature #3236: Make Biopython work in PyPy 1.5

Author: Eric Talevich
Status: In Progress
Priority: Low
Assignee: Biopython Dev Mailing List
Target version: 

PyPy is now roughly as production-ready as Jython:

Let's make Biopython work on PyPy 1.5.

To make the pure-Python core of Biopython work, I did this:

* Download and unpack the pre-compiled Linux tarball from pypy.org
* Copy the header file @marshal.h@ from the CPython 2.X installation into the @pypy-c-.../include/@ directory
* pypy setup.py build; pypy setup.py install
* Delete pypy-c-.../site-packages/Bio/cpairwise2*.so

Benchmarking a script that leans heavily on Bio.pairwise2, I see about a 2x speedup between Pypy 1.5 and CPython 2.6 -- yes, that's with the compiled C extension @cpairwise2@ in the CPython 2.6 installation.

Numpy isn't available on PyPy yet, and it may be some time before it does.

Observations from @pypy setup.py test@:

* test_BioSQL triggers tons of RuntimeWarnings related to sqlite3 functions
* test_BioSQL_SeqIO fails -- attempts to retrieve P01892 instead of Q29899 (?)
* test_Restriction triggers a TypeError, somehow (also causing test_CAPS to err)
* test_Entrez fails with many noisy errors -- looks related to expat, may be just my installation
* importing @Bio.trie@ fails, probably due to a @marshal.h@ issue with compilation

You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here and login: http://redmine.open-bio.org

More information about the Biopython-dev mailing list