[BioPython] NumPy

Michiel de Hoon mjldehoon at yahoo.com
Sun Aug 31 09:01:31 UTC 2008


> Actually NumPy is doing a 1.2 release and may be one to
> watch.

OK maybe we should wait until release 1.2. Though from what I understood, NumPy-dependent code won't have to be changed going from Numpy 1.1 to 1.2.

> Also NumPy will be using Nose for testing so if
> not installed you can not run the tests.

These kinds of things I find really annoying about NumPy. Such kind of basic libraries should only rely on run-of-the-mill Python.

> The Cygwin has a major bug that is not due to NumPy. But I
> am sure the NumPy developers would like to know any
> compilation problems.

I filed this bug report about 10 months ago:
http://projects.scipy.org/scipy/numpy/ticket/612
As I just found out, this bug was fixed a while back. I should try and see if NumPy compiles correctly on Cygwin now.
 
> Actually, how critical is having Numerical Python in
> BioPython in the first place?

Numerical Python is now used by the following modules:
Bio.Affy
Bio.Cluster
Bio.MarkovModel
Bio.distance
Bio.KDTree
Bio.kNN
Bio.LogisticRegression
Bio.MaxEntropy
Bio.MetaTool
Bio.NaiveBayes
Bio.PDB
Bio.Statistics
Bio.SVDSuperimposer

In this list, Bio.Cluster and Bio.PDB are the biggest ones. The other ones, IMHO, are not the core functionality of Biopython. While I wouldn't just want to get rid of them, we have some more flexibility there. Bio.Cluster also exists as a separate library (Pycluster), so it's not a complete disaster if Bio.Cluster disappears. However, Bio.PDB is a serious issue.

One option to consider is to allow Numerical Python / NumPy only at the Python level, and not at the C level. Then these modules can be written such that they try to import (the new) NumPy first, and failing that, try to import (the old) Numerical Python instead.

--Michiel.


> Is there a case to remove functionality or have special
> sub-modules?
> 
> One rather critical aspect is that both NumPy and
> Matplotlib also
> require Python 2.4.
> 
> Regards
> Bruce


      



More information about the Biopython mailing list