Skip to main content
Biopython on the Python Package Index (PyPI) Biopython on the Conda package conda-forge channel Linux testing with TravisCI Windows testing with AppVeyor TravisCI test coverage Research software impact on Depsy The Biopython Project

Biopython README file

The Biopython Project is an international association of developers of freely available Python tools for computational molecular biology.

Our user-centric documentation is hosted on http://biopython.org including the main Biopython Tutorial and Cookbook:

This README file is intended primarily for people interested in working with the Biopython source code, either one of the releases from the http://biopython.org website, or from our repository on GitHub https://github.com/biopython/biopython

The NEWS file summarises the changes in each release of Biopython.

The Biopython package is open source software made available under generous terms. Please see the LICENSE file for further details.

If you use Biopython in work contributing to a scientific publication, we ask that you cite our application note (below) or one of the module specific publications (listed on our website):

Cock, P.J.A. et al. Biopython: freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics 2009 Jun 1; 25(11) 1422-3 http://dx.doi.org/10.1093/bioinformatics/btp163 pmid:19304878

For the impatient

Python 3.6 onwards, include the package management system “pip” which should allow you to install Biopython (and its dependency NumPy if needed), upgrade or uninstall with just one terminal command:

pip install biopython
pip install --upgrade biopython
pip uninstall biopython

Since Biopython 1.70 we have provided pre-compiled binary wheel packages on PyPI for Linux, Mac OS X and Windows. This means pip install should be quick, and not require a compiler.

As a developer or potential contributor, you may wish to download, build and install Biopython yourself. This is described below.

Python Requirements

We currently recommend using Python 3.8 from http://www.python.org

Biopython is currently supported and tested on the following Python implementations:

Biopython 1.68 was our final release to support Python 2.6, while Biopython 1.76 was our final release to support Python 2.7 and Python 3.5.

Optional Dependencies

Biopython requires NumPy (see http://www.numpy.org) which will be installed automatically if you install Biopython with pip (see below for compiling Biopython yourself).

Depending on which parts of Biopython you plan to use, there are a number of other optional Python dependencies, which can be installed later if needed:

In addition there are a number of useful third party tools you may wish to install such as standalone NCBI BLAST, EMBOSS or ClustalW.

Installation From Source

We recommend using the pre-compiled binary wheels available on PyPI using:

pip install biopython

However, if you need to compile Biopython yourself, the following are required at compile time:

  • Python including development header files like python.h, which on Linux are often not installed by default (trying looking for and installing a package named python-dev or python-devel as well as the python pacakge).

  • Appropriate C compiler for your version of Python, for example GCC on Linux, MSVC on Windows. For Mac OS X, or as it is now branded, macOS, use Apple’s command line tools, which can be installed with the terminal command:

    xcode-select --install

    This will offer to install Apple’s XCode development suite - you can, but it is not needed and takes a lot of disk space.

Then either download and decompress our source code, or fetch it using git. Now change directory to the Biopython source code folder and run:

python setup.py build
python setup.py test
sudo python setup.py install

Substitute python with your specific version if required, for example python3, or pypy3.

To exlude tests that require an internet connection (and which may take a long time), use the --offline option:

python setup.py test --offline

If you need to do additional configuration, e.g. changing the install directory prefix, please type python setup.py.

Testing

Biopython includes a suite of regression tests to check if everything is running correctly. To run the tests, go to the biopython source code directory and type:

python setup.py build
python setup.py test

If you want to skip the online tests (which is recommended when doing repeated testing), use:

python setup.py test --offline

Do not panic if you see messages warning of skipped tests:

test_DocSQL ... skipping. Install MySQLdb if you want to use Bio.DocSQL.

This most likely means that a package is not installed. You can ignore this if it occurs in the tests for a module that you were not planning on using. If you did want to use that module, please install the required dependency and re-run the tests.

Some of the tests may fail due to network issues, this is often down to chance or a service outage. If the problem does not go away on re-running the tests, you can use the --offline option.

There is more testing information in the Biopython Tutorial & Cookbook.

Experimental code

Biopython 1.61 introduced a new warning, Bio.BiopythonExperimentalWarning, which is used to mark any experimental code included in the otherwise stable Biopython releases. Such ‘beta’ level code is ready for wider testing, but still likely to change, and should only be tried by early adopters in order to give feedback via the biopython-dev mailing list.

We’d expect such experimental code to reach stable status within one or two releases, at which point our normal policies about trying to preserve backwards compatibility would apply.

Bugs

While we try to ship a robust package, bugs inevitably pop up. If you are having problems that might be caused by a bug in Biopython, it is possible that it has already been identified. Update to the latest release if you are not using it already, and retry. If the problem persists, please search our bug database and our mailing lists to see if it has already been reported (and hopefully fixed), and if not please do report the bug. We can’t fix problems we don’t know about ;)

