This release of Biopython supports Python 3.8, 3.9, 3.10, 3.11 and 3.12. It
has also been tested on PyPy3.8 v7.8.16.
The inplace argument of complement and reverse_complement in
Bio.Seq now always default to False both for Seq and MutableSeq
objects. To modify a MutableSeq in-place, use inplace=True.
A new class CodonAligner was added to Bio.Align. A CodonAligner
object can align a nucleotide sequence to the amino acid sequence it encodes,
using a dynamic programming algorithm modeled on PairwiseAligner to take
frame shifts into account. The CodonAligner returns Alignment objects.
By calling the new mapall method on an Alignment object storing a
multiple sequence alignment of amino acid sequences, with nucleotide-to-amino
acid alignments generated by CodonAligner as the argument, a codon-by-codon
multiple sequence alignment of nucleotide sequences can be obtained. The new
submodule Bio.Align.analysis provides functions to estimate synonymous and
nonsynonymous mutations and to perform the McDonald-Kreitman test on the codon
multiple sequence alignments. Together, this provides the same functionality as
the Bio.codonalign module, but uses the standard Alignment class, and
does not rely on regular expression searching to align a nucleotide sequence to
an amino acid sequence.
The hmmer3-text SearchIO format now also extracts the similarity string of
the parsed alignments. This value is available under the 'similarity' key of
the aln_annotation attribute of each HSP, the same as how it is done in
other SearchIO formats.
HMMER results with the full path to the hmmer executable in the banner are
now parsed correctly. This should help Windows users and users with python
installations in non-default locations.
We now have basic type hint annotations in various modules including Seq,
SeqRecord, and SeqIO. This should help anyone using an editor or IDE
with type-aware autocomplete, or in conjunction with mypy as a pre-commit
check this can catch passing the wrong types to Biopython functions/methods.
Calling iter on a PairwiseAlignments object returned by a
PairwiseAigner previously reset the iterator such that it will start from
the first alignment when iterating. As a side effect, this will cause all other
iterators of the alignments to reset as well, which is bug prone. Instead,
calling iter on a PairwiseAlignments object will now return itself. The
iterator can be reset by calling the rewind method.
Calling secondary_structure_fraction() on a ProtParam.ProteinAnalysis
object historically returned (sheet, turn, helix) while claiming to return
(helix, turn, sheet). This was fixed to correctly return (helix, turn, sheet).
Additionally, the amino acids considered were revised as per recent literature.
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.82.
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