Releases: biotite-dev/biotite
Releases · biotite-dev/biotite
Biotite 0.40.0
Changelog
Additions
- Refactored
struc.superimpose()
(#526)- Multiple
fixed
models are allowed - Increased performance for multiple models
- Multiple
- Support for BinaryCIF file format (#531)
- Added
'bcif'
format
todatabase.rcsb.fetch()
- Added
structure.io.pdbx.BinaryCIFFile
to parse BinaryCIF files - Added
structure.io.pdbx.CIFFile
to parse CIF files with analogous API toBinaryCIFFile
- High-level PDBx API (
get_structure()
,get_assembly()
, etc.) supports these new file classes - Added
include_bonds
parameter tostructure.io.pdbx.get_structure()
andstructure.io.pdbx.get_assembly()
to parse bond information from file
- Added
- Refactored
structure.info
subpackage (#540)- Decreased initial loading time when package is imported
- The component dataset is now stored as compressed BinaryCIF decreasing the Biotite package size
- The component dataset is updated to the current version, i.e. the latest chemical components from the wwPDB are included
- The project now contains the
setup_ccd.py
script, enabling the user to get an up-to-date version of the component dataset
Changes
- Removed
structure.info.bond_order()
andstructure.info.bond_dataset
(#540) struc.superimpose
returns now anAffineTransformation
object instead of a transformation tuple (#526)superimpose_apply()
is deprecated in favor ofAffineTransformation.apply()
structure.io.pdbx.PDBxFile
is deprecated and superseded byCIFFile
(#531)structure.io.mmtf
is deprecated and superseded byBinaryCIFFile
(#531)- This is reflected by the RCSB announcement to deprecate MMTF
Fixes
Biotite 0.39.0
Changelog
Additions
- Add build for Python 3.12 (#513)
- Added modern fast k-mer subsetting methods to
sequence.align
(#510)- These include:
MinimizerSelector
SyncmerSelector
CachedSyncmerSelector
MincodeSelector
- The following k-mer ordering methods are available:
RandomPermutation
FrequencyPermutation
- Added
BucketKmerTable
to support indexing of long k-mers with reasonable memory consumption
- These include:
- Support conversion of
biotite.sequence.align.Alignment
from/to CIGAR strings (#516)read_alignment_from_cigar()
write_alignment_to_cigar()
- Added
sequence.graphics.plot_alignment_array()
(#485) - Support new 5-character residue names in structures from PDB (#512)
- Support NCBI API keys in
database.entrez
to increase download limits (#514) - Increased performance of
application.sra
(#504).prefetch
is called beforefasterq_dump
, as suggested hereFastaDumpApp
is added, which decreases computation time by writing as FASTA instead of a FASTQ file, which omits the scores
Changes
application.sra.FastaDumpApp.get_sequences()
now only returns sequence (#504) strings and not scores anymore (#504)- Use
get_sequences_and_scores()
instead
- Use
Fixes
Biotite 0.38.0
Biotite 0.37.0
Changelog
Additions
- Added PubChem database interface with
database.pubchem
(#472)- Analogous to the other
database
subpackages, it supports,search()
andfetch()
fetch_property()
can be used to quickly obtain a wide range of properties for a given list of compound IDs- Automatic throttle control ensures that the PubChem usage control is obeyed
- Analogous to the other
- Extended functionality for
database.rcsb.search()
anddatabase.rcsb.count()
(#466):- Added support for computational structures (e.g. from Alphafold DB) via the
content_types
parameter - Added support for grouping via the new
group_by
andreturn_groups
parameters- the type of grouping is selected via
Grouping
subclasses
- the type of grouping is selected via
- Added support for ascending sorting with the
Sorting
class
- Added support for computational structures (e.g. from Alphafold DB) via the
database.entrez.search()
now also accepts the common database name in addition to the E-utility database name (#471)- This is now consistent with the behavior in
database.entrez.fetch()
- This is now consistent with the behavior in
- Added
structure.io.pdb.PDBFile.get_b_factor()
analogous tostructure.io.pdb.PDBFile.get_coord()
(#469) - Added
structure.io.pdbx.get_component()
andset_component()
(#468)- Allows getting/setting chemical components from/to PDBx files via their
chem_comp
group of categories instead ofatom_site
- Allows getting/setting chemical components from/to PDBx files via their
Changes
- Deprecate
atom_mask
parameter instructure.connect_via_residue_names()
andstructure.connect_via_distances()
(#474)- It has no effect anymore
- In
structure.BondList.merge()
theBondList
given as parameter takes precedence, if bothBondList
s contain the same bond with differentBondType
(#473)- Previously it was the other way round
- The
BondList
returned bystructure.io.pdb.PDBFile.get_structure()
(ifinclude_bonds
isTrue
) gives appropriateBondType
s, if they can be determined using the CCD (#473)- Otherwise the
BondType
isBondType.ANY
- Previously it was
BondType.ANY
for all bonds
- Otherwise the
- Refactored
structure.remove_pbc()
(#460)- PCB removal is conducted for each molecule separately
- Not the first atom but the centroid of a molecule is placed within the box
- The
selection
can only be a boolean matrix
Fixes
- Fixed a bug in
structure.connect_via_distances()
andstructure.connect_via_residue_names()
that allowed unexpected bonds between polymer and non-polymer residues (#473)
Biotite 0.36.1
Biotite 0.36.0
Changelog
Additions
- Added Python 3.11 build
- Better support for macromolecular assemblies and symmetry mates (#450)
biotite.structure.io.pdb
andbiotite.structure.io.mmtf
now support parsing of assemblies vialist_assemblies()
andget_assembly()
biotite.structure.io.pdb
is able to parse all atoms within a single unit cell viaget_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()
andfilter_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
- Added
- 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 atomcheck_backbone_continuity()
does the same exclusively for peptide/nucleotide backbone atoms
- Added
sequence.common_alphabet()
to determine theAlphabet
from a list of alphabets that extends all other alphabets from this list (#446) sequence.phylo.Tree.to_newick()
andsequence.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 byfilter_peptide_backbone()
(#436)structure.check_bond_continuity()
is deprecated and replaced bycheck_backbone_continuity()
(#436)- Deprecated
chain_id
parameter instructure.annotate_sse()
, multiple chains can now be processed at once (#448)
Fixes
structure.CellList
accepts empty query coordinates inget_atoms()
andget_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
instructure.repeat_box()
(#450)
Biotite 0.35.0
Changelog
Additions
- Support stack-wise iteration over trajectory files (#420)
- Support
Path
objects inFile.read()
- Improved filters for different types of residues in structure
subpackage
(#425)filter_amino_acids()
now also filters for non-canonical amino acidsfilter_nucleotides()
uses an updated list of nucleotides- New
filter_carbohydrates()
filters for saccharides filter_canonical_amino_acids()
andfilter_canonical_nucleotides()
filter the respective canonical residues- New
structure.info.carbohydrate_names()
andstructure.info.amino_acid_names()
give a list of residue names considered as carbohydrates and amino acids, respectively
application.LocalApp
now supports input to STDIN- Improved ViennaRNA interfaces (#435)
- Added
application.viennarna.RNAalifoldApp
interface to RNAalifold - Secondary structure constraints can be given to
application.viennarna.RNAfoldApp
andapplication.viennarna.RNAalifoldApp
- Added
Changes
- The residues that are recognized by
structure.filter_amino_acids()
have changed (see above) - Deprecated
application.viennarna.RNAfoldApp.get_mfe()
and replaced it byapplication.viennarna.RNAfoldApp.get_free_energy()
Fixes
- Support PDB format dialect with inverted charge column (
X+
instead of+X
)
instructure.io.PDBFile
(#421) - Fixed erroneous atom parsing in
strutcure.io.mmtf.MMTFFile
, if an MMTF file
has multiple differentgroupType
entries for the same residue name and the same number of atoms (#426) - Fixed angle condition in
structure.base_stacking()
(#432) - Fixed
TypeError
indatabase.muscle.Muscle5App
- Fixed
bond_line_style
parameter instructure.graphics.plot_secondary_structure()
- Fixed error in
pseudoknots()
andbase_pairs_from_dot_bracket()
in cases the secondary structure had no base pairs - Update identification of error messages from server in
database.entrez.fetch()
Biotite 0.34.1
Biotite 0.34.0
Changelog
Additions
- Support for new RCSB search API (#408)
- Added
case_sensitive
parameter indatabase.rcsb.FieldQuery
- Added
structure.info.mass()
support deuteriumstructure.connect_via_distances()
can connect atoms over periodic boundaries- Added more chain-level utilities consistent with residue-level utilities
structure.apply_chain_wise()
structure.spread_chain_wise()
structure.get_chain_masks()
structure.get_chain_starts_for()
structure.get_chain_positions()
structure.superimpose()
supports also pure coordinates
Changes
structure.hbond()
uses an associatedstructure.BondList
to find hydrogen atoms to potential hydrogen bond donors- Lines depicting bonds in
structure.graphics.plot_atoms()
andstructure.graphics.plot_ball_and_stick_model()
use rounded tips
Fixes
- Fixed
structure.io.pdbx.get_assembly
missing chains in some structures (#387) - Added a more meaningful error, if Matplotlib is required, but not installed (#302)
- Added more descriptive error, if a
structure.io.pdb.PDBFile
has erroneous atom IDs (#379) structure.io.pdb.PDBFile
pads lines always to 80 characters- Allow empty attribute string in
sequence.io.GFFFile
- Fixed wrong similarity scores, if a
sequence.align.SubstitutionMatrix
with two different alphabets is read from string or file - Fixed
application.mafft.MafftApp
runs for more than 10 sequences.
Biotite 0.33.0
Changelog
Additions
- Added
application.muscle.Muscle5App
to support the changed CLI of Muscle 5 - Added
structure.orient_principal_components()
to orient atom coordinates
to the given axes biotite.structure.io.pdbx.get_structure()
useslabel_xxx
orauth_xxx
field as fallback, if the respective other one is not available- Added
default_bond_type
parameter to
biotite.structure.io.write_structure_to_ctab()
and
biotite.structure.connect_via_distances
to allow the user to change the
BondType
in the generatedBondList
Fixes
sequence.io.gff.GFFFile.read()
is now able to read GFF records with trailing
tabs- Fixed
DeprecationWarning
instructure.align_vectors()
(#295) - Fixed alignment in atom name column in
structure.io.pdb.PDBFile.write()
- Fixed error handling in
structure.index_xxx()
functions, if invalid input
shape is given - Ensured quoted values in looped categories will not be truncated in
structure.io.pdbx.PDBxFile.set_category()