org.biojava.bio.seq
Interface StrandedFeature

All Superinterfaces:
Annotatable, Changeable, Feature, FeatureHolder
All Known Subinterfaces:
ComponentFeature, FramedFeature, HomologyFeature, RemoteFeature, RestrictionSite, RichFeature, SimilarityPairFeature
All Known Implementing Classes:
SimpleFramedFeature, SimpleHomologyFeature, SimpleRemoteFeature, SimpleRestrictionSite, SimpleRichFeature, SimpleSimilarityPairFeature, SimpleStrandedFeature

public interface StrandedFeature
extends Feature

Adds the concept of 'strand' to features.

Strandedness only applies to some types of sequence, such as DNA. Any implementation should blow chunks to avoid being added to a sequence for which strand is a foreign concept. Strand is intrinsicly part of all RichFeatures We strongly recommend using this interface.

Author:
Matthew Pocock
See Also:
RichFeature

Nested Class Summary
static class StrandedFeature.Strand
          Class to represent the 'strandedness' of a feature.
static class StrandedFeature.Template
          Template class for parameterizing the creation of a new StrandedFeature.
 
Nested classes/interfaces inherited from interface org.biojava.bio.seq.Feature
Feature.ByLocationComparator
 
Nested classes/interfaces inherited from interface org.biojava.bio.seq.FeatureHolder
FeatureHolder.EmptyFeatureHolder
 
Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Field Summary
static StrandedFeature.Strand NEGATIVE
          Flag to indicate that a feature is on the negative strand.
static StrandedFeature.Strand POSITIVE
          Flag to indicate that a feature is on the positive strand.
static ChangeType STRAND
          The strand of this feature is being altered.
static StrandedFeature.Strand UNKNOWN
          Flag to indicate that a feature has an unknown strand.
 
Fields inherited from interface org.biojava.bio.seq.Feature
byLocationOrder, LOCATION, PROPERTY_DATA_KEY, SOURCE, SOURCETERM, TYPE, TYPETERM
 
Fields inherited from interface org.biojava.bio.seq.FeatureHolder
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA
 
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
 
Method Summary
 StrandedFeature.Strand getStrand()
          Retrieve the strand that this feature lies upon.
 SymbolList getSymbols()
          Return a list of symbols that are contained in this feature.
 void setStrand(StrandedFeature.Strand strand)
          Set the strand that this feature lies upon.
 
Methods inherited from interface org.biojava.bio.seq.Feature
features, getLocation, getParent, getSequence, getSource, getSourceTerm, getType, getTypeTerm, makeTemplate, setLocation, setSource, setSourceTerm, setType, setTypeTerm
 
Methods inherited from interface org.biojava.bio.seq.FeatureHolder
containsFeature, countFeatures, createFeature, filter, filter, getSchema, removeFeature
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from interface org.biojava.bio.Annotatable
getAnnotation
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Field Detail

STRAND

static final ChangeType STRAND
The strand of this feature is being altered.


POSITIVE

static final StrandedFeature.Strand POSITIVE
Flag to indicate that a feature is on the positive strand.


NEGATIVE

static final StrandedFeature.Strand NEGATIVE
Flag to indicate that a feature is on the negative strand.


UNKNOWN

static final StrandedFeature.Strand UNKNOWN
Flag to indicate that a feature has an unknown strand.

Method Detail

getStrand

StrandedFeature.Strand getStrand()
Retrieve the strand that this feature lies upon.

This will be one of StrandedFeature.POSITIVE or NEGATIVE.

Returns:
one of the Strand constants

setStrand

void setStrand(StrandedFeature.Strand strand)
               throws ChangeVetoException
Set the strand that this feature lies upon.

This will be one of StrandedFeature.POSITIVE or NEGATIVE.

Parameters:
strand - a Strand.
Throws:
ChangeVetoException - if the strand may not be changed.

getSymbols

SymbolList getSymbols()
Return a list of symbols that are contained in this feature.

The symbols may not be contiguous in the original sequence, but they will be concatenated together in the resulting SymbolList.

The order of the Symbols within the resulting symbol list will be according to the concept of ordering within the location object.

If the feature is on the negative strand then the SymbolList will be reverse-complemented as appropriate.

Specified by:
getSymbols in interface Feature
Returns:
a SymbolList containing each symbol of the parent sequence contained within this feature in the order they appear in the parent