Biopython 1.72 released

Dear Biopythoneers,

I’m writing this in Portland at the GCC BOSC 2018 conference, where I will present the Biopython Project Update 2018 talk tomorrow. Yesterday during my airport layover in Iceland, I published the Biopython 1.72 release to our website and PyPI:

This release of Biopython supports Python 2.7, 3.4, 3.5 and 3.6. It has also been tested on PyPy2.7 v6.0.0 and PyPy3.5 v6.0.0.

Internal changes to Bio.SeqIO have sped up the SeqRecord .format method and SeqIO.write (especially when used in a for loop).

The MAF alignment indexing in Bio.AlignIO.MafIO has been updated to use inclusive end co-ordinates to better handle searches at end points. This will require you to rebuild any existing MAF index files.

In this release more of our code is now explicitly available under either our original “Biopython License Agreement”, or the very similar but more commonly used “3-Clause BSD License”. See the LICENSE.rst file for more details.

The Entrez module now supports the NCBI API key. Also you can now set a custom directory for DTD and XSD files. This allows Entrez to be used in environments like AWS Lambda, which restricts write access to specific directories. Improved support for parsing NCBI Entrez XML files that use XSD schemas.

Internal changes to our C code mean that NumPy is no longer required at compile time – only at run time (and only for those modules which use NumPy).

Seq, UnknownSeq, MutableSeq and derived classes now support integer multiplication methods, matching native Python string methods.

A translate method has been added to Bio.SeqFeature that will extract a feature and translate it using the codon_start and transl_table qualifiers of the feature if they are present.

Bio.SearchIO is no longer considered experimental, and so it does not raise warnings anymore when imported.

A new pairwise sequence aligner is available in Bio.Align, as an alternative to the existing pairwise sequence aligner in Bio.pairwise2.

Many thanks to the Biopython developers and community for making this release possible, especially the following contributors:

  • Benjamin Vaisvil (first contribution)
  • Blaise Li
  • Chad Parmet
  • Chris Rands
  • Connor T. Skennerton
  • Francesco Gastaldello
  • Michiel de Hoon
  • Pamela Russell (first contribution)
  • Peter Cock
  • Spencer Bliven
  • Wibowo ‘Bow’ Arindrarto

Thank you all.


P.S. You can follow @Biopython on Twitter

Checksums for interest/public record:

$ shasum -a 256 biopython-1.72*
























$ md5sum biopython-1.72*


a66e12a83c44ee50f01888129658eba0  biopython-1.72-cp27-cp27m-manylinux1_i686.whl


13b4e63a2a4c97e3fefa5360425f5199  biopython-1.72-cp27-cp27mu-manylinux1_i686.whl


e6ca44a18b5fc65e7ca4267f877fd9cc  biopython-1.72-cp27-cp27m-win32.whl

4978d56508b002591e7b6c931c5d54f4  biopython-1.72-cp27-cp27m-win_amd64.whl


50e8fc0e63ca3ad524ea8c5d237ed6b1  biopython-1.72-cp34-cp34m-manylinux1_i686.whl


1ea11554a42996491c847ae0cf36de97  biopython-1.72-cp34-cp34m-win32.whl

848d5d53c3a6c60d9e94528e6cc35087  biopython-1.72-cp34-cp34m-win_amd64.whl


75b83b673997dbae8a8fe1a6fa15d3e3  biopython-1.72-cp35-cp35m-manylinux1_i686.whl


d76442d3fc18de8953936a6c5ef5a79f  biopython-1.72-cp35-cp35m-win32.whl

f043fa59e3fbd5d505599474aaed74b5  biopython-1.72-cp35-cp35m-win_amd64.whl


49fd975593798f0d7a293ebe327f800e  biopython-1.72-cp36-cp36m-manylinux1_i686.whl


4e0d4de83b89d632a5dad9ee417306f2  biopython-1.72-cp36-cp36m-win32.whl

