org.biojava3.core.sequence.storage
Class TwoBitSequenceReader.TwoBitArrayWorker<C extends NucleotideCompound>

java.lang.Object
  extended by org.biojava3.core.sequence.storage.BitSequenceReader.BitArrayWorker<C>
      extended by org.biojava3.core.sequence.storage.TwoBitSequenceReader.TwoBitArrayWorker<C>
Type Parameters:
C - Must extend NucleotideCompound
Enclosing class:
TwoBitSequenceReader<C extends NucleotideCompound>

public static class TwoBitSequenceReader.TwoBitArrayWorker<C extends NucleotideCompound>
extends BitSequenceReader.BitArrayWorker<C>

Extension of the BitArrayWorker which provides the 2bit implementation code. This is intended to work with the 4 basic nucelotide types. If you require a different version of the encoding used here then extend and override as required.


Field Summary
 
Fields inherited from class org.biojava3.core.sequence.storage.BitSequenceReader.BitArrayWorker
BYTES_PER_INT
 
Constructor Summary
TwoBitSequenceReader.TwoBitArrayWorker(CompoundSet<C> compoundSet, int length)
           
TwoBitSequenceReader.TwoBitArrayWorker(CompoundSet<C> compoundSet, int[] sequence)
           
TwoBitSequenceReader.TwoBitArrayWorker(Sequence<C> sequence)
           
TwoBitSequenceReader.TwoBitArrayWorker(String sequence, CompoundSet<C> compoundSet)
           
 
Method Summary
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 int
protected  Map<C,Integer> generateCompoundsToIndex()
          Returns a Map which encodes TCAG into positions 0,1,2,3.
protected  List<C> generateIndexToCompounds()
          Returns a List which encodes TCAG into positions 0,1,2,3.
 
Methods inherited from class org.biojava3.core.sequence.storage.BitSequenceReader.BitArrayWorker
bitsPerCompound, equals, getCompoundAt, getCompoundSet, getCompoundsToIndexLookup, getIndexToCompoundsLookup, getLength, hashCode, populate, populate, processUnknownCompound, seqArraySize, setCompoundAt, setCompoundAt
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TwoBitSequenceReader.TwoBitArrayWorker

public TwoBitSequenceReader.TwoBitArrayWorker(CompoundSet<C> compoundSet,
                                              int length)

TwoBitSequenceReader.TwoBitArrayWorker

public TwoBitSequenceReader.TwoBitArrayWorker(CompoundSet<C> compoundSet,
                                              int[] sequence)

TwoBitSequenceReader.TwoBitArrayWorker

public TwoBitSequenceReader.TwoBitArrayWorker(Sequence<C> sequence)

TwoBitSequenceReader.TwoBitArrayWorker

public TwoBitSequenceReader.TwoBitArrayWorker(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 class BitSequenceReader.BitArrayWorker<C extends NucleotideCompound>

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 class BitSequenceReader.BitArrayWorker<C extends NucleotideCompound>

generateCompoundsToIndex

protected Map<C,Integer> generateCompoundsToIndex()
Returns a Map which encodes TCAG into positions 0,1,2,3.

Specified by:
generateCompoundsToIndex in class BitSequenceReader.BitArrayWorker<C extends NucleotideCompound>

generateIndexToCompounds

protected List<C> generateIndexToCompounds()
Returns a List which encodes TCAG into positions 0,1,2,3.

Specified by:
generateIndexToCompounds in class BitSequenceReader.BitArrayWorker<C extends NucleotideCompound>