Class BitSequenceReader<C extends Compound>

java.lang.Object
org.biojava.nbio.core.sequence.storage.BitSequenceReader<C>
Type Parameters:
C - Type of compound; must extend NucleotideCompound
All Implemented Interfaces:
Iterable<C>, Accessioned, ProxySequenceReader<C>, Sequence<C>, SequenceReader<C>
Direct Known Subclasses:
FourBitSequenceReader, TwoBitSequenceReader

public class BitSequenceReader<C extends Compound> extends Object implements ProxySequenceReader<C>
An implementation of the popular bit encodings. This class provides the Sequence view over what is actually carried out in the BitSequenceReader.BitArrayWorker instances. These are the objects that carry out array storage as well as indexing into those arrays. New bit encodings can be written by extending this class and a worker class. There are a number of issues with this type of storage engine:
Author:
ayates
  • Constructor Details

  • Method Details

    • setCompoundSet

      public void setCompoundSet(CompoundSet<C> compoundSet)
      Class is immutable & so this is unsupported
      Specified by:
      setCompoundSet in interface SequenceReader<C extends Compound>
    • setContents

      public void setContents(String sequence) throws CompoundNotFoundException
      Class is immutable & so this is unsupported
      Specified by:
      setContents in interface SequenceReader<C extends Compound>
      Throws:
      CompoundNotFoundException
    • countCompounds

      public int countCompounds(C... compounds)
      Counts the number of times a compound appears in this sequence store
      Specified by:
      countCompounds in interface Sequence<C extends Compound>
      Parameters:
      compounds - Vargs of the compounds to count
      Returns:
      Number of times a compound was found
    • getAccession

      public AccessionID getAccession()
      Description copied from interface: Accessioned
      Returns the AccessionID this location is currently bound with
      Specified by:
      getAccession in interface Accessioned
    • getAsList

      public List<C> getAsList()
      Returns this Sequence store as a List
      Specified by:
      getAsList in interface Sequence<C extends Compound>
    • getCompoundAt

      public C getCompoundAt(int position)
      Returns the compound at the specified biological index
      Specified by:
      getCompoundAt in interface Sequence<C extends Compound>
      Parameters:
      position - Biological index (1 to n)
      Returns:
      Compound at the specified position
    • getCompoundSet

      public CompoundSet<C> getCompoundSet()
      Returns the compound set backing this store
      Specified by:
      getCompoundSet in interface Sequence<C extends Compound>
    • getIndexOf

      public int getIndexOf(C compound)
      Returns the first occurrence of the given compound in this store; performs a linear search
      Specified by:
      getIndexOf in interface Sequence<C extends Compound>
      Parameters:
      compound - Compounds to look for
      Returns:
      Index of the first position of the compound in the sequence (1 to n)
    • getLastIndexOf

      public int getLastIndexOf(C compound)
      Returns the last occurrence of the given compound in this store; performs a linear search
      Specified by:
      getLastIndexOf in interface Sequence<C extends Compound>
      Parameters:
      compound - Compounds to look for
      Returns:
      Index of the last position of the compound in the sequence (1 to n)
    • getLength

      public int getLength()
      Returns the length of the sequence
      Specified by:
      getLength in interface Sequence<C extends Compound>
    • getSequenceAsString

      public String getSequenceAsString()
      Returns the sequence as a String
      Specified by:
      getSequenceAsString in interface Sequence<C extends Compound>
    • getSubSequence

      public SequenceView<C> getSubSequence(int start, int end)
      Returns a sub sequence view
    • iterator

      public Iterator<C> iterator()
      Provides basic iterable access to this class
      Specified by:
      iterator in interface Iterable<C extends Compound>
    • getSubSequence

      public SequenceView<C> getSubSequence(Integer start, Integer end)
      Description copied from interface: Sequence
      Returns a portion of the sequence from the different positions. This is indexed from 1
      Specified by:
      getSubSequence in interface Sequence<C extends Compound>
      Parameters:
      start - Biological index start; must be greater than 0
      end - Biological end; must be less than length + 1
      Returns:
      A SequenceView of the offset
    • getInverse

      public SequenceView<C> getInverse()
      Description copied from interface: Sequence
      Does the right thing to get the inverse of the current Sequence. This means either reversing the Sequence and optionally complementing the Sequence.
      Specified by:
      getInverse in interface Sequence<C extends Compound>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object