Package org.biojava.bio.symbol
Class DNANoAmbPack
- java.lang.Object
-
- org.biojava.bio.symbol.DNANoAmbPack
-
- All Implemented Interfaces:
Serializable,Packing
public class DNANoAmbPack extends Object implements Packing, Serializable
APackingimplementation 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 FiniteAlphabetgetAlphabet()The FiniteAlphabet this packing is for.booleanhandlesAmbiguity()Flag to state if ambiguities are stored.bytepack(Symbol sym)Return a byte representing the packing of a symbol.Symbolunpack(byte b)Return the symbol for a packing.bytewordSize()The number of bits required to pack a symbol.
-
-
-
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
-
getAlphabet
public FiniteAlphabet getAlphabet()
Description copied from interface:PackingThe FiniteAlphabet this packing is for.- Specified by:
getAlphabetin interfacePacking- Returns:
- the FiniteAlphabet that we can pack
-
pack
public byte pack(Symbol sym)
Description copied from interface:PackingReturn a byte representing the packing of a symbol. The bits will be from 1 >> 0 through to 1 >> (wordSize - 1).
-
unpack
public Symbol unpack(byte b) throws IllegalSymbolException
Description copied from interface:PackingReturn the symbol for a packing.
- Specified by:
unpackin interfacePacking- Parameters:
b- the byte pattern for a Symbol- Returns:
- the Symbol that was packed
- Throws:
IllegalSymbolException- if the packing doesn't represent a valid Symbol
-
wordSize
public byte wordSize()
Description copied from interface:PackingThe number of bits required to pack a symbol.
-
handlesAmbiguity
public boolean handlesAmbiguity()
Description copied from interface:PackingFlag 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:
handlesAmbiguityin interfacePacking- Returns:
- true if ambiguities are stored, false otherwise
-
-