This release of Biopython supports Python 3.8, 3.9, 3.10, 3.11 and 3.12. It
has also been tested on PyPy3.9 v7.3.13. Python 3.8 is approaching end of
life, our support for it is now deprecated.
Our main documentation, the Biopython Tutorial and Cookbook, has been
converted from LaTeX to reStructuredText, and combined with the existing API
documentation, into a single more modern and navigable HTML output.
This release reverts the removal of the .strand, .ref, and .ref_db
attributes of the SeqFeature which was done without a deprecation period.
They are again aliases for .location.strand etc, but trigger deprecation
warnings.
Bio.Blast contains a new parser for BLAST XML output as a replacement for the
old parser in Bio.Blast.NCBIXML. The main differences between the parsers is
as follows:
The old parser stores information in a Bio.Blast.NCBIXML.Blast object, with
attribute names based on plain-text Blast output. The new parser stores
information in a Bio.Blast.Record object. This class follows the DTD that
describes the XML in terms of attribute names and dictionary key names, class
structure, and object types. This makes it easier to find the detailed
description of each field in the NCBI Blast documentation.
The old parser stores alignment information directly as seen in the BLAST XML
output, i.e. as strings with dashes to represent gaps. The new parser stores
the alignment information as a Bio.Align.Alignment object, which can then be
used to e.g. print the alignment in a different format.
Bio.Blast also contains a new qblast function as a replacement for the old
qblast function in Bio.Blast.NCBIWWW. The main difference is that the old
qblast function in Bio.Blast.NCBIWWW returns the BLAST search results as Python
strings, while the new qblast returns bytes objects. Note that in Python, to
parse an XML file it should be opened in binary mode, as the string encoding is
specified in the XML data itself. The object returned by the new qblast
function can therefore be passed directly to the BLAST parser. Also, this
allows data to be downloaded in a binary format such as JSON2, which returns
data in a zipped JSON format.
A function called Bio.Phylo.to_igraph has been added to convert a
Bio.Phylo.Tree into an igraph.Graph graph, in parallel to the existing
function to convert the same object into a networkx graph.
Many thanks to the Biopython developers and community for making this release
possible, especially the following contributors:
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps biopython from 1.81 to 1.83.
Changelog
Sourced from biopython's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show