Class FourBitSequenceReader.FourBitArrayWorker<C extends Compound>
- java.lang.Object
-
- org.biojava.nbio.core.sequence.storage.BitSequenceReader.BitArrayWorker<C>
-
- org.biojava.nbio.core.sequence.storage.FourBitSequenceReader.FourBitArrayWorker<C>
-
- Type Parameters:
C
- Must extend NucleotideCompound
- Enclosing class:
- FourBitSequenceReader<C extends Compound>
public static class FourBitSequenceReader.FourBitArrayWorker<C extends Compound> extends BitSequenceReader.BitArrayWorker<C>
A four bit per compound implementation of the bit array worker code. This version can handle upto 16 compounds but this does mean that its ability to compress a normal sequence is halved (compared to the 1/4 performance seen with the 2bit workers).
-
-
Field Summary
-
Fields inherited from class org.biojava.nbio.core.sequence.storage.BitSequenceReader.BitArrayWorker
BYTES_PER_INT
-
-
Constructor Summary
Constructors Constructor Description FourBitArrayWorker(String sequence, CompoundSet<C> compoundSet)
FourBitArrayWorker(CompoundSet<C> compoundSet, int length)
FourBitArrayWorker(CompoundSet<C> compoundSet, int[] sequence)
FourBitArrayWorker(Sequence<C> sequence)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte
bitMask()
This method should return the bit mask to be used to extract the bytes you are interested in working with.protected int
compoundsPerDatatype()
Should return the maximum amount of compounds we can encode per intprotected Map<C,Integer>
generateCompoundsToIndex()
Returns a Map which encodes the contents of CompoundSet.protected List<C>
generateIndexToCompounds()
Returns a List which reverse encodes the Compound, Integer map-
Methods inherited from class org.biojava.nbio.core.sequence.storage.BitSequenceReader.BitArrayWorker
bitsPerCompound, equals, getCompoundAt, getCompoundSet, getCompoundsToIndexLookup, getIndexToCompoundsLookup, getLength, hashCode, populate, populate, processUnknownCompound, seqArraySize, setCompoundAt, setCompoundAt
-
-
-
-
Constructor Detail
-
FourBitArrayWorker
public FourBitArrayWorker(CompoundSet<C> compoundSet, int length)
-
FourBitArrayWorker
public FourBitArrayWorker(CompoundSet<C> compoundSet, int[] sequence)
-
FourBitArrayWorker
public FourBitArrayWorker(Sequence<C> sequence)
-
FourBitArrayWorker
public FourBitArrayWorker(String sequence, CompoundSet<C> compoundSet)
-
-
Method Detail
-
bitMask
protected byte bitMask()
Description copied from class:BitSequenceReader.BitArrayWorker
This method should return the bit mask to be used to extract the bytes you are interested in working with. See solid implementations on how to create these- Specified by:
bitMask
in classBitSequenceReader.BitArrayWorker<C extends Compound>
-
compoundsPerDatatype
protected int compoundsPerDatatype()
Description copied from class:BitSequenceReader.BitArrayWorker
Should return the maximum amount of compounds we can encode per int- Specified by:
compoundsPerDatatype
in classBitSequenceReader.BitArrayWorker<C extends Compound>
-
generateCompoundsToIndex
protected Map<C,Integer> generateCompoundsToIndex()
Returns a Map which encodes the contents of CompoundSet. This version is case-insensitive i.e. C and c both encode for the same position. We sort lexigraphically so if the compound set has not changed then neither will this.- Specified by:
generateCompoundsToIndex
in classBitSequenceReader.BitArrayWorker<C extends Compound>
-
generateIndexToCompounds
protected List<C> generateIndexToCompounds()
Returns a List which reverse encodes the Compound, Integer map- Specified by:
generateIndexToCompounds
in classBitSequenceReader.BitArrayWorker<C extends Compound>
-
-