org.biojava.bio.seq
Interface StrandedFeature

All Superinterfaces:
Annotatable, Changeable, Feature, FeatureHolder
All Known Subinterfaces:
ComponentFeature, FramedFeature, HomologyFeature, RemoteFeature, RestrictionSite, SimilarityPairFeature
All Known Implementing Classes:
ProjectedStrandedFeature, SimpleFramedFeature, SimpleHomologyFeature, SimpleRemoteFeature, SimpleRestrictionSite, 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.

Author:
Matthew Pocock

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 inherited from class org.biojava.bio.seq.Feature
Feature.ByLocationComparator
 
Nested classes inherited from class org.biojava.bio.seq.FeatureHolder
FeatureHolder.EmptyFeatureHolder
 
Nested classes inherited from class 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 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, TYPE
 
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.
 
Methods inherited from interface org.biojava.bio.seq.Feature
features, getLocation, getParent, getSequence, getSource, getType, makeTemplate, setLocation, setSource, setType
 
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
 

Field Detail

POSITIVE

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


NEGATIVE

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


UNKNOWN

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

Method Detail

getStrand

public 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

getSymbols

public 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