Biotite

Latest version: v1.0.1

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

Scan your dependencies

Page 7 of 10

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()`

0.11.0

Changelog

Additions
- Support for unit cells and simulation boxes
- Added `box` attribute for `structure.AtomArray` and `structure.AtomArrayStack` that represents the three box vectors
- The `box` attribute is automatically read from and written into all supported structure file formats
- Added methods for handling boxes in `structure` package
- `vectors_from_unitcell()` and `unitcell_from_vectors()` faciliate the conversion between box vectors and lengths/angles
- `coord_to_fraction()` and `fraction_to_coord` allow expressing coordinates as fraction of box vectors
- `repeat_box()` and `repeat_box_coord()` create periodic copies of coordinates or an atom array (stack).
- `box_volume()` calculates the volume of a box
- `is_orthogonal()` is used to check whether a box is orthogonal
- `check_in_box()` checks whether atoms of a structure are outside the box
- Added `structure.index_xxx()` versions of functions for geometric measurements (e.g. `structure.index_distance()`)
- The functions take an atom array (stack) and referring indices, similar to *MDTraj*.
- Optionally use a minimum-image convention based on the `box` attribute
- `displacement()` and `index_displacement()` are used for calculation of displacement vectors
- `structure.CellList` optionally uses minimum-image convention for distance calculation based on the `box` attribute
- Added `structure.io.pdb.get_structure()` and `structure.io.pdb.set_structure()` as thin wrappers around the corresponding methods of `structure.io.pdb.PDBFile`

Changes
- `structure.io.mmtf.MMTFFile` and `structure.io.pdbx.PDBxFile` implement `MutableMapping`, offering a wider range of dictionary-like methods
- *Cython* language level is set to 3

Fixes
- A single model can now be read from a `structure.io.pdb.PDBFile`, if the models in the file have a different amount of atoms
- Clarified in the documentation that *Biotite* uses Å as base unit

Page 7 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.