org.biojavax.bio.seq
Interface RichSequence

All Superinterfaces:
Annotatable, BioEntry, Changeable, Comparable, FeatureHolder, RankedCrossRefable, RichAnnotatable, Sequence, SymbolList
All Known Implementing Classes:
SimpleRichSequence, ThinRichSequence

public interface RichSequence
extends BioEntry, Sequence

A rich sequence is a combination of a org.biojavax.bio.Bioentry and a Sequence. It inherits and merges the methods of both. The RichSequence is based on the BioSQL model and provides a richer array of methods to access information than Sequence does. Whenever possible RichSequence should be used in preference to Sequence.

Since:
1.5
Author:
Mark Schreiber, Richard Holland, George Waldon

Nested Class Summary
static class RichSequence.IOTools
          A set of convenience methods for handling common file formats.
static class RichSequence.Terms
          Stores a number of useful terms used across many sequence formats for consistency's sake.
static class RichSequence.Tools
          Some useful tools for working with RichSequence objects.
 
Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Nested classes/interfaces inherited from interface org.biojava.bio.seq.FeatureHolder
FeatureHolder.EmptyFeatureHolder
 
Field Summary
static ChangeType CIRCULAR
           
static ChangeType SYMLISTVERSION
           
 
Fields inherited from interface org.biojavax.bio.BioEntry
COMMENT, DESCRIPTION, DIVISION, IDENTIFIER, RANKEDCROSSREF, RANKEDDOCREF, RELATIONS, SEQVERSION, TAXON
 
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
 
Fields inherited from interface org.biojava.bio.symbol.SymbolList
EDIT, EMPTY_LIST
 
Fields inherited from interface org.biojava.bio.seq.FeatureHolder
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA
 
Method Summary
 boolean getCircular()
          Is the sequence circular? Circularity has implications for work with locations and any coordinate work eg symbolAt(int i).
 Set<Feature> getFeatureSet()
          The features for this sequence.
 SymbolList getInternalSymbolList()
          A special function that returns the SymbolList that this RichSequence is based around.
 Double getSeqVersion()
          The version of the associated symbol list.
 void setCircular(boolean circular)
          Circularises the Sequence.
 void setFeatureSet(Set<Feature> features)
          Sets the features of this sequence.
 void setSeqVersion(Double seqVersion)
          Sets the version of the associated symbol list.
 
Methods inherited from interface org.biojavax.bio.BioEntry
addComment, addRankedDocRef, addRelationship, getAccession, getComments, getDescription, getDivision, getIdentifier, getName, getNamespace, getRankedDocRefs, getRelationships, getTaxon, getVersion, removeComment, removeRankedDocRef, removeRelationship, setDescription, setDivision, setIdentifier, setTaxon
 
Methods inherited from interface org.biojavax.RichAnnotatable
getNoteSet, getRichAnnotation, setNoteSet
 
Methods inherited from interface org.biojava.bio.Annotatable
getAnnotation
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from interface org.biojavax.RankedCrossRefable
addRankedCrossRef, getRankedCrossRefs, removeRankedCrossRef, setRankedCrossRefs
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface org.biojava.bio.seq.Sequence
getName, getURN
 
Methods inherited from interface org.biojava.bio.symbol.SymbolList
edit, getAlphabet, iterator, length, seqString, subList, subStr, symbolAt, toList
 
Methods inherited from interface org.biojava.bio.seq.FeatureHolder
containsFeature, countFeatures, createFeature, features, filter, filter, getSchema, removeFeature
 

Field Detail

SYMLISTVERSION

static final ChangeType SYMLISTVERSION

CIRCULAR

static final ChangeType CIRCULAR
Method Detail

getSeqVersion

Double getSeqVersion()
The version of the associated symbol list. Note the use of an object for the value means that it can be nulled.

Returns:
the version

setSeqVersion

void setSeqVersion(Double seqVersion)
                   throws ChangeVetoException
Sets the version of the associated symbol list. Note the use of an object for the value means that it can be nulled.

Parameters:
seqVersion - the version to set.
Throws:
ChangeVetoException - if it doesn't want to change.

getFeatureSet

Set<Feature> getFeatureSet()
The features for this sequence.

Returns:
a set of RichFeature objects.

setFeatureSet

void setFeatureSet(Set<Feature> features)
                   throws ChangeVetoException
Sets the features of this sequence. Note that it is not checked to see if the features actually belong to this sequence, you'd best check that yourself and make changes using feature.setParent() if necessary.

Parameters:
features - the features to assign to this sequence, replacing all others. Must be a set of RichFeature objects.
Throws:
ChangeVetoException - if they could not be assigned.

setCircular

void setCircular(boolean circular)
                 throws ChangeVetoException
Circularises the Sequence. The circular length can then be said to be the length of the sequence itself.

Parameters:
circular - set to true if you want it to be circular
Throws:
ChangeVetoException - if the change is blocked. Some implementations may choose not to support circularisation and should throw an exception here. Some implementations may only support this method for certain Alphabets.

getCircular

boolean getCircular()
Is the sequence circular? Circularity has implications for work with locations and any coordinate work eg symbolAt(int i). Classes that allow it should test this method when working with coordinates or locations / features.

Returns:
true if the this is circular else false.

getInternalSymbolList

SymbolList getInternalSymbolList()
A special function that returns the SymbolList that this RichSequence is based around. This should _not_ be the RichSequence object itself, as this function is used to perform actions on the symbol list without referring to the RichSequence object directly.

Returns:
the internal SymbolList of the RichSequence, NOT the RichSequence object itself.