Issue tracker: https://github.com/biopython/biopython/issues

If you suspect the problem lies within a parser, it is likely that the data format has changed and broken the parsing code. (The text BLAST and GenBank formats seem to be particularly fragile.) Thus, the parsing code in Biopython is sometimes updated faster than we can build Biopython releases. You can get the most recent parser by pulling the relevant files (e.g. the ones in Bio.SeqIO or Bio.Blast) from our git repository. However, be careful when doing this, because the code in github is not as well-tested as released code, and may contain new dependencies.

In any bug report, please let us know:

  1. Which operating system and hardware (32 bit or 64 bit) you are using

  2. Python version

  3. Biopython version (or git commit/date)

  4. Traceback that occurs (the full error message)

And also ideally:

  1. Example code that breaks

  2. A data file that causes the problem

Contributing, Bug Reports

Biopython is run by volunteers from all over the world, with many types of backgrounds. We are always looking for people interested in helping with code development, web-site management, documentation writing, technical administration, and whatever else comes up.

If you wish to contribute, please first read CONTRIBUTING.rst here, visit our web site http://biopython.org and join our mailing list: http://biopython.org/wiki/Mailing_lists

Distribution Structure

  • README.rst – This file.

  • NEWS.rst – Release notes and news.

  • LICENSE.rst – What you can do with the code.

  • CONTRIB.rst – An (incomplete) list of people who helped Biopython in one way or another.

  • CONTRIBUTING.rst – An overview about how to contribute to Biopython.

  • DEPRECATED.rst – Contains information about modules in Biopython that were removed or no longer recommended for use, and how to update code that uses those modules.

  • MANIFEST.in – Configures which files to include in releases.

  • setup.py – Installation file.

  • Bio/ – The main code base code.

  • BioSQL/ – Code for using Biopython with BioSQL databases.

  • Doc/ – Documentation.

  • Scripts/ – Miscellaneous, possibly useful, standalone scripts.

  • Tests/ – Regression testing code including sample data files.

Release files for biopython 1.77

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biopython 1.77
File Size Uploaded
biopython-1.77.tar.gz 16.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for biopython 1.77
File
biopython-1.77-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
biopython-1.77-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
biopython-1.77-cp38-cp38-manylinux1_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64 Details
biopython-1.77-cp38-cp38-manylinux1_i686.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-32 Details
biopython-1.77-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
biopython-1.77-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
biopython-1.77-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
biopython-1.77-cp37-cp37m-manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
biopython-1.77-cp37-cp37m-manylinux1_i686.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-32 Details
biopython-1.77-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details
biopython-1.77-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
biopython-1.77-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
biopython-1.77-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
biopython-1.77-cp36-cp36m-manylinux1_i686.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32 Details
biopython-1.77-cp36-cp36m-macosx_10_9_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 Details

Total release size: 50.8 MB

Release files / biopython-1.77.tar.gz

