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 intcountCompounds(C... compounds)Delegates toSequenceMixin#countCompounds(org.biojava.nbio.core.sequence.template.Sequence, C[])booleanequals(Object o)booleanequals(Sequence<C> o)AccessionIDgetAccession()UnsupoortedList<C>getAsList()CgetCompoundAt(int position)Always returns the compound given at constructionCompoundSet<C>getCompoundSet()Returns the compound set given at constructionintgetIndexOf(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.intgetLastIndexOf(C compound)Returns the length of the Sequence if the given compound was equal to the one given during construction.intgetLength()Returns the length given during constructionStringgetSequenceAsString()SequenceView<C>getSubSequence(Integer start, Integer end)Creates aSequenceProxyViewfor the given coordinatesinthashCode()Iterator<C>iterator()Returns an instance ofSequenceMixin.SequenceIteratorvoidsetCompoundSet(CompoundSet<C> compoundSet)UnsupportedvoidsetContents(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:
setCompoundSetin interfaceSequenceReader<C extends Compound>
-
setContents
public void setContents(String sequence) throws CompoundNotFoundException
Unsupported- Specified by:
setContentsin 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:
getCompoundAtin 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:
getIndexOfin 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:
getLastIndexOfin 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:
getSequenceAsStringin interfaceSequence<C extends Compound>
-
getSubSequence
public SequenceView<C> getSubSequence(Integer start, Integer end)
Creates aSequenceProxyViewfor the given coordinates- Specified by:
getSubSequencein 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:
getCompoundSetin interfaceSequence<C extends Compound>
-
getAccession
public AccessionID getAccession()
Unsupoorted- Specified by:
getAccessionin interfaceAccessioned
-
countCompounds
public int countCompounds(C... compounds)
Delegates toSequenceMixin#countCompounds(org.biojava.nbio.core.sequence.template.Sequence, C[])- Specified by:
countCompoundsin 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:SequenceDoes the right thing to get the inverse of the current Sequence. This means either reversing the Sequence and optionally complementing the Sequence.- Specified by:
getInversein interfaceSequence<C extends Compound>
-
-