Peter Cock | 23 Jun 15:14 2016

[Biopython] Switching to PEP440 compliant versioning for our development code

Dear Biopythoneers,

Currently we use a simple two level versioning scheme
of 1.N for Biopython (currently at 1.67), which is all fine for
the recent PEP standards which are important for when
we release code via PyPI, and determining dependencies
and ordering releases.

However, as currently documented on our release process,
in between releases we append a plus, currently 1.67+,
and these versions are not PEP440 compliant.

The closest equivalent in the standard to 1.67+ (which we
are using to mean after 1.67 but before 1.68) would be
a post release, e.g.

However, having read PEP440, I think it would be clearer
to use (a development pre-release of what will
be 1.68) instead?

This still allows for alpha, beta and release candidates
should we need them, e.g., 1.78a, 1.78b, 1.78rc,
1.78 etc.

i.e. Rather than currently using 1.67, 1.67+, 1.68, 1.68+, ...
(Continue reading)

Peter Cock | 9 Jun 19:29 2016

[Biopython] Deprecate (or remove?) Scripts/xbbtools/xbb_*.py

Hello all,

Is anyone using the GUI tool under Biopython's Scripts/xbbtools/

It was written using a library called Pmw (Python megawidgets),
but sadly it hasn't had anyone keeping it properly up to date since
Thomas Sicheritz Pontén first wrote it back in 2001.

Sadly unless someone volunteers to take over maintaining this,
I propose to deprecate it - or even simply remove it - in the next
release of Biopython.

Please reply here, or comment on GitHub here:

Thank you,


Biopython mailing list  -  Biopython <at>
Peter Cock | 8 Jun 20:19 2016

[Biopython] Ending Python 2.6 support after Biopython 1.68

Dear Biopythoneers,

Both Biopython 1.66 (21 October 2015) and today's release of
Biopython 1.67 (8 June 2016) will work on Python 2.6 but give
a warning at install time that support for this is deprecated.

In line with our deprecation policy, unless there are multiple
objections with strong justifications, I expect our next release
(Biopython 1.68) will be our final release to support Python 2.6,

For reference, while the current NumPy 1.11.x releases still support
Python 2.6, NumPy 1.12.0 will drop Python 2.6 support (targeting
Python 2.7, and 3.4 onwards). Most other major Python libraries
have already or are in the process of dropping Python 2.6 support.


Biopython mailing list  -  Biopython <at>

Peter Cock | 8 Jun 20:04 2016

[Biopython] Biopython 1.67 released

Dear Biopythoneers,

This was long over-due, but Biopython 1.67 was released earlier today.
The most recent delay was due to migrating our website from MediaWiki
to GitHub Pages earlier this year, following an OBF server failure.


Source distributions and Windows installers for Biopython 1.66 are now
available from the downloads page on the official Biopython website,
and the release is also on the Python Package Index (PyPI).

This release of Biopython supports Python 2.6, 2.7, 3.3, 3.4 and 3.5,
but support for Python 2.6 is considered to be deprecated. It has also
been tested on PyPy 5.0, PyPy3 version 2.4, and Jython 2.7.

Comparison of SeqRecord objects until now has used the default Python
object comparison (are they the same instance in memory?). This can be
surprising, but comparing all of the attributes would be too complex.
As of this release attempting to compare SeqRecord objects should
raise an exception instead. If you want the old behaviour, use
id(record1) == id(record2) instead.

New experimental module Bio.phenotype is for working with Phenotype
Microarray plates in JSON and the machine vendor's CSV format
(contributed by Marco Galardini).

Following the convention used elsewhere in Biopython, there is a new
function for parsing KEGG files expected to contain
a single record only - the existing function Bio.KEGG.parse(...) is
(Continue reading)

lists | 8 Jun 04:48 2016

[Biopython] oh my!



I've seen something really weird recently, oh my! Please? take a look at it here


lists <at>

Biopython mailing list  -  Biopython <at>
R. K. Belew | 4 Jun 21:13 2016

[Biopython] aligning a bound ligand from one PDB complex to a reference structure?