acdf4e57da4fc90bf7c52c76c2bf4182  biopython-1.72-cp36-cp36m-win_amd64.whl

418fecc41f75353fde30de73586900ac  biopython-1.72.tar.gz

Posted in Biopython, Blogroll, Code, Development, OBF Projects | Tagged , , , , , , , , | Leave a comment

OBF Birds of a Feather at GCCBOSC 2018

If you’re going to GCCBOSC 2018, we invite you to join us at the OBF Birds of a Feather on Wednesday, June 27, from 5:40-7:40pm. Come and chat over dinner! Everyone is invited, whether you’re a longtime OBF member or someone who’s never even heard of the OBF. (By the way, anyone who is involved in open source or open science is welcome to join the OBF, and there is no membership fee.)
More details at
We look forward to seeing some of you there!

Posted in Uncategorized | Leave a comment

Travel award recipients for April 2018

We had another great round of applications for the OBF Travel Fellowship this spring. After reviewing the applications, the OBF Board selected three recipients, who have all accepted the award.

Congratulations to our spring 2018 recipients:

Watch this space for blog posts from each of the awardees (update – links added above).

The next deadline for travel awards is August 15. You can apply to travel to participate at any event that develops or promotes open source development and open science in the biological research community.The program is aimed at increasing diverse participation at such events. See the OBF travel award page for details and how to apply.

Posted in Community, OBF, Travel Fellowship | Tagged , , , , | Leave a comment

Saving science from itself: A review of the 2018 eLife Innovation Sprint

This is a guest blog post from Anisha Keshavan, who was supported by the ongoing Open Bioinformatics Foundation travel fellowship program to attend the 2018 eLife Innovation Sprint in Cambridge, May 2018. The OBF’s Travel Fellowship program continues to help open source bioinformatics software developers with funding to attend conferences or workshops. This was one of three awards from our April 2018 travel fellowships call. The current call closes 15 August 2018, you might want to apply?

It is hard for me to put into words the thrill, excitement, and inspiration I’m feeling after attending the 2 day eLife Innovation sprint on May 10th and 11th. The #eLifeSprint ( in Cambridge, UK, brought together software developers, researchers, designers, and anyone who was passionate about leveraging web technology to advance open scientific communication. The goal: to save science from itself!
Continue reading

Posted in Blogroll, Community, Travel Fellowship | Tagged , , , | Leave a comment

Welcome to our Google Summer of Code 2018 students

The Open Bioinformatics Foundation is again participating in the Google Summer of Code program this year. Last Monday the selected students were announced. Congratulations to all of you, and a heartfelt welcome. I also want to use this opportunity to thank all students who applied. Resources were limited, we did not get all the slots that we asked for, and so we had to make some tough choices.  We wish you all the best for your future endeavours, and hope to be able to work with you in future. The field of bioinformatics is a small one, as you will find out.

The Open Bioinformatics Foundation will host six student projects this year:

  • Hitesh Joshi will be working on a Bionode workflow engine for streamed data analysis
  • Synchon Mandal will be improving the constraint-based modeling in COBRApy
  • Sophia Mersmann will improve the posterior error probability estimation for OpenMS peptide search engine results
  • Edgar Garriga Nogales will implement support for Research Object specification into the Nextflow framework
  • Sarthak Sehgal will be rewriting the front-end code powering the BioJS websites
  • Megh Thakkar will be revamping the back-end of the BioJS websites

Please join me in welcoming all of them to the Open  Bioinformatics community and the respective subprojects. I’m sure we’ll have a great, productive summer together.


Kai Blin
OBF administrator for GSoC 2018

PS: We ask all our students to blog about their summer of code experience and will be updating this post with links to their respective blogs.

Posted in Code, Community, Development, Google Summer of Code, OBF | Tagged , , | Leave a comment

BioJava 5.0.0 is out

