Class DNANoAmbPack

  • All Implemented Interfaces:
    java.io.Serializable, Packing

    public class DNANoAmbPack
    extends java.lang.Object
    implements Packing, java.io.Serializable
    A Packing implementation which handles the DNA alphabet, without any support for ambiguity symbols. In normal use, the only returns values between 0 and 3, and so requires only two bits of storage per symbol.
    Since:
    1.3
    Author:
    Matthew Pocock, Thomas Down
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      DNANoAmbPack​(byte placeHolder)
      Construct a new packing which returns the specified byte value for unknown Symbols (such as ambiguity symbols).
      DNANoAmbPack​(Symbol placeHolderSymbol)
      Construct a new packing which translates unknown symbols into the specified symbol.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      FiniteAlphabet getAlphabet()
      The FiniteAlphabet this packing is for.
      boolean handlesAmbiguity()
      Flag to state if ambiguities are stored.
      byte pack​(Symbol sym)
      Return a byte representing the packing of a symbol.
      Symbol unpack​(byte b)
      Return the symbol for a packing.
      byte wordSize()
      The number of bits required to pack a symbol.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DNANoAmbPack

        public DNANoAmbPack​(byte placeHolder)
        Construct a new packing which returns the specified byte value for unknown Symbols (such as ambiguity symbols). This might be outside the normal range of return values (0-3), allowing callers to detect ambiguity symbols and ignore them.
      • DNANoAmbPack

        public DNANoAmbPack​(Symbol placeHolderSymbol)
        Construct a new packing which translates unknown symbols into the specified symbol.
    • Method Detail

      • pack

        public byte pack​(Symbol sym)
        Description copied from interface: Packing

        Return a byte representing the packing of a symbol. The bits will be from 1 >> 0 through to 1 >> (wordSize - 1).

        Specified by:
        pack in interface Packing
        Parameters:
        sym - the Symbol to pack
        Returns:
        a byte containing the packed symbol
      • wordSize

        public byte wordSize()
        Description copied from interface: Packing

        The number of bits required to pack a symbol.

        Specified by:
        wordSize in interface Packing
        Returns:
        the word size as a byte
      • handlesAmbiguity

        public boolean handlesAmbiguity()
        Description copied from interface: Packing

        Flag to state if ambiguities are stored.

        Packings are free to either store ambiguity information or to discard it (presumably converting all ambiguities to a standard AtomicSymbol and then packing that). You can check wether ambiguities are handled by calling this method.

        Specified by:
        handlesAmbiguity in interface Packing
        Returns:
        true if ambiguities are stored, false otherwise