github biotite-dev/biotite v2.0.0
Biotite 2.0.0

4 hours ago

Changelog

Additions

  • Added J (leucine or isoleucine) to the ambiguous ProteinSequence alphabet and the substitution matrices. (#958)
    • Note that this changes the symbol codes of X and *.
  • Added structure.PSeaElement and application.dssp.DsspElement enums to represent secondary structure elements. (#949)
  • Added sequence.io.fastq.FastqFile.Offset enum to represent FASTQ quality score offsets. (#928, #949)
  • Added rng parameter to sequence.align.EValueEstimator.from_samples(). (#949)
  • sequence.align.score() accepts a (match, mismatch) tuple as scoring scheme. (#949)

Changes

  • Renamed structure.RigidTransformation to AffineTransformation. (#949)
    • Transformations can be composed via * and inverted via unary -.
  • biotite.application_v2 is renamed to biotite.application, replacing the old application interface. (#949)
    • biotite.application_v2 remains as deprecated alias.
  • Removed deprecated functionality: (#949)
    • The old biotite.application interface
    • sequence.align.align_local_ungapped()
    • visualize.set_font_size_in_coord()
    • structure.io.pdb.PDBFile.get_symmetry_mates() and structure.io.pdb.get_symmetry_mates()
    • as_bytes parameter of LetterAlphabet.decode() and LetterAlphabet.decode_multiple()
    • distance_range parameter of structure.connect_via_distances()
    • float_tolerance parameter of structure.io.pdbx.compress()
    • include_bonds parameter of structure.io.pdbx.set_structure()
    • as_mask parameter of structure.CellList.get_atoms() and structure.CellList.get_atoms_in_cells()
  • structure.io.pdbx functions use the label_xxx fields by default, i.e. use_author_fields=False. (#949)
    • structure.io.pdbx.get_sequence() uses the label_asym_id as keys.
  • Removed sequence.phylo.Tree and sequence.phylo.TreeNode. (#944)
    • sequence.phylo.upgma(), sequence.phylo.neighbor_joining() and sequence.align.align_multiple() use networkx.DiGraph for trees instead.
    • As a result, Biotite does not contain any Cython modules anymore.
  • sequence.ProteinSequence distinguishes between an unambiguous alphabet (alphabet_unambiguous) containing the 20 canonical amino acids and an ambiguous alphabet (alphabet_ambiguous) containing additionally B, Z, J, X and *, analogous to sequence.NucleotideSequence. (#969)
    • By default the unambiguous alphabet is used, unless the sequence contains ambiguous symbols or stop signals. The new ambiguous parameter selects the alphabet explicitly.
    • The smaller alphabet of unambiguous protein sequences leads to smaller k-mer spaces, e.g. reducing the memory requirements of KmerTable, but changes the k-mer codes.
    • ProteinSequence.alphabet is replaced by alphabet_unambiguous and alphabet_ambiguous.
    • NucleotideSequence.alphabet_unamb and NucleotideSequence.alphabet_amb are renamed to alphabet_unambiguous and alphabet_ambiguous, respectively.
  • Pairwise alignment functions and sequence.align.score() use a match/mismatch scoring scheme of (1, -1) and a gap penalty of -1 by default. (#949)
    • To make matrix optional, the band parameter of align_banded() and the seed/threshold parameters of align_local_gapped() now precede matrix.
  • structure.superimpose() and its variants as well as structure.align_vectors() and structure.orient_principal_components() return only the transformation instead of also the transformed structure. (#949)
  • Multiple tuples and unstructured return values are replaced by dedicated classes: (#949)
    • sequence.graphics.ColorScheme is returned by load_color_scheme() and required by the plotting functions, which do not accept plain lists of colors anymore.
    • sequence.io.gff.GFFRecord is used by GFFFile.
    • sequence.io.genbank.GenBankRecord is used by GenBankFile.
    • sequence.io.genbank.GenBankLocus is used by get_locus() and set_locus().
    • interface.pymol.CGO is used for Compiled Graphics Objects.
  • structure.annotate_sse() and structure.io.pdbx.get_sse() return PSeaElement values and application.dssp.DsspApp returns DsspElement values. (#949)
  • sequence.io.fastq.FastqFile does not accept string offsets anymore. (#928, #949)
  • sequence.io.fasta.FastaFile does not introduce line breaks into sequences by default. (#949)
  • All fetch() functions in biotite.database accept and return pathlib.Path objects and the verbose parameter is removed. (#949)
  • The minimum required NumPy version is now 2.1. (#942)
  • All functionality deprecated in previous releases is removed.

Fixes

  • Fixed structure.hbond() potentially assigning hydrogen atoms to donors in other chains. (#942)

Don't miss a new biotite release

NewReleases is sending notifications on new releases.