Biotite

Latest version: v1.2.0

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 10

1.2.0

Changelog

Additions

- Added interfaces to other packages in the bioinformatics ecosystem via the new `interface` subpackage. (762)
- `interface.rdkit` allows conversion between `AtomArray` and `Mol` objects from the *RDKit* package. (736, 741, 742)
- `interface.pymol` allows conversion between `AtomArray` and *PyMOL* objects, supporting NumPy-style indices as atom selections. (749)
- `interface.openmm` allows conversion between `AtomArray` and *OpenMM* `Toplology`, `System` and `State` objects. (750)
- Added `database.alphafold` subpackage for accessing structures from *AlphaFold DB*. (492)
- The IDs of computational models obtained via `database.rcsb.search()` can be passed directly to `database.alphafold.fetch()`.
- Added new metrics for measuring similarity of two structures.
- `structure.lddt()` computes the *Local Distance Difference Test* and can be highly customized with filtering and binning options. (699)
- `structure.tm_score()` computes the TM-score. Curresponding structure alignments can be performed with `superimpose_structural_homologs()`. (705)
- Added functions related to aromatic rings. (751)
- `structure.find_aromatic_rings()` finds atom indices of aromatic rings in a structure.
- `structure.find_stacking_interactions()` finds pi-stacking interactions between aromatic rings.
- Added `structure.BondType.AROMATIC` bond type, for bonds where the kekulized form is unknown. (738)
- `structure.info.residue()` and `structure.io.pdbx.get_component()` now support chemical components without valid coordinates. (730)
- `label_entity_id` annotation can now be written to PDBx files via `structure.io.pdbx.set_structure()`. (732)
- `structure.info.vdw_radius_single()` now supports more elements. (745)
- Improved performance of `structure.spread_residue_wise()` and `structure.spread_chain_wise()`. (770)

Fixes

- Now only finite coordinates can be given to `structure.CellList()` (733).
- Fixed `structure.array()` truncating string annotations. (755)
- `structure.io.pdbx.get_structure()` with `include_bonds=True` is now much faster and more memory efficient for very large structures. (765)
- Fixed serialization (and string representation) of `structure.io.pdbx.CIFBlock` objects raising an exception. (767)
- Now `structure.io.mol.set_structure()` checks if the input coordinates fit into the fixed number of columns in MOL/SDF files. (772)
- The height of letters in `sequence.graphics.plot_feature_map.plot_sequence_logo()` is now more accurate. (769)

1.1.0

Changelog

Additions

