Releases: biotite-dev/biotite
Releases · biotite-dev/biotite
Biotite 0.19.1
Changelog
Additions
- FASTA files can be downloaded from RCSB PDB via
database.rcsb
- Added
structure.rotate_about_axis()
andstructure.align_vectors()
- Added
shape
property andcopy()
method tostructure.Atom
- All array-like objects can be used to set an annotation array in an atom array (stack)
- Added
structure.info.residue()
for getting the standard atoms and their coordinates for a given residue name - Added
structure.graphics.plot_atoms()
for interactive molecular visualization - Added
exclusive_stop
parameter tostructure.get_residue_starts
andstructure.get_chain_starts
- Added
connect_via_residue_names()
andconnect_via_distances()
for calculating astructure.BondList
for astructure.AtomArray
Changes
structure.rotate()
does not rotate thebox
of an atom array (stack) anymorestructure.BondList
equality is not order dependent
Fixes
structure.BondList
accepts all dtypes for integer arraysstructure.BondList
accepts negative integers as indicessequence.io.fasta.FastaFile
: Tests for invalid or empty filesstructure.io.pdb.PDBFile
: Exception is raised if an invalid field inextra_fields
is givenstructure.rotate()
: Fixed rotation direction
Biotite 0.18.0
Changelog
Additions
- Added
shape
property tostructure.AtomArray()
and
structure.AtomArrayStack()
structure.Atom()
has default values for annotation arrays- The functions
structure.rmsf()
,structure.rmsd()
andstructure.average()
accept directly coordinates - Added
use_author_fields
parameter tostructure.io.pdbx.get_structure()
,
that allows to decide between the usage oflabel_xxx
andauth_xxx
fields - Added
chunk_size
parameter toread()
method of trajectory files to
resolve memory issues - Added
density()
function for calculating atom densities. - Added
sequence.align.get_pairwise_sequence_identity()
- API reference shows source files of Cython modules
Changes
- The module name (
__module__
attribute) of functions/classes are
changed to the name of the respective Biotite subpackage
(e.g.biotite.structure.atoms
tobiotite.structure
) - Changed handling of PDB insertion codes:
- Atoms with insertion codes are not filtered out
- Removed
insertion_code
parameter in
biotite.structure.io.xxx.get_structure()
- New mandatory annotation category
ins_code
- Changed
structure.filter_inscode_and_altloc()
to
structure.filter_altloc()
Fixes
- The
step
parameter in theread()
method of trajectory files does not
increase thestop
frame - Negative residue IDs are handled correctly by structure file readers/writers
- Fixed issues with indexing behavior in
sequence.align.Alignment
class structure.remove_pbc()
raises proper error message whenbox
is missing
in the given atom array (stack)sequence.align.align_multiple()
raises proper error message, if
pairwise distance cannot be calculated due to great sequence dissimilarity- In
sequence.io.genbank.get_annotation()
qualifier keys without values
(e.g./pseudo
) are handled properly - Added
pyproject.toml
specifying build dependencies forsetup.py
Biotite 0.17.0
Changelog
Additions
- Support for hybrid-36 encoding in
structure.io.pdb.PDBFile
- Added
get_coord()
method instructure.io.pdb.PDBFile
for efficiently reading only the coordinates from a file structure.CellList
can be configured to put only a subset of atoms into the cells via theselection
parameter- Improved functionalities in
database
subpackage.- A lot of new query types in
database.rcsb
- The
min
andmax
parameter of somedatabase.rcsb
queries are now optional database.rcsb.fetch()
anddatabase.entrez.fetch()
are able to write the downloaded files into a file-like object instead of writing the file to hard drivedatabase.entrez.fetch()
properly checks for invalid responses from server based on https://github.com/kblin/ncbi-entrez-error-messagesdatabase.entrez.fetch()
also supports common database namesdatabase.entrez.SimpleQuery
also supports abbreviated field names
- A lot of new query types in
structure.io.load_structure()
andstructure.io.save_structure()
support keyword arguments that are forwarded to the respectiveread()
orget_structure()
method.
Changes
database
subpackage raisesdatabase.RequestError
objects when the server gives an invalid response
Fixes
- Fixed cross references in the API reference
sequence.io.genbank.GenBankFile
raises a warning instead of an exception if the feature's location identifier is not understood and skips the featurestructure.io.pdb.PDBFile
properly checks whether all models have the same amount of atoms, when building astructure.AtomArrayStack
Biotite 0.16.0
Changelog
Additions
- New alignment color schemes
- Color schemes for protein sequence alignments created with Gecos software
- Including a color scheme adapted for red-green blindness
- Color scheme for protein block sequence alignments created with Gecos software
- Color schemes for protein sequence alignments adapted from JalView
- Color schemes for protein sequence alignments created with Gecos software
- More functionalities for external MSA software (
application.MSAApp
subclasses)- Additional CLI options can be set via
add_additional_options()
- The executed command of
application.LocalApp
can be optained viaget_coomand()
- Most MSA software interfaces allow setting and getting the distance matrix and the guide tree
- The corresponding method are
get_guide_tree()
,set_guide_tree()
,get_distance_matrix()
andset_distance_matrix()
- The corresponding method are
- MSA software supporting cutom substitution matrices can be used to align almost any type of sequence, even if the type is not directly supported by the underlying software
- Additional CLI options can be set via
- Added euality operator for
sequence.align.Alignment
objects sequence.phylo.Tree
supports non-binary treessequence.phylo.TreeNode
can handle more than two child nodeslen()
gives amount of leaves insequence.phylo.Tree
sequence.phylo.Tree
andsequence.phylo.TreeNode
support hash and equality operatorsequence.phylo.as_binary()
function converts non-binary tree into binary tree, as required for guide trees
- Added
sequence.phylo.neighbor_joining()
for hierarchical clustering
Changes
- Removed
X
as symbol for ambiguous nucleotides, useN
instead - Removed protected method
get_default_bin_path()
fromapplication.MSAApp
- Renamed protected method
set_options()
toset_arguments()
application.LocalApp
- Renamed
set_matrix()
toset_substitution_matrix()
application.muscle.MuscleApp
- Removed protected method
get_cli_arguments()
inapplication.LocalApp
- Adapted constructor of
sequence.phylo.TreeNode
for variable amount of child nodes application.MSAApp
subclasses must implement abstract static methods describing which sequence types they support and whether they support custom substitution matrices
Fixes
U
is automatically converted toT
when loading nulceotide sequences from FASTA files- Score matrix in
sequence.align.SubstitutionMatrix
is now truly read-only viandarray
flag application.Application
subclasses (all external software interfaces) now properly check whether the corresponding objects are in the correctapplication.AppState
- Error in evaluation step of
application.Application
now leaves application inapplication.AppState.CANCELLED
state - Fixed
InvalidFileError
not being exposed to user - Symmetry checks in
sequence.phylo.upgma()
allow for small rounding errors
Biotite 0.15.1
Changelog
Additions
- Increased performance of
sequence.NucleotideSequence.translate()
method- Added
map_codon_codes()
method tosequence.CodonTable
for efficient codon to amino acid mapping
- Added
Biotite 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()
andset_annotation()
functions as high level interface to GFF3 files
- Added
Biotite 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()
- Added
- Revamped interface for GenBank files
sequence.io.genbank.GenBankFile
provides a low-level API for obtaining field names and the corresponding lines and subfieldssequence.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()
andget_annotated_sequence()
are now functionssequence.io.genbank
- Added
set_locus()
,set_annotation()
,set_sequence()
,set_annotated_sequence()
, tosequence.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 realbox
attribute of astructure.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 anstructure.AtomArray
- Fixed indexing a
sequence.AnnotatedSequence
with asequence.Feature
containing multiple locations- Previously the locations were merged in a random order resulting in wrong
sequence.Sequence
objects
- Previously the locations were merged in a random order resulting in wrong
Biotite 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 containNaN
valuesstructure.io.pdb.PDBFile
works properly for residue IDs greater than 9999structure.io.pdb.PDBFile
works properly for atom array lengths greater than 199998
Biotite 0.13.0
Changelog
Additions
structure.hbond()
supports periodic boundary conditions- Added
structure.remove_pbc()
andstructure.remove_pbc_coord()
, that sanitize structures that are segmented due to periodic boundaries - Write support for trajectory files
- This includes
structure.io.save_structure()
- This includes
- Support for DCD and NetCDF trajectory formats (
structure.io.dcd
andstructure.io.netcdf
)
Changes
- The
coord
andbox
attribute instructure.AtomArray
andstructure.AtomArrayStack
are stored asfloat32
arrays- File readers are changed accordingly
- Previously, both
float64
andfloat32
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 ofstr
for symbols sequence.LetterAlphabet
does only accept ASCII characters
- Internally uses
- 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 theres_name
and ignores thehetero
field
Fixes
structure.io.mmtf.MMTFFile
fields can be set withndarray
objects for non-encoded fields- The
ndarray
objects are implicitly converted intolist
objects
- The
- The
box
attribute ofstructure.AtomArrayStack
objects are correctly sliced when slicing the atom array stack structure.displacement()
,structure.distance()
,structure.angle()
andstructure.dihedral()
acceptstructure.Atom
instances as parameter
Biotite 0.12.0
Changelog
Additions
- Added new
structure.info
subpackage that contains all kinds of basic structure-related datastructure.info.mass()
function provides weight for elements, residue name and enitre structuresstructure.info.vdw_radius_single()
andstructure.info.vdw_radius_protor()
function provides Van-der-Waals radii for single elements or atoms with bonded hydrogens, respectivelystructure.info.bond_order()
andstructure.info.bonds_in_residue()
provide information about bonded atomsstructure.full_name()
provides the full name of an up to 3-letter residue/compound namestructure.link_type()
provides the link type for a residue name
- Added
structure.rdf()
function for calculation of the radial distribution function of positions in anAtomArray
orAtomArrayStack
- Added
structure.residue_iter()
function, that yields each residue in anAtomArray
orAtomArrayStack
as an subarray (stack)
Changes
- Removed
structure.mass_of_element()
andstructure.atom_masses()
- When writing MMTF files, the
chemCompType
ingroupList
is determined viastructure.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 forAtomArray
andAtomArrayStack
- Fixed ProtOr radii in
structure.sasa()
structure.stack()
includes thebox
attribute when stackingAtomArray
objects