[Biopython-dev] Proposition for Biopython 2

Patrick Kunzmann padix.kleber at gmail.com
Thu Nov 2 10:42:49 UTC 2017


Dear Biopython community,

here I present you a proposition for a potential Biopython 2.x code 
base. But first things first:

A few months ago I proposed an endeavor to rewrite Biopython in order to 
bring it onto modern scientific Python standards 
(http://lists.open-bio.org/pipermail/biopython-dev/2017-June/021740.html). 
Arguably, the consensus was that this is something that should be done, 
but those changes would require almost a complete rewrite and barely 
anyone has time for it. Therefore, I took the initiative some time later 
and created an experimental repository for creating actual Biopython 2 
code (https://github.com/padix-key/biopython2experimental). 
Unfortunately it seems that the announcement mail for that did not reach 
the mailing list, but went missing in the deep of the web. Anyway, the 
repository is now at a presentable state. The corresponding HTML 
documentation (including tutorial, API reference and install 
instructions) can be found under 
https://github.com/padix-key/biopython2/files/1437242/doc.zip . So far 
it is not possible to install the package from PyPI, since it is not the 
offical Biopython 2 package. Instead you have to install it directly 
from the repo, if you want to test the package.

The package contains basic types and operations for working with 
structure and sequence data, offers biological database interaction with 
RCSB and NCBI Entrez and provides seamless interfaces to external 
software. Although the package aims to achieve similar area of 
application as Biopython 1.x, it is a complete rewrite.

The package is still in early development. I tried to incorporate the 
ideas you and I brought up in the Biopython 2 discussion and still 
everything is subject to changes in the discussion with you. I already 
have some questions for discussion:

1. Should this package still be dual licensed? Since the BSD 3-Clause 
and the Biopython license are quite similar, I would suggest licensing 
Biopython 2 only under BSD 3-Clause for clarity. But I do not have a 
strong opinion on that.

2. In our previous discussion some of you proposed putting only core 
functionality into Biopython 2 and leaving specialized code installable 
as plugins. This package does not contain a mechanism for plugin 
packages, yet. I would rather suggest a 'recommended packages' approach: 
Code that is based on Biopython 2 and tackles a general biological 
problem would be linked in a 'Recommended packages' section of the 
Biopython 2 documentation. In my opinion, direct plugins in the 
Biopython 2 package requires some confusing namespace wizardry. 
Recommended packages would achieve almost the same, with the slight 
difference, that the user writes 'import recommendedpackage' rather than 
'import biopython.someplugin'.

If this package is accepted by the community, I would like to hand over 
repository ownership to the 'Biopython' organisation on GitHub and I 
would like to continue and supervise its development as part of the 
GitHub 'Biopython' organisation.

Best regards,
Patrick Kunzmann



More information about the Biopython-dev mailing list