Class DNANoAmbPack

  • All Implemented Interfaces:
    Serializable, Packing

    public class DNANoAmbPack
    extends Object
    implements Packing, 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 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