Skip to content

Releases: biotite-dev/biotite

Biotite 0.36.1

06 Feb 14:21
ab15b3a
Compare
Choose a tag to compare

Changelog

Fixes

  • Fixed parsing of remarks < 100 in structure.io.PDBFile (#457)
  • Bonds can now be read and written using hybrid-36 encoding in structure.io.PDBFile (#456)

Biotite 0.36.0

02 Feb 11:52
d632f50
Compare
Choose a tag to compare

Changelog

Additions

  • Added Python 3.11 build
  • Better support for macromolecular assemblies and symmetry mates (#450)
    • biotite.structure.io.pdb and biotite.structure.io.mmtf now support parsing of assemblies via list_assemblies() and get_assembly()
    • biotite.structure.io.pdb is able to parse all atoms within a single unit cell via get_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() and filter_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
  • 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 atom
    • check_backbone_continuity() does the same exclusively for peptide/nucleotide backbone atoms
  • Added sequence.common_alphabet() to determine the Alphabet from a list of alphabets that extends all other alphabets from this list (#446)
  • sequence.phylo.Tree.to_newick() and sequence.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 by filter_peptide_backbone() (#436)
  • structure.check_bond_continuity() is deprecated and replaced by check_backbone_continuity() (#436)
  • Deprecated chain_id parameter in structure.annotate_sse(), multiple chains can now be processed at once (#448)

Fixes

  • structure.CellList accepts empty query coordinates in get_atoms() and get_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 in structure.repeat_box() (#450)

Biotite 0.35.0

24 Oct 13:18
Compare
Choose a tag to compare

Changelog

Additions

  • Support stack-wise iteration over trajectory files (#420)
  • Support Path objects in File.read()
  • Improved filters for different types of residues in structure subpackage (#425)
    • filter_amino_acids() now also filters for non-canonical amino acids
    • filter_nucleotides() uses an updated list of nucleotides
    • New filter_carbohydrates() filters for saccharides
    • filter_canonical_amino_acids() and filter_canonical_nucleotides() filter the respective canonical residues
    • New structure.info.carbohydrate_names() and structure.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 and application.viennarna.RNAalifoldApp

Changes

  • The residues that are recognized by structure.filter_amino_acids() have changed (see above)
  • Deprecated application.viennarna.RNAfoldApp.get_mfe() and replaced it by application.viennarna.RNAfoldApp.get_free_energy()

Fixes

  • Support PDB format dialect with inverted charge column (X+ instead of +X)
    in structure.io.PDBFile(#421)
  • Fixed erroneous atom parsing in strutcure.io.mmtf.MMTFFile, if an MMTF file
    has multiple different groupType entries for the same residue name and the same number of atoms (#426)
  • Fixed angle condition in structure.base_stacking() (#432)
  • Fixed TypeError in database.muscle.Muscle5App
  • Fixed bond_line_style parameter in structure.graphics.plot_secondary_structure()
  • Fixed error in pseudoknots() and base_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

19 Aug 09:45
eb6a912
Compare
Choose a tag to compare

Fixes

  • Support for new UniProt REST API (#409)
  • Preserve lower-case chain IDs when an AtomArray is read from PDB and PDBQT files (#413)
  • application.vina.VinaApp supports now docking of molecules containing certain metal elements

Biotite 0.34.0

20 Jul 16:05
57daa52
Compare
Choose a tag to compare

Changelog

Additions

  • Support for new RCSB search API (#408)
    • Added case_sensitive parameter in database.rcsb.FieldQuery
  • structure.info.mass() support deuterium
  • structure.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 associated structure.BondList to find hydrogen atoms to potential hydrogen bond donors
  • Lines depicting bonds in structure.graphics.plot_atoms() and structure.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

24 Apr 14:07
54fbc73
Compare
Choose a tag to compare

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() uses label_xxx or auth_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 generated BondList

Fixes

  • sequence.io.gff.GFFFile.read() is now able to read GFF records with trailing
    tabs
  • Fixed DeprecationWarning in structure.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()

Biotite 0.32.0

25 Jan 14:36
27acd2d
Compare
Choose a tag to compare

Changelog

Additions

  • Add Python 3.10 build
  • Add writer_iter() to some File classes
    • Allows entry-wise writing into a file to reduce memory consumption, as
      there is no longer the need to keep the entire file content in memory
    • Implemented for sequence.io.FastaFile, sequence.io.FastqFile and all
      classes inheriting from structure.io.TrajectoryFile
  • Add symbol_spacing parameter to sequence.graphics.plot_alignment
    • If the parameter is given, a small gap is introduced every n
      symbols in the alignment
    • Also added to sequence.graphics.plot_alignment_similarity_based and
      sequence.graphics.plot_alignment_types_based

Changes

  • Python 3.7 builds are discontinued

Fixes

  • Now the simulation time for each frame is returned in
    structure.io.NetCDFFile, previously it was always None

Biotite 0.31.0

11 Nov 19:35
Compare
Choose a tag to compare

Changelog

Additions

  • New functionalities for sequence.SequenceProfile
    • Added method probability_matrix() to compute the symbol probabilities
      from total frequencies
    • Added method log_odds_matrix() to calculate a position weight matrix
    • Added methods sequence_probability() and sequence_score() to assess the
      adherence of a given sequence to a profile
  • New functionalities for structure.BondList
    • New bond type structure.BondType.AROMATIC_TRIPLE to support triple bonds
      in aromatic systems
    • Added structure.BondList.without_aromaticity() to convert bonds with
      structure.BondType.AROMATIC_<order> to structure.BondType.<order>
  • Added structure.info.bond_order()
    • Used to get the structure.BondType of the bond between two atoms in a
      residue
    • Replaces structure.info.bond_order()
    • Initial loading of bond dataset is much faster

Changes

  • Deprecated structure.info.bond_order()

Fixes

  • Fixed structure.io.pdb.PDBFile.get_structure() raising an exception,
    if the PDB file contains an invalid CRYST1 record, now a warning is printed
  • Fixed CONECT records written by structure.io.pdb.PDBFile.set_structure()
    • Previously, an empty second CONECT record was created, if a atom has 4
      bond partners
  • Fixed installation of Biotite source distribution with Python 3.10 (#356)
  • Fixed running application.muscle.MuscleApp with nucleotide sequences

Biotite 0.30.0

01 Sep 12:23
baa7bff
Compare
Choose a tag to compare

Changelog

Changes

  • sequence.graphics.plot_sequence_logo() requires now a
    sequence.SequenceProfile, usage of sequence.align.Alignment still works,
    but is deprecated
  • database.rcsb.FieldQuery has now an optional molecular_definition
    parameter to allow searches in molecule related fields.

Fixes

  • The new RCSB search API is now supported (#347)
  • More than two database.rcsb.Query objects can be combined with logical
    operators
  • application.blast.BlastWebApp now also reports hit sequences containing
    selenocysteine without errors (#344)
  • Atom, AtomArray and AtomArrayStack can be unpickled (#349)
  • sequence.graphics.plot_sequence_logo() supports now all Matplotlib backends
    (#345)

Biotite 0.29.0

21 Jul 11:55
655ad07
Compare
Choose a tag to compare

Changelog

Additions

  • Extended functionalities for homology searches
    • Added application.tantan.TantanApp for sequence repeat masking with
      Tantan
    • sequence.align.KmerAlphabet and sequence.align.KmerTable support spaced
      k-mers
    • Added sequence.align.local_gapped() and sequence.align.local_ungapped()
      for aligning sequences locally with X-drop heuristic
    • Added EValueEstimator for calculation of expect values (E-values)
      from alignment scores
    • Increased performance of sequence.LetterAlphabet.extends()
  • Added sequence.SequenceProfile for representing sequence profiles by means
    of a symbol frequency table
    • sequence.SequenceProfile.from_alignment() creates a profile from an
      alignment
    • sequence.SequenceProfile.to_consenus() creates a consensus sequence
  • Increased performance of sequence.align.get_codes() and
    sequence.align.get_symbols()
  • Bonds can be read from and written to CONECT records in
    structure.io.pdb.PDBFile (#329)

Changes

  • Documentation now uses sphinxcontrib-bibtex for citations
    • Citations include DOI with link to publication

Fixes

  • Fixed protein color schemes for sequences containing 'X' or '*' (#322)
  • sequence.graphics,plot_nucleotide_secondary_structure() is now able to set
    the color of symbols (#333)