BioJava 5.0.0 was released on the 23rd of March 2018. This represents a major milestone that brings more consolidation and reorganisation of modules. This is the first release to be based on Java 8, bring in your lambdas and stream API calls!

The release represents work done in the last 2 years, alpha releases were available for quite some time and now this makes all the changes officially public.

Some major refactoring occurred in the biojava-structure module. The data model to deal with macromolecular structures has been adapted to be closer to the mmCIF data model. Other improvements in biojava-structure are support for MMTF format and improved symmetry detection code.

See the full release notes or browse the official API documentation.

Posted in BioJava, Blogroll, Code, Community, Development, OBF Projects | Tagged , , , , , , | Leave a comment

Biopython 1.71 released

Dear Biopythoneers,

Source distributions of Biopython 1.71 are now available from the downloads page on the official Biopython website, and the release is also on the Python Package Index (PyPI) including pre-compiled Wheel Packages for Linux, Mac OS X and Windows.

This release of Biopython supports Python 2.7, 3.4, 3.5 and 3.6 (we have now dropped support for Python 3.3). It has also been tested on PyPy2.7 v5.10.0 and PyPy3.5 v5.10.1.

Python 3 is the primary development platform for Biopython. We will drop support for Python 2.7 no later than 2020, in line with the end-of-life or sunset date for Python 2.7 itself.

Setup changes:

We now explicitly recommend installation using “pip install biopython”, rather than the classic “python install” approach. In a related change, we depend on the Python package setuptools (rather than the older package distutils in the Python standard library) and have made the dependency on NumPy explicit and automatic.

License changes:

As of Biopython 1.69, we have started to dual-license Biopython under both our original liberal “Biopython License Agreement”, and the very similar but more commonly used “3-Clause BSD License”. A growing number of the Python files are explicitly available under either license, but most of the code remains under the “Biopython License Agreement” only. See the LICENSE file for more details.

Code changes:

Encoding issues have been fixed in several parsers when reading data files with non-ASCII characters, like accented letters in people’s names. This would raise UnicodeDecodeError: 'ascii' codec can't decode byte ... under some system locale settings.

Bio.KEGG can now parse Gene files.

The multiple-sequence-alignment object used by Bio.AlignIO etc now supports a per-column annotation dictionary, useful for richly annotated alignments in the Stockholm/PFAM format.

The SeqRecord object now has a translate method, following the approach used for its existing reverse_complement method etc.

The output of function format_alignment in Bio.pairwise2 for displaying a pairwise sequence alignment as text now indicates gaps and mis-matches.

Bio.SeqIO now supports reading and writing two-line-per-record FASTA files under the format name “fasta-2line”, useful if you wish to work without line-wrapped sequences.

Bio.PDB now contains a writer for the mmCIF file format, which has been the standard PDB archive format since 2014. This allows structural objects to be written out and facilitates conversion between the PDB and mmCIF file formats.

Bio.Emboss.Applications has been updated to fix a wrong parameter in fuzznuc wrapper and include a new wrapper for fuzzpro.

The restriction enzyme list in Bio.Restriction has been updated to the November 2017 release of REBASE.

New codon tables 27-31 from NCBI (NCBI genetic code table version 4.2) were added to Bio.Data.CodonTable. Note that tables 27, 28 and 31 contain no dedicated stop codons; the stop codons in these codes have a context dependent encoding as either STOP or as amino acid.

IO functions such as SeqIO.parse now accept any objects which can be passed to the builtin open function. Specifically, this allows using pathlib.Path objects under Python 3.6 and newer, as per PEP 519.

Bio.SearchIO can now parse InterProScan XML files.

For Python 3 compatibility, comparison operators for the entities within a Bio.PDB Structure object were implemented. These allow the comparison of models, chains, residues, and atoms with the common operators (==, !=, >, …) Comparisons are based on IDs and take the parents of the entity up to the model level into account. For consistent behaviour of all entities the operators for atoms were modified to also consider the parent IDs. NOTE: this represents a change in behaviour in respect to v1.70 for Atom comparisons. In order to mimic the behaviour of previous versions, comparison will have to be done for Atom IDs and alternative locations specifically.

