Class CircularView

All Implemented Interfaces:
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:
  • Constructor Details

  • Method Details

    • 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 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 base
      end - the index of the last base
      Returns:
      a String representation of the tokenized Symbols
    • createFeature

      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 sublist
      end - the last base of the sublist
      Returns:
      a SymbolList containing the Symbols from start to end inclusive