Download URL biopython-1.77.tar.gz
Size 16.8 MB
Tags Source
SHA-256 checksum
How to use checksums
fb1936e9ca9e7af8de1050e84375f23328e04b801063edf0ad73733494d8ec42
BLAKE2b-256 checksum
How to use checksums
3d2fd9df24de05d651c5e686ee8fea3afe3985c03ef9ca02f4cc1e7ea10aa31e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp38-cp38-win_amd64.whl

Download URL biopython-1.77-cp38-cp38-win_amd64.whl
Size 2.3 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
c277d762abe246ab23f459837451c5de16b13116f298a7a7fb896b4c839cd7a5
BLAKE2b-256 checksum
How to use checksums
c62b664691d6d29d136e3442030609a0d1909f3e84698fdc3a423ccd0d585f37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp38-cp38-win32.whl

Download URL biopython-1.77-cp38-cp38-win32.whl
Size 2.2 MB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
d1a1b2b56d881113af8eda84cf148f07d2df158e3d71d884634d033442609db0
BLAKE2b-256 checksum
How to use checksums
a0f9c69091d76b7c755ed6d425a128c096f87f3db48a3aa00774793038ed40c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp38-cp38-manylinux1_x86_64.whl

Download URL biopython-1.77-cp38-cp38-manylinux1_x86_64.whl
Size 2.3 MB
Tags CPython 3.8 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8b9da6a9d5af1fcd979cbebd4df63321c7243c56b7f816672bf084393f6e4f3a
BLAKE2b-256 checksum
How to use checksums
d07cd4e0a19437bc85fa0607beabb85307ac36d091271b11181f73d65c61d434
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp38-cp38-manylinux1_i686.whl

Download URL biopython-1.77-cp38-cp38-manylinux1_i686.whl
Size 2.3 MB
Tags CPython 3.8 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
825368cac116e5acdd6d003a1e13d3a9fe0eaa2c44a101f28a061a88cd287acf
BLAKE2b-256 checksum
How to use checksums
89e4f82961ec4b60908ae1e93bb061a12060b147069741a43bf96a44c7292f08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp38-cp38-macosx_10_9_x86_64.whl

Download URL biopython-1.77-cp38-cp38-macosx_10_9_x86_64.whl
Size 2.3 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5ac84aa3f61ba60b22bd00e06bc7b7408924396c8f13690a2ebdb6af0b62ecce
BLAKE2b-256 checksum
How to use checksums
426e861479317f6f0d536b79c08ee87ae9588690f365a8a49d3cc0c57b8a01c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp37-cp37m-win_amd64.whl

Download URL biopython-1.77-cp37-cp37m-win_amd64.whl
Size 2.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
d76d0e197e06c6e33131e3bc964ac99e1ed9f99cc7834b513fbdb7efe04bc4bc
BLAKE2b-256 checksum
How to use checksums
8e443b5b7e68ca414a650bc53907de0f3447c83e81c65f50cfaa8ecbbfffefc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp37-cp37m-win32.whl

Download URL biopython-1.77-cp37-cp37m-win32.whl
Size 2.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
8f0f2694b51785c6e1cf790cba79e5aa19dc9304485c7b019585624c88632354
BLAKE2b-256 checksum
How to use checksums
0250ef62d25891a94e5866c4f24e75054c558fbcadd664174056db95a612330d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp37-cp37m-manylinux1_x86_64.whl

Download URL biopython-1.77-cp37-cp37m-manylinux1_x86_64.whl
Size 2.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
4debae2570b5937f55626ec8f9ef0e7001d6269ce6e6cfad4c9dca5c7a22065e
BLAKE2b-256 checksum
How to use checksums
74688d7bb5782a2531138c03f223e23bcec9be980a4a9be30e06351200220caf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp37-cp37m-manylinux1_i686.whl