Additionally, a number of small bugs have been fixed with further additions to the test suite, and there has been further work to follow the Python PEP8PEP257 and best practice standard coding style.


Many thanks to the Biopython developers and community for making this release possible, especially the following contributors:

  • Adhemar Zerlotini
  • Ariel Aptekmann
  • Chris Rands
  • Christian Brueffer
  • Erik Cederstrand (first contribution)
  • Fei Qi (first contribution)
  • Francesco Gastaldello
  • James Jeffryes (first contribution)
  • Jerven Bolleman (first contribution)
  • Joe Greener (first contribution)
  • Joerg Schaarschmidt (first contribution)
  • João Rodrigues
  • Jeroen Van Goey
  • Jun Aruga (first contribution)
  • Kai Blin
  • Kozo Nishida
  • Lewis A. Marshall (first contribution)
  • Markus Piotrowski
  • Michiel de Hoon
  • Nicolas Fontrodona (first contribution)
  • Peter Cock
  • Philip Bergstrom (first contribution)
  • rht (first contribution)
  • Saket Choudhary
  • Shuichiro MAKIGAKI (first contribution)
  • Shyam Saladi (first contribution)
  • Siong Kong
  • Spencer Bliven
  • Stefans Mezulis
  • Steve Bond
  • Yasar L. Ahmed (first contribution)
  • Zachary Sailer (first contribution)
  • Zaid Ur-Rehman (first contribution)

Thank you all.

P.S. You can follow @Biopython on Twitter


