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
ConstructorDescriptionFourBitArrayWorker
(String sequence, CompoundSet<C> compoundSet) FourBitArrayWorker
(CompoundSet<C> compoundSet, int length) FourBitArrayWorker
(CompoundSet<C> compoundSet, int[] sequence) FourBitArrayWorker
(Sequence<C> sequence) -
Method Summary
Modifier and TypeMethodDescriptionprotected byte
bitMask()
This method should return the bit mask to be used to extract the bytes you are interested in working with.protected int
Should return the maximum amount of compounds we can encode per intReturns a Map which encodes the contents of CompoundSet.Returns a List which reverse encodes the Compound, Integer mapMethods 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 Details
-
FourBitArrayWorker
-
FourBitArrayWorker
-
FourBitArrayWorker
-
FourBitArrayWorker
-
-
Method Details
-
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
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
Returns a List which reverse encodes the Compound, Integer map- Specified by:
generateIndexToCompounds
in classBitSequenceReader.BitArrayWorker<C extends Compound>
-