Class SingleCompoundSequenceReader<C extends Compound>
java.lang.Object
org.biojava3.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
ConstructorDescriptionSingleCompoundSequenceReader
(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
Modifier and TypeMethodDescriptionint
countCompounds
(C... compounds) Delegates toSequenceMixin#countCompounds(org.biojava3.core.sequence.template.Sequence, C[])
boolean
UnsupoortedgetCompoundAt
(int position) Always returns the compound given at constructionReturns 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.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
Returns the length given during constructiongetSubSequence
(Integer start, Integer end) Creates aSequenceProxyView
for the given coordinatesint
hashCode()
iterator()
Returns an instance ofSequenceMixin.SequenceIterator
void
setCompoundSet
(CompoundSet<C> compoundSet) Unsupportedvoid
setContents
(String sequence) UnsupportedMethods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
SingleCompoundSequenceReader
Public constructor to be used with String based constructor -
SingleCompoundSequenceReader
Build the object with a compound rather than a String
-
-
Method Details
-
setCompoundSet
Unsupported- Specified by:
setCompoundSet
in interfaceSequenceReader<C extends Compound>
-
setContents
Unsupported- Specified by:
setContents
in interfaceSequenceReader<C extends Compound>
-
getLength
public int getLength()Returns the length given during construction -
getCompoundAt
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
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
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
- Specified by:
getSequenceAsString
in interfaceSequence<C extends Compound>
-
getAsList
-
getSubSequence
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
Returns the compound set given at construction- Specified by:
getCompoundSet
in interfaceSequence<C extends Compound>
-
getAccession
Unsupoorted- Specified by:
getAccession
in interfaceAccessioned
-
countCompounds
Delegates toSequenceMixin#countCompounds(org.biojava3.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
Returns an instance ofSequenceMixin.SequenceIterator
-
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>
-
hashCode
public int hashCode() -
equals
-