$ md5sum biopython-1.71*
b2cd1215bacfb7cb9ee73b6b67695da0  biopython-1.71-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
a85b46133003383e428b05895e5d3613  biopython-1.71-cp27-cp27m-manylinux1_i686.whl
89e368cbcb6517915ee371f27f459b90  biopython-1.71-cp27-cp27m-manylinux1_x86_64.whl
395e12573e9a56130489aafe3617e254  biopython-1.71-cp27-cp27mu-manylinux1_i686.whl
f80e811aeebf9241e03a6ef3d4c9d9c6  biopython-1.71-cp27-cp27mu-manylinux1_x86_64.whl
b98d04351a94eb94a95e57c4ded460c2  biopython-1.71-cp27-cp27m-win32.whl
4997d76f075f4840d82f7d596917ba92  biopython-1.71-cp27-cp27m-win_amd64.whl
47b6e58c03599b4e8a5534efa9171d0c  biopython-1.71-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
53df08929d39abda3c0b668d7d06456c  biopython-1.71-cp34-cp34m-manylinux1_i686.whl
d308f83c49dc38395928348628d24238  biopython-1.71-cp34-cp34m-manylinux1_x86_64.whl
a2f05c067222c31091ad97c6c394e54d  biopython-1.71-cp34-cp34m-win32.whl
b5f26e1288f5124a2a02ffeab7139650  biopython-1.71-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
0f5e731a17b3d5798347a21b88224583  biopython-1.71-cp35-cp35m-manylinux1_i686.whl
4f1fa297348d4797acab537b44480aaa  biopython-1.71-cp35-cp35m-manylinux1_x86_64.whl
cf859db69d1c182f133cd34774ff15ca  biopython-1.71-cp35-cp35m-win32.whl
9eb34690189f4c156157e0991852bb56  biopython-1.71-cp35-cp35m-win_amd64.whl
80cf17e84f22a4ea61e7394a521500f9  biopython-1.71-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
09fbad06133a8b2b9c3d20faa0d6a156  biopython-1.71-cp36-cp36m-manylinux1_i686.whl
d7e15723aac481d945289d179a52a9f9  biopython-1.71-cp36-cp36m-manylinux1_x86_64.whl
80c03614cb3b4c486793e6e31c62403d  biopython-1.71-cp36-cp36m-win32.whl
dc7149f7297176bf0c8ca80fa176ecb0  biopython-1.71-cp36-cp36m-win_amd64.whl
966ac542f39809c37852410a95f641fb  biopython-1.71.tar.gz
$ shasum -a 256 biopython-1.71*
f919aa78031c00e44350742331f5a1eed7b447bde7812abe2ca0f6a5165900bb  biopython-1.71-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
7449d7df74a298c190fbc9ad60591577acb2e45d5ff788faa8672df460f3dc4d  biopython-1.71-cp27-cp27m-manylinux1_i686.whl
3fdf4c9502404dd62905fd70bce57806cb775e636eede5de13f1abe8f0915158  biopython-1.71-cp27-cp27m-manylinux1_x86_64.whl
4960e0ec35de8b02cd0b6a720db623abf30931a5677046ec06c0097b6a565541  biopython-1.71-cp27-cp27mu-manylinux1_i686.whl
4e4c6fe00e1d49e016634602e8554380ec437b505d8f20132da408a37da560ce  biopython-1.71-cp27-cp27mu-manylinux1_x86_64.whl
65f00db00b2f91ba90e5bb61c7dd14d2beacb9f2d3e60c9d4330376b693d8975  biopython-1.71-cp27-cp27m-win32.whl
6318172b107ad72abf45a03de6a189a3e7cfc2e682d402520c14bbbe8295e335  biopython-1.71-cp27-cp27m-win_amd64.whl
5b7284947a4b657d7955d0af8c48594be62a4d8dd51b84223fded371e81911d6  biopython-1.71-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
20fbbbc0f1c2f11972ea598191ba2cd8cb7ecb38595fa89031b9c3974ebcbdff  biopython-1.71-cp34-cp34m-manylinux1_i686.whl
9fabcb8cd0a87c5e2514bc959f5504ea5dc58219bc2ff91e6c689279322319c6  biopython-1.71-cp34-cp34m-manylinux1_x86_64.whl
038ecb2376cbfd2b42e79f64fe96ffb4921fecacad6f5157b684168933320455  biopython-1.71-cp34-cp34m-win32.whl
b7782271639fb92ea7fde4ad1caeeed3ca4ba6795de81bde391a4ea21e3870fb  biopython-1.71-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
14067b4ae2596979fd82a1e61fafbf2f8acd81f547b09220d8f4d7642a2b3759  biopython-1.71-cp35-cp35m-manylinux1_i686.whl
1c6190b552c5b9e2b2b7456ecc5258f344b1afee63c1d656b610a5c1a4b52b3f  biopython-1.71-cp35-cp35m-manylinux1_x86_64.whl
23580bf169d044cc749819465520f33579c62ce06816f87f814e4a78fdd48877  biopython-1.71-cp35-cp35m-win32.whl
f2603eeb09a7eef41eb81d874901c02e848ad80776f9e80d91b15206e7c4441d  biopython-1.71-cp35-cp35m-win_amd64.whl
9f800d7db93685a73fe244d16ab76dec91e51ddcde20a3f9e8dffa3d05170d96  biopython-1.71-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
4b7f6552b4d9162ca90bc0515a93815a7d81b8b0435932ab0aaf2affc53b40f6  biopython-1.71-cp36-cp36m-manylinux1_i686.whl
6ac8e5c2f6ffa1190a491ccc5f00e004d05107abf9879ebdff202088be31d02a  biopython-1.71-cp36-cp36m-manylinux1_x86_64.whl
693e9f2955393438613a431fe9b308d3d39a30923fe1efd32e0000c83feda6e3  biopython-1.71-cp36-cp36m-win32.whl
dccb66a68968c4c76a7ec92d82e44abf8721a2f65c9afb7acdc3deb2457b7b4e  biopython-1.71-cp36-cp36m-win_amd64.whl
4f1770a29a5b18fcaca759bbc888083cdde2b301f073439ff640570d4a93e033  biopython-1.71.tar.gz


