org.biojava.bio.seq
Class CircularView
java.lang.Object
org.biojava.utils.Unchangeable
org.biojava.bio.seq.impl.ViewSequence
org.biojava.bio.seq.CircularView
- All Implemented Interfaces:
- java.io.Serializable, Annotatable, FeatureHolder, RealizingFeatureHolder, Sequence, SymbolList, Changeable
public class CircularView
- extends ViewSequence
A circular view onto another Sequence object. The class allows for
reinterpretation of locations and indices onto the sequence to allow for
overlapping of the origin. The origin is assumed to be the first symbol.
Future versions may support changing the origin.
In biojavax RichSequences
intrinsicly know about
circularity. No view is required. We strongly recommend using RichSequence
if possible.
- Since:
- 1.1
- Version:
- 1.2
- Author:
- Mark Schreiber
- See Also:
RichSequence
,
Serialized Form
Method Summary |
Feature |
createFeature(Feature.Template template)
Over rides ViewSequence to allow the use of locations that have
coordinates outside of the sequence length (which are needed to
describe locations that overlap the origin of a circular sequence). |
SymbolList |
subList(int start,
int end)
Over rides ViewSequence. |
java.lang.String |
subStr(int start,
int end)
Over rides ViewSequence. |
Symbol |
symbolAt(int index)
Over rides ViewSequence. |
Methods inherited from class org.biojava.bio.seq.impl.ViewSequence |
containsFeature, countFeatures, edit, features, filter, filter, getAddedFeatures, getAlphabet, getAnnotation, getName, getSchema, getURN, iterator, length, realizeFeature, removeFeature, seqString, toList |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CircularView
public CircularView(Sequence seq,
FeatureRealizer fr)
CircularView
public CircularView(Sequence seq)
symbolAt
public Symbol symbolAt(int index)
Over rides ViewSequence. Allows any integer index, positive or negative
to return a symbol via the equation
val = (val % length);
Note that base zero is the base immediately before base 1 which is of course
the last base of the sequence.
- Specified by:
symbolAt
in interface SymbolList
- Overrides:
symbolAt
in class ViewSequence
- Parameters:
index
- the index of the Symbol
requested.
- Returns:
- the
Symbol
specified by the index.
subStr
public java.lang.String subStr(int start,
int end)
Over rides ViewSequence. Allows any integer index, positive or negative
to return a symbol via the equation
val = (val % length);
Will return a linear String which can, if nescessary, span the origin.
- Specified by:
subStr
in interface SymbolList
- Overrides:
subStr
in class ViewSequence
- Parameters:
start
- the index of the fist baseend
- the index of the last base
- Returns:
- a
String
representation of the tokenized Symbol
s
createFeature
public Feature createFeature(Feature.Template template)
throws ChangeVetoException,
BioException
- Over rides ViewSequence to allow the use of locations that have
coordinates outside of the sequence length (which are needed to
describe locations that overlap the origin of a circular sequence).
- Specified by:
createFeature
in interface FeatureHolder
- Overrides:
createFeature
in class ViewSequence
- Parameters:
template
- the template of the feature to be created.
- Returns:
- the feature created you can use the template of the returned feature
to create another of the same type.
- Throws:
BioException
- if a non circular location is added that exceeds the
'boundaries' of the sequence.
ChangeVetoException
- if the sequence is locked.- Since:
- 1.2
subList
public SymbolList subList(int start,
int end)
Over rides ViewSequence. Allows any integer index, positive or negative
to return a symbol via the equation
index = ((index -1) % length)+1
Will return a linear SymbolList which can ,if nescessary, span the origin.
- Specified by:
subList
in interface SymbolList
- Overrides:
subList
in class ViewSequence
- Parameters:
start
- the first base of the sublistend
- the last base of the sublist
- Returns:
- a
SymbolList
containing the Symbols
from
start
to end
inclusive