- Support for Python 3.13 (661).
- Support for structural alphabets that encodes geometric information from `structure.AtomArray` objects in `sequence.Sequence` objects.
- `structure.alphabet.to_3di` converts a structure into a 3Di sequence from [*Foldseek*](https://github.com/steineggerlab/foldseek). (#665)
- `structure.alphabet.to_protein_blocks()` converts a structure into a *Protein Blocks* sequence. (676)
- Added color schemes and defailt `sequence.align.SubstitutionMatrix` for these structural alphabets. (682)
- Support for positional substitution matrices. (655)
- `sequence.PositionalSequence` acts as a placeholder sequence for a sequence profile in alignment functions from `sequence.align`.
- `sequence.align.SubstitutionMatrix.as_positional()` expands a substitution matrix into a positional substitution matrix.
- New functionalities for `structure.io.pdbx`:
- Custom annotations can be written with `set_structure()` with `extra_fields=True`. (669)
- Missing columns in `atom_site` category are now handled by using sensible default annotations. (670)
- Added `compress()` function that automatically finds optimal encodings for `BinaryCIFFile`, decreasing the file size by a factor of approx 8x. (674)
- `get_assembly()` now adds a `sym_id` annotation to better distinguish copies of the asymmetric unit. (700)
- Added `PDBFile.get_space_group()` and ``PDBFile.set_space_group()`` to read and write the space group information. (707)
- Added `structure.concatenate()`, which supports concatenating more than `AtomArrayStack` objects. (712)
- Performance improvements:
- Doubled speed to parsing CIF files with `structure.io.pdbx.CIFFile` (722).
- Tripled speed of pickling `sequence.align.KmerTable` objects. (664)
- Speed of transferring `sequence.align.KmerTable` between processes improves likewise.

Changes

- `structure.io.pdbx.set_structure()` does not write 'canonical' bonds to `struct_conn` category anymore. (678)
- The internal *Chemical Component Dictionary* is not version controlled anymore. (687, 716)
- For installations from local repository clones, it must be built with `python -m biotite.setup_ccd`.

Fixes

- `structure.io.pdbx` can now handle `atom_site` categories with quoted values containing whitespaces. (673)
- `nan` values in `structure.AtomArray` now count as equal when comparing `AtomArray` objects. (714)
- Fixed wrong band calculation in `sequence.align.align_banded()` that occurred when the given band was outside the sequence bounds. (723)
- This lead to premature traceback termination in rare cases.

1.0.1

Changelog

Fixes

- Fixed `structure.AtomArray.chain_id` having the chain ID restricted to 4 characters. (643)
- Fixed corrupted category parsing in `structure.io.pdbx.CIFFile`, when a multiline value contains a quote character. (651)
- Fixed duplicate bonds written to `chem_comp_bond` category, when `include_bonds=True` is set in `structure.io.pdbx.set_structure()`. (653)
- Fixed non-deterministic *altloc* atom selection by occupancy, if two *altlocs* have the same occupancy. (649)
- Fixed the version switcher in the documentation showing the latest version twice. (646)

1.0.0

Changelog

Additions

- Support for Numpy `2.0` (529)
- `1.x` versions are still compatible.
- Trajectory file interfaces in `structure.io` do not require `mdtraj` as extra dependency anymore (627).
- Instead the much smaller `biotraj` package is now a mandatory dependency of Biotite.
- New documentation website (552).
- Improved performance of multiple auxiliary methods in `sequence.Alphabet`.

Changes

- `sequence.graphics` uses `flower` color scheme as default instead of `rainbow`. (617).
- It represents similarity of amino acids better.
- `structure.io.pdbx.get_sequence()` returns dict mapping chain IDs to sequences (611).
- Previously deprecated functionality was removed. (624)
- `read()` instance method of `File` classes: Use `read()` class method instead.
- `temp_file()` and `temp_dir()`: Use corresponding functionality from `tempfile` instead.
- `application.viennarna.RNAfoldApp.get_mfe()`: Use `application.viennarna.RNAfoldApp.get_free_energy()` instead.
- `atom_mask` parameter of `structure.connect_via_distances()` and `structure.connect_via_residue_names()`: Filter the atoms before instead.
- Support for `Alignment` objects as input to `sequence.graphics.plot_sequence_logo()`: Input a `Profile` instead.
- `sequence.io.fastq.FastqFile.get_sequence()`: Use `sequence.io.fastq.FastqFile.get_seq_string()` or `sequence.io.fastq.get_sequence()` instead.
- `structure.filter_backbone()`: Use `structure.filter_peptide_backbone()` instead.
- `structure.check_id_continuity()`: Use `structure.check_res_id_continuity()` instead.
- `structure.check_bond_continuity()`: Use `structure.check_backbone_continuity()` instead.
- `structure.renumber_atom_ids()`: Set the `atom_id` annotation with `numpy.arange()` instead.
- `structure.renumber_res_ids()`: Use `structure.create_continuous_res_ids()` instead.
- `chain_id` parameter of `structure.annotate_sse()`: Filter the `AtomArray` before instead.
- `structure.superimpose_apply()`: Use `structure.AffineTransformation.apply()` instead.
- `structure.io.read_structure_from_ctab()` and `structure.io.write_structure_to_ctab()`: Use corresponding functions from `structure.io.mol`.
- `structure.io.mol.MolFile.get_header()` and `structure.io.mol.MolFile.set_header()`: Use the `header` attribute instead.
- `structure.io.npz`: Internal `.npz` format is not used anymore.
- `structure.io.pdbx.PDBxFile`: Use `structure.io.pdbx.CIFFile` instead.
- `structure.io.mmtf`: `.mmtf` was superseded by `.bcif` accessible with `structure.io.pdbx.BinaryCIFFile`.

Fixes

- Fixed compilation warnings about deprecated NumPy API. (626)
- Fixed `structure.BondList` sometime discarding bonds after merging to bond lists (618).
- Fixed incorrect handling of quotes when reading and writing a `structure.io.pdbx.CIFFile` (619).

0.41.2

Changelog

Fixes
* Updated platform and tooling versions in CI. The previous configuration caused wheels to not be available for MacOS-ARM. (603)
* Fix `Atom` `__repr__()` (602)
* Fix artifact name for source distribution (608)
* Fix indexing with inverse slices(610)
* Fix mdtraj 1.10 incompatibility (612)

0.41.1

Changelog

Fixes

- NumPy version is now properly restricted (601)

Page 1 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.