## org.biojava.bio.symbol
Class DNAAmbPack

    java.lang.Object
      org.biojava.bio.symbol.DNAAmbPack

All Implemented Interfaces:
  Serializable, Packing

    public class DNAAmbPack

extends Object
implements Packing, Serializable

Packing utility class for DNA. Also represents ambiguity.

Author:
  Matthew Pocock, David Huen (bugfix)
See Also:
  Serialized Form

Constructor Summary
`DNAAmbPack()`

Method Summary
`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

### DNAAmbPack

    public DNAAmbPack()

Method Detail

### getAlphabet

    public FiniteAlphabet getAlphabet()

  Description copied from interface: `Packing`
  The FiniteAlphabet this packing is for.

  Specified by:
    `getAlphabet` in interface `Packing`
  Returns:
    the FiniteAlphabet that we can pack

### 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

### unpack

    public Symbol unpack(byte b)

  Description copied from interface: `Packing`

  Return the symbol for a packing.

  Specified by:
    `unpack` in interface `Packing`
  Parameters:
    `b` - the byte pattern for a Symbol
  Returns:
    the Symbol that was packed

### 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