[Biopython-dev] Changed in C API

Peter biopython at maubp.freeserve.co.uk
Tue Oct 26 09:47:21 UTC 2010

On Tue, Oct 26, 2010 at 10:11 AM, Dragoslav Zaric
<zaricdragoslav at gmail.com> wrote:
> Ok Peter,
> First it is my mistake that I was talking about python code upgrade.
> I understand that you want me to do C code upgrade, but at the
> end all should work together so this is why I looked at overall upgrade
> process.
> I have downloaded latest python source code and I have searched
> for .c files and .h files and this is what I have found:
> Bio\Cluster\cluster.c
> Bio\Cluster\clustermodule.c
> Bio\cMarkovModelmodule.c
> Bio\cpairwise2module.c
> Bio\csupport.c
> Bio\KDTree\KDTree.c
> Bio\KDTree\KDTreemodule.c
> Bio\Motif\_pwm.c
> Bio\Nexus\cnexus.c
> Bio\PDB\mmCIF\lex.yy.c
> Bio\PDB\mmCIF\mmcif_test.c
> Bio\PDB\mmCIF\MMCIFlexmodule.c
> Bio\trie.c
> Bio\triemodule.c
> Bio\Cluster\cluster.h
> Bio\csupport.h
> Bio\KDTree\KDTree.h
> Bio\KDTree\Neighbor.h
> Bio\trie.h

What OS are you using? From the slashes I'd guess
Windows (which may complicate things - getting the
compilers all setup is more work).

> Are these all files you want me to upgrade to python 3.1 ?

Yes - but not all of them are equally important, and some
will be more complicated to port.

For example, the Nexus, MarkovModelmodule and
cMarkovModelmodule C code have a Python fallback
(i.e. the C code is not essential, just faster).

Some of those (e.g. Bio.Cluster and Bio.KDTree) depend
on NumPy, which may make things more complicated.
You will need to install NumPy (for both Python 2 and 3).

Some may have string encoding issues (bytes vs unicode),
e.g. Nexus, Motif

The mmCIF module is not urgent. This is a file parser for
the Bio.PDB code, and we have discussed replacing this
in C. One reason for this is it currently depends on the
3rd party library flex.

I think Bio/Motif/_pwm.c would be a good module to start
with. It is a short simple module exposing a single
function to Python.

You should read this:


More information about the Biopython-dev mailing list