Class WindowedSequence<C extends Compound>
- java.lang.Object
-
- org.biojava.nbio.core.sequence.views.WindowedSequence<C>
-
- Type Parameters:
C
- The type of compound we return from a window
- All Implemented Interfaces:
java.lang.Iterable<SequenceView<C>>
public class WindowedSequence<C extends Compound> extends java.lang.Object implements java.lang.Iterable<SequenceView<C>>
A sliding window view of a sequence which does not implement any interfaces likeSequence
because they do not fit how this works. For each index requested we return a SequenceView or List of compounds back. If you perform a view on a Sequence whose length is not a multiple of the window the final window will be omitted i.e. if we have the sequence AGCGG and a window of 3 then you will only see AGC since GG exceeds the calculated length of this sequence. Because this does not implement a Sequence interface we do not recommend passing this class around. If you need to represent a windowed sequence as a real Sequence then translate it into a new Compound- Author:
- ayates
-
-
Constructor Summary
Constructors Constructor Description WindowedSequence(Sequence<C> sequence, int windowSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceView<C>
get(int index)
Returns the window specified at the given index in offsets i.e.Sequence<C>
getBackingSequence()
Access the sequence which backs this windowjava.util.List<C>
getCompounds(int index)
For a given position into the windowed view this will return those compounds we can see in the window.int
getLength()
Returns the size of the windowed sequence which is the length by the window size.int
getWindowSize()
Access the current window sizejava.util.Iterator<SequenceView<C>>
iterator()
Returns an iterator which will return the windows in a sequence in sequential order.protected int
toStartIndex(int index)
Calculates start index according to the equation start = ( (index-1) - windowSize) +1
-
-
-
Method Detail
-
getWindowSize
public int getWindowSize()
Access the current window size
-
getBackingSequence
public Sequence<C> getBackingSequence()
Access the sequence which backs this window
-
toStartIndex
protected int toStartIndex(int index)
Calculates start index according to the equation start = ( (index-1) - windowSize) +1
-
getLength
public int getLength()
Returns the size of the windowed sequence which is the length by the window size. Trailing Compounds are omitted.
-
getCompounds
public java.util.List<C> getCompounds(int index)
For a given position into the windowed view this will return those compounds we can see in the window. i.e. in the sequence AGGCCT requesting index 1 returns AGG and requesting index 2 return CCT.- Parameters:
index
- Windowed index position- Returns:
- The List of compounds
-
get
public SequenceView<C> get(int index)
Returns the window specified at the given index in offsets i.e. asking for position 2 in a moving window sequence of size 3 will get you the window starting at position 4.
-
iterator
public java.util.Iterator<SequenceView<C>> iterator()
Returns an iterator which will return the windows in a sequence in sequential order.
-
-