Posted in Biopython, Blogroll, Code, Community, Development, OBF Projects | Tagged , , , , , , | Leave a comment

Welcome to our new board members!

As mentioned in our previous blog post, last Friday the OBF had a board of directors meeting. One of the notable meeting items this time was to elect more board members to help be involved with the community. We’re pleased to announce that both candidates, Bastian Greshake Tzovaras and Yo Yehudi, were unanimously voted in by the other board members!

Logically, one of their first moves as newly minted members was to draft this blog post! Some of the their possible ideas for the future include:

  • Applying to participate as a mentor organisation in Outreachy – a program similar to Google Summer of Code, but specifically dedicated to increasing diversity in open source.
  • Growing our network and connecting more closely with like-minded organizations in the open science-space

If any of these sound of interest and you’d like to be involved, please let us know by leaving a comment on this post, mailing the main OBF mailing group (membership required), or tweeting @obf_news. We’re especially keen to hear if any of you have other suggestions for things you’d like to see to help build the community!

Posted in Board, Community, OBF, Uncategorized | Tagged , , | Leave a comment

OBF Public Board Meeting to take place March 16, 2018 at 15:00 UTC

The OBF Board of Directors holds a public meeting about once a year, in accordance with our bylaws. The next such meeting will take place on March 16, 2018, at 15:00 UTC (11am EDT / 8am PDT / 16:00 CET). The meeting agenda can be found at

At this public Board meeting, we will consider two new candidates running for Board seats: Bastian Greshake Tzovaras and Yo Yehudi. Both are known for their promotional and organizational involvement in open science, open data and open source bioinformatics.

Bastian has been active in the larger field of Open Science since 2010, when he helped to run a successful petition for the German legislative to overhaul their Open Access policies. He is the co-founder of openSNP and currently serves as the Director of Research at Open Humans. He mentors open science projects as part of the Mozilla Science Lab mentorship programs. Bastian recently earned a PhD in bioinformatics from the University of Frankfurt. He is on the BOSC organizing committee.

Yo works on software and community outreach for Intermine at the University of Cambridge. and is a passionate advocate of open* in research. She runs a project called Code is Science, dedicated to increasing the number of publications about scientific software that include Open Source code. Yo tweets about open science and open bioinformatics (for example, at BOSC 2017). She hopes to apply her scientific communication and outreach skills to help the OBF grow and deepen its community impact.

During the March 16 public Board meeting, the two candidates will introduce themselves, and the current board members will vote via secret (though verifiable) electronic ballots. Additionally, the minutes from the previous BoD meeting and the financial reports for previous years will be presented and approved.

All members of OBF are invited to join us for this meeting. Membership in OBF is free and open to anyone who is interested in and aligned with the objectives of the organization. If you would like to apply for membership, please visit

Meeting time: March 16, 2018, 11.00am EDT (15:00 UTC, 16:00 CET, 8.00am PDT). Note that at the time of the meeting, the US will have switched already to DST, whereas Europe will not, so the time zone difference is an hour less than it would normally be.
Dial-in Information: +1-857-216-2939
PIN: 62534

Posted in Board, Community, OBF | Tagged , , | Leave a comment

OBF accepted as a mentoring organisation for Google Summer of Code 2018

The Open Bioinformatics Foundation has been accepted as a mentoring organisation for the 2018 instance of the Google Summer of Code. OBF is acting as an umbrella for ten bioinformatics Open Source projects, making it possible to offer a very diverse set of student projects.

Are you a student and interested in applying for any of the projects? The student application period is open from March 12th through 27th from the official GSoC website. See the full timeline for details. Feel free to contact the mentors of projects you are interested in already, though.

Posted in Community, Development, Google Summer of Code, OBF, OBF Projects | Tagged | Leave a comment