Changelog
Additions
- Added Python 3.11 build
- Better support for macromolecular assemblies and symmetry mates (450)
- `biotite.structure.io.pdb` and `biotite.structure.io.mmtf` now support parsing of assemblies via `list_assemblies()` and `get_assembly()`
- `biotite.structure.io.pdb` is able to parse all atoms within a single unit cell via `get_symmetry_mates()`
- Added `structure.rmspd()` to compute the *root-mean-square-pairwise-deviation*
- This is a method to determine deviations between to models without the need of prior structure superimposition
- Refactored `structure.annotate_sse()` (448)
- Higher performance due to more vectorization
- Multiple chains can be processed at once
- More granular macromolecule filters in `structure` subpackage (436)
- Added `filter_peptide_backbone()` and `filter_phosphate_backbone()` to filter backbone atoms of proteins and nucleotides, respectively
- Added `filter_linear_bond_continuity()` that filters atoms that are within distance boundaries to the next atom
- Added `filter_polymer()` that filters biomacromolecules of the given type (peptide, nucleotide, carbohydrate) and minimum length
- More integrity checks in `structure` subpackage (436)
- `check_linear_continuity()` gives positions in a structure where atoms are not within distance boundaries to the next atom
- `check_backbone_continuity()` does the same exclusively for peptide/nucleotide backbone atoms
- Added `sequence.common_alphabet()` to determine the `Alphabet` from a list of alphabets that extends all other alphabets from this list (446)
- `sequence.phylo.Tree.to_newick()` and `sequence.phylo.TreeNode.to_newick()` allow rounding of distance labels (439)
- `application.TantanApp` is able to process multiple sequences in a single call (446)
- This significantly improves the performance especially for short sequences
Changes
- `structure.filter_backbone()` is deprecated and replaced by `filter_peptide_backbone()` (436)
- `structure.check_bond_continuity()` is deprecated and replaced by `check_backbone_continuity()` (436)
- Deprecated `chain_id` parameter in `structure.annotate_sse()`, multiple chains can now be processed at once (448)
Fixes
- `structure.CellList` accepts empty query coordinates in `get_atoms()` and `get_atoms_in_cells()` (448)
- Fixed padding of `CRYST1` records to 80 instead of 70 characters (453)
- Fixed issue, where `application.dssp.DSSPApp` did not give correct number of secondary structure elements for multi-chain structures (444)
- Resolved `MemoryError` in `structure.repeat_box()` (450)