Sorry, this is a [repost from 
BioStars](; no response there(:

PDB:4DMN is a HIV-1 integrase structure with a bound ligand (PDB:0L9). 
i want to bring this ligand into alignment with another, reference 
structure PDB:3AO1.

i can do alignments of the two structures, and i can identify the 
ligand's heteroatoms by checking the residue.get_full_id() tags.  but 
there are obviously no CA atoms to associated with the ligand to use as 
references for `Superimposer` to use for alignment.  So i figure i need 
to do it in two steps: first align the two structures, then use the 
transform found by `Superimposer` on the ligand.

but i don't know how to do the second bit?

PS:  poking at PyMOL,  i seem to be able to do what i want using its 
`matrix_copy` command:

     extract 4dmn_0L9, 4dmn and organic
     align 4dmn////CA, 3ao1////CA
     matrix_copy 4dmn, 4dmn_0L9

but i want to do it in bioPython!

thanks for any hints, Rik

Biopython mailing list  -  Biopython <at>

Daniel Rosen | 2 Jun 10:57 2016

[Biopython] Problem installing biopython on Mac OS X 10.10.3

Hi I cannot install biopython and keep getting this error:

/Applications/ fatal error: 

      'stdio.h' file not found

#include <stdio.h>


1 error generated.

error: command 'gcc' failed with exit status 1

Note: I have canopy distribution for python.

Any help would be appreciated. Thank you

Biopython mailing list  -  Biopython <at>
Dries Van Rompaey | 23 May 16:02 2016

[Biopython] Xpdb error

Hi everyone, I'm using biopython to parse some MD files for further processing. I'm using the SloppyStructureBuilder from (as described in, as I have quite a lot of residues and the standard class doesn't support that very well. Unfortunately, I get the following error: File "/Users/dvr/Dropbox/Work/", line 76, in init_residue residue = Residue(res_id, resname, self.segid) NameError: global name 'Residue' is not defined Does anyone know what's going on here? Thanks, Kind regards, Dries

Biopython mailing list  -  Biopython <at>
Md Nafiz Hamid | 17 May 21:04 2016

[Biopython] biopython parse for KEGG gene file


Is there a biopython parser for KEGG gene files. I was only able to find parsers for enzyme and compound files.


Md Nafiz Hamid
Graduate Research Assistant
Bioinformatics and Computational Biology
Department of Veterinary Microbiology and Preventive Medicine
2178 Vet Med
Iowa State University
Ames, IA 50011-1250
Biopython mailing list  -  Biopython <at>
Michael Muratet | 9 May 20:53 2016

[Biopython] Installing biopython on OS X 10.10.5


I have a MacBook Pro 17” Early 2009 running 10.10.5. I’m using anaconda: 

Python 2.7.9 |Anaconda 2.1.0 (x86_64)| (default, Dec 15 2014, 10:37:34) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin

I have the command line tools for XCode 7.2, but I can select “Updates”  with the App Store app and they
will reinstall every time. Weird.

I’ve installed and/or upgraded earlier biopythons on this machine several times without a problem, but
I have run afoul of a known problem that I can’t fix.

Here’s the tail end of the build output from pip:

building 'Bio.cpairwise2' extension

creating build/temp.macosx-10.5-x86_64-2.7

creating build/temp.macosx-10.5-x86_64-2.7/Bio

gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Qunused-arguments -Qunused-arguments
-I/Users/mmuratet/anaconda/include/python2.7 -c Bio/cpairwise2module.c -o build/temp.macosx-10.5-x86_64-2.7/Bio/cpairwise2module.o

gcc: error: unrecognized command line option '-Qunused-arguments'

gcc: error: unrecognized command line option '-Qunused-arguments'

error: command 'gcc' failed with exit status 1

I get the same error with easy_install.

I looked inside and found:

    We can avoid the clang compilation error with -Qunused-arguments which is
    (currently) harmless if gcc is being used instead (e.g. compiling Biopython
    against a locally compiled Python rather than the Apple provided Python).
    # see
    if sys.platform != "darwin":
    # see also Bio/_py3k/ (which we can't use in
    if sys.version_info[0] >= 3:
        from subprocess import getoutput
        from commands import getoutput
    cc = getoutput("cc -v")
    if "gcc" in cc or "clang" not in cc:
    for flag in ["CFLAGS", "CPPFLAGS"]:
        if flag not in os.environ:
            os.environ[flag] = "-Qunused-arguments"
        elif "-Qunused-arguments" not in os.environ[flag]:
            os.environ[flag] += " -Qunused-arguments”

My platform is “darwin” but my version comes back as 2. Furthermore, cc contains “clang” and so the
" -Qunused-arguments” flag is getting set.

I am tempted to just comment out the code to get rid of the flag, but I thought someone might be able to suggest a
better solution.


Biopython mailing list  -  Biopython <at>
Peter Cock | 26 Apr 00:01 2016

[Biopython] Community help needed to verify checksums for past releases

Dear Biopython developers,

Thank you to everyone who has helped with the website
migration to GitHub - I think this has gone pretty well overall:

The good news is the new GitHub Pages website seems to
be working nicely, and during this we've updated a lot of older
content. While there is still lots to fine tune, for me this is the
biggest remaining issue:

*Providing all the past releases via GitHub Pages*

The sudden Biopython website migration was forced by the old
server failing after it was hacked to host spam advertising.
I would like your help here with verifying the checksums of our
past releases before putting them back online - just in case any
of the files rescued from the old server were corrupted when it
was hacked to host spam adverts. All the files checked so far
are fine, so this is likely just me being paranoid.

If anyone has old cached Biopython files under their Downloads
folder etc, could you reply with their checksums please?


shasum - a 256 ~/Downloads/biopython-*
md5sum ~/Downloads/biopython-*

Mac OS X,

shasum - a 256 ~/Downloads/biopython-*
md5 ~/Downloads/biopython-*

(Checksum tools suggestions for Windows welcome)

You can use the mailing list, GitHub issue, or email me directly:

Don't worry about repeating checksums for files other people
have reported, a little duplication here is a good thing ;)

With hindsight it would have been good security practice to have
included the checksums of our releases with the Biopython release
announcements (and SHA256 would be better than MD5). We'll
do that in future:

Thank you,


(Speaking here as a Biopython developer. I am also the on
the Open Bioinformatics Foundation board as the current
secretary, and volunteer to do some of the lighter SysAdmin
work on the OBF servers)
Biopython mailing list  -  Biopython <at>