Class SingleCompoundSequenceReader<C extends Compound>
- java.lang.Object
-
- org.biojava.nbio.core.sequence.storage.SingleCompoundSequenceReader<C>
-
- All Implemented Interfaces:
Iterable<C>
,Accessioned
,ProxySequenceReader<C>
,Sequence<C>
,SequenceReader<C>
public class SingleCompoundSequenceReader<C extends Compound> extends Object implements ProxySequenceReader<C>
An implementation of the SequenceReader interface which for every call will return only 1 compound (given to it during construction; a String is also valid but will require a CompoundSet). The idea is to represent large runs of a single compound without the memory footprint of storing these compounds e.g. a run of 10KB of Ns in a DNASequence.- Author:
- ayates
-
-
Constructor Summary
Constructors Constructor Description SingleCompoundSequenceReader(C compound, CompoundSet<C> compoundSet, int length)
Build the object with a compound rather than a StringSingleCompoundSequenceReader(String compound, CompoundSet<C> compoundSet, int length)
Public constructor to be used with String based constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
countCompounds(C... compounds)
Delegates toSequenceMixin#countCompounds(org.biojava.nbio.core.sequence.template.Sequence, C[])
boolean
equals(Object o)
boolean
equals(Sequence<C> o)
AccessionID
getAccession()
UnsupoortedList<C>
getAsList()
C
getCompoundAt(int position)
Always returns the compound given at constructionCompoundSet<C>
getCompoundSet()
Returns the compound set given at constructionint
getIndexOf(C compound)
Returns 1 if the given compound is equal to the one given during construction; otherwise will return -1.SequenceView<C>
getInverse()
Does the right thing to get the inverse of the current Sequence.int
getLastIndexOf(C compound)
Returns the length of the Sequence if the given compound was equal to the one given during construction.int
getLength()
Returns the length given during constructionString
getSequenceAsString()
SequenceView<C>
getSubSequence(Integer start, Integer end)
Creates aSequenceProxyView
for the given coordinatesint
hashCode()
Iterator<C>
iterator()
Returns an instance ofSequenceMixin.SequenceIterator
void
setCompoundSet(CompoundSet<C> compoundSet)
Unsupportedvoid
setContents(String sequence)
Unsupported-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
SingleCompoundSequenceReader
public SingleCompoundSequenceReader(String compound, CompoundSet<C> compoundSet, int length)
Public constructor to be used with String based constructor
-
SingleCompoundSequenceReader
public SingleCompoundSequenceReader(C compound, CompoundSet<C> compoundSet, int length)
Build the object with a compound rather than a String
-
-
Method Detail
-
setCompoundSet
public void setCompoundSet(CompoundSet<C> compoundSet)
Unsupported- Specified by:
setCompoundSet
in interfaceSequenceReader<C extends Compound>
-
setContents
public void setContents(String sequence) throws CompoundNotFoundException
Unsupported- Specified by:
setContents
in interfaceSequenceReader<C extends Compound>
- Throws:
CompoundNotFoundException
-
getLength
public int getLength()
Returns the length given during construction
-
getCompoundAt
public C getCompoundAt(int position)
Always returns the compound given at construction- Specified by:
getCompoundAt
in interfaceSequence<C extends Compound>
- Parameters:
position
- Biological index (1 to n)- Returns:
- Compound at the specified position
-
getIndexOf
public int getIndexOf(C compound)
Returns 1 if the given compound is equal to the one given during construction; otherwise will return -1.- Specified by:
getIndexOf
in interfaceSequence<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 length of the Sequence if the given compound was equal to the one given during construction. Otherwise returns -1- Specified by:
getLastIndexOf
in interfaceSequence<C extends Compound>
- Parameters:
compound
- Compounds to look for- Returns:
- Index of the last position of the compound in the sequence (1 to n)
-
getSequenceAsString
public String getSequenceAsString()
- Specified by:
getSequenceAsString
in interfaceSequence<C extends Compound>
-
getSubSequence
public SequenceView<C> getSubSequence(Integer start, Integer end)
Creates aSequenceProxyView
for the given coordinates- Specified by:
getSubSequence
in interfaceSequence<C extends Compound>
- Parameters:
start
- Biological index start; must be greater than 0end
- Biological end; must be less than length + 1- Returns:
- A SequenceView of the offset
-
getCompoundSet
public CompoundSet<C> getCompoundSet()
Returns the compound set given at construction- Specified by:
getCompoundSet
in interfaceSequence<C extends Compound>
-
getAccession
public AccessionID getAccession()
Unsupoorted- Specified by:
getAccession
in interfaceAccessioned
-
countCompounds
public int countCompounds(C... compounds)
Delegates toSequenceMixin#countCompounds(org.biojava.nbio.core.sequence.template.Sequence, C[])
- Specified by:
countCompounds
in interfaceSequence<C extends Compound>
- Parameters:
compounds
- Vargs of the compounds to count- Returns:
- Number of times a compound was found
-
iterator
public Iterator<C> iterator()
Returns an instance ofSequenceMixin.SequenceIterator
-
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 interfaceSequence<C extends Compound>
-
-