Biotite

Latest version: v0.40.0

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

Scan your dependencies

Page 6 of 9

0.15.0

Changelog

Additions
- Highly increased performance of encoding/decoding of sequence to sequence code and vice versa
- `sequence.Alphabet.decode_multiple()` accepts any array-like object as sequence code
- Added read/write support for GFF3 files
- Added `sequence.io.gff` subpackage
- Contains `sequence.io.gff.GFFFile` as low level interface to GFF3 files
- Contains `get_annotation()` and `set_annotation()` functions as high level interface to GFF3 files

0.14.0

Changelog

Additions
- Added convenience functions for chains, similar to the functions for residues
- Added `get_chain_starts()`
- Added `get_chains()`
- Added `get_chain_count()`
- Added `chain_iter()`
- Revamped interface for GenBank files
- `sequence.io.genbank.GenBankFile` provides a low-level API for obtaining field names and the corresponding lines and subfields
- `sequence.io.genbank.GenBankFile` is now used for both GenBank and GenPept files
- High level objects are obtained via module-level functions
- `get_locus()`, `get_definition()`, `get_accession()`, `get_version()`, `get_gi()`, `get_source()`, `get_db_link()`, `get_annotation()`, `get_sequence()` and `get_annotated_sequence()` are now functions `sequence.io.genbank`
- Added `set_locus()`, `set_annotation()`, `set_sequence()`, `set_annotated_sequence()`, to `sequence.io.genbank` for creating and editing GenBank files

Changes
- `structure.dihedral_backbone()` does not require a chain ID anymore
- The dihedrals are automatically calculated over all chains
- Dihedrals at the transition of one chain to the next one are NaN
- Completely changed usage of `sequence.io.genbank.GenBankFile` (see above)


Fixes
- Atom IDs above 99999 and residue IDs above 9999 do not break writing `structure.io.gro.GROFile`
- In case of overflow, the ID restarts at 1
- Dummy boxes in `.gro` files are not converted into a real `box` attribute of a `structure.AtomArray` anymore
- When creating a `sequence.Alignment` from strings, it is checked whether at least to strings (sequences) are given
- Fixed annotation equality checks when setting an `structure.AtomArrayStack` element with an `structure.AtomArray`
- Fixed indexing a `sequence.AnnotatedSequence` with a `sequence.Feature` containing multiple locations
- Previously the locations were merged in a random order resulting in wrong `sequence.Sequence` objects

0.13.1

Changelog

Fixes
- `structure.io.gro.GROFile` appends a newline at the end of file
- This allows PyMOL to open .gro files
- `structure.io.pdb.PDBFile` raises an exception when coordinates contain `NaN` values
- `structure.io.pdb.PDBFile` works properly for residue IDs greater than 9999
- `structure.io.pdb.PDBFile` works properly for atom array lengths greater than 199998

0.13.0

Changelog

Additions
- `structure.hbond()` supports periodic boundary conditions
- Added `structure.remove_pbc()` and `structure.remove_pbc_coord()`, that sanitize structures that are segmented due to periodic boundaries
- Write support for trajectory files
- This includes `structure.io.save_structure()`
- Support for DCD and NetCDF trajectory formats (`structure.io.dcd` and `structure.io.netcdf`)

Changes
- The `coord` and `box` attribute in `structure.AtomArray` and `structure.AtomArrayStack` are stored as `float32` arrays
- File readers are changed accordingly
- Previously, both `float64` and `float32` were allowed, which made type conversions necessary for some functions
- If an atom array (stack) is provided with an `float64` array, the type is implicitly converted.
- Faster encoding and decoding in `sequence.LetterAlphabet`
- Internally uses `bytes` instead of `str` for symbols
- `sequence.LetterAlphabet` does only accept ASCII characters
- Discontinued support for Python type annotations
- May be re-enabled when official type annotations for *NumPy* arrive
- Changed protected abstract methods in `structure.io.TrajectoryFile`
- `structure.filter_solvent()` regards only the `res_name` and ignores the `hetero` field

Fixes
- `structure.io.mmtf.MMTFFile` fields can be set with `ndarray` objects for non-encoded fields
- The `ndarray` objects are implicitly converted into `list` objects
- The `box` attribute of `structure.AtomArrayStack` objects are correctly sliced when slicing the atom array stack
- `structure.displacement()`, `structure.distance()`, `structure.angle()` and `structure.dihedral()` accept `structure.Atom` instances as parameter

0.12.0

Changelog

Additions
- Added new `structure.info` subpackage that contains all kinds of basic structure-related data
- `structure.info.mass()` function provides weight for elements, residue name and enitre structures
- `structure.info.vdw_radius_single()` and `structure.info.vdw_radius_protor()` function provides Van-der-Waals radii for single elements or atoms with bonded hydrogens, respectively
- `structure.info.bond_order()` and `structure.info.bonds_in_residue()` provide information about bonded atoms
- `structure.full_name()` provides the full name of an up to 3-letter residue/compound name
- `structure.link_type()` provides the link type for a residue name
- Added `structure.rdf()` function for calculation of the radial distribution function of positions in an `AtomArray` or `AtomArrayStack`
- Added `structure.residue_iter()` function, that yields each residue in an `AtomArray` or `AtomArrayStack` as an subarray (stack)

Changes
- Removed `structure.mass_of_element()` and `structure.atom_masses()`
- When writing MMTF files, the `chemCompType` in `groupList` is determined via `structure.link_type()`

Fixes
- PDB files can be written for structures with more than 100,000 atoms
- When the amount of 99,999 atoms is exceeded, the atom ID starts over again
- `dir()` function gives proper results for `AtomArray` and `AtomArrayStack`
- Fixed ProtOr radii in `structure.sasa()`
- `structure.stack()` includes the `box` attribute when stacking `AtomArray` objects

0.11.1

Additions
- Minimum-image convention support for `structure.displacement()`, `structure.distance()`, `structure.angle()` and `structure.dihedral()`

Page 6 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.