github action: master github action: hackage


Efficient encoding of (short) biological sequences. This package ist designed to deal with in-memory snippets of DNA, RNA, and amino acids. The encoding is geared toward time-efficiency, not necessarily space efficiency (we use Int’s for encoding characters, not the smallest type possible).

Additional modules provide conversion capabilities between different types of characters according to biological laws, and some biochemical constraint information. The latter includes canonical and non-canonical pairing information for RNA.

Actual energy parameters for pairings are provided by other packages, for example BiobaseTurner for the loop energy model with measured parameters.


Christian Hoener zu Siederdissen
Leipzig University, Leipzig, Germany
[email protected]


  • version bump

  • redesigned Biobase.Secondary.Basepair

  • removed upper version bounds, bumped dependent versions
  • added d1Distance for fast basepair distance calculations

  • bigger version bump together with multiple ghc compatibility

  • stack.yaml, some version bumping

  • fixed overlapping instances in AA

  • introduction of pattern synonyms for letters in molecular alphabets
  • travis-ci integration

  • major cleanup of the XNA library: explicit encoding of RNA,DNA, or XNA (XNA contains both U and T)
  • IUPAC notation (degenerate nucleotides) has an efficient encoding as well
  • translation between XNA and protein (Biobase.Primary.Trans)
  • import Biobase.Primary to get everything under Primary.*
  • import Biobase.Secondary to get everything under Secondary.*
  • SubOptDistance now extends all structure lines of RNAsubopt with a third field, the distance
  • Diagrams provide methods to validate folding and cofolding secondary structure strings.
  • serialization capabilities for ‘Letter’s

  • bugfix version: use vector-th-unbox to generate unboxed vector instances

  • dotBracket -> unsafeDotBracket
  • new ‘dotBracket’ function works in the error monad

  • added T/U conversion functions

  • Biobase.Primary.IUPAC for degenerate base symbol conversion

  • Biobase.Codon -> Biobase.AAseq
  • and efficient encoding of AAseqs


  • updated to PrimitiveArray >= 0.5
  • added Codon table

  • Updated to PrimitiveArray >=