Download URL biopython-1.77-cp37-cp37m-manylinux1_i686.whl
Size 2.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
2ff96797cda9b2ff280cff6d1f7530181baecfd65987b6d1fc8356230cdcedd8
BLAKE2b-256 checksum
How to use checksums
4432b27d3836496a99aa9cfb62fd911e39c71c6232a59c6f88b90d2351fad2e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL biopython-1.77-cp37-cp37m-macosx_10_9_x86_64.whl
Size 2.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
fd7db2db38cf938909032c1b8c49402930f74268f387090496d93e566cb3c219
BLAKE2b-256 checksum
How to use checksums
76322fd3b24f1fcf47e5e1b8d533262a5118568afd877f48080dd809262f9fa3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp36-cp36m-win_amd64.whl

Download URL biopython-1.77-cp36-cp36m-win_amd64.whl
Size 2.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
52bf44bf5ed0e8b9c43907b5a1955ac9c930f12a795a45e5fd8d452f4c089196
BLAKE2b-256 checksum
How to use checksums
50660039d7d2e1a878366e4bd8bd2df7f1228890650df7379fe795b3ec52048b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp36-cp36m-win32.whl

Download URL biopython-1.77-cp36-cp36m-win32.whl
Size 2.2 MB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
4ba446c5c08f7863bdc9175c982cc6c1dc7262c824e6f8439c7c7e6b165bc165
BLAKE2b-256 checksum
How to use checksums
b5b02414e324ceddc03e4e3c939799fbf70022d58eea471dbeeeaad747d1601e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp36-cp36m-manylinux1_x86_64.whl

Download URL biopython-1.77-cp36-cp36m-manylinux1_x86_64.whl
Size 2.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
583c37d73857ce64796cba41a125c5b797796c16a7cf1873166d6be97dc3247e
BLAKE2b-256 checksum
How to use checksums
a866134dbd5f885fc71493c61b6cf04c9ea08082da28da5ed07709b02857cbd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp36-cp36m-manylinux1_i686.whl

Download URL biopython-1.77-cp36-cp36m-manylinux1_i686.whl
Size 2.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
b289ab4b9a099a58bd1ec022e0f468c840ede84298a1221580111b2b712d421b
BLAKE2b-256 checksum
How to use checksums
3711b473cb602912fd933da4ff0c957bc6393cf7bbb85c665af5739732622293
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release files / biopython-1.77-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL biopython-1.77-cp36-cp36m-macosx_10_9_x86_64.whl
Size 2.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
50a22232cc74f3dcd2c3b91735e44ed9c1eaa1430ea13cf490876a9ba96c5d8d
BLAKE2b-256 checksum
How to use checksums
4f47323e23c427b3246cc092a767f1868396a47ae05a7a135ce828600e7fe177
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6

Release history Release notifications | RSS feed

1.88

41 release files

1.87

31 release files

1.86

47 release files

1.85

32 release files

1.84

25 release files

1.83

27 release files

1.82

22 release files

1.81

28 release files

1.80

24 release files

1.79

39 release files

1.78

25 release files

This release

1.77 This release

16 release files

1.76

25 release files

1.75

26 release files

1.74

28 release files

1.73

28 release files

1.72

23 release files

1.71

23 release files

1.70

23 release files

1.69

1 release file

1.68

1 release file

1.67

1 release file

1.66

1 release file

1.65

1 release file

1.64

1 release file

1.63

1 release file

1.62

1 release file

1.61

1 release file

1.60

1 release file

1.59

1 release file

1.58

1 release file

1.57

1 release file

1.56

1 release file

1.55

1 release file

1.54

1 release file

1.53

1 release file

1.52

1 release file

1.51

1 release file

1.50

1 release file

1.49

1 release file

1.48

1 release file

1.47

1 release file

1.46

1 release file

1.45

1 release file

1.44

1 release file

1.43

1 release file

1.42

1 release file

1.41

1 release file

1.30

1 release file

1.24

1 release file

1.23

1 release file

1.22

1 release file

1.21

1 release file

1.20

1 release file

1.10

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page