org.biojava3.core.sequence.features
Interface FeatureInterface<S extends AbstractSequence<C>,C extends Compound>

All Known Implementing Classes:
AbstractFeature, QualityFeature, QuantityFeature, TextFeature

public interface FeatureInterface<S extends AbstractSequence<C>,C extends Compound>

Interface class to handle describing arbitrary features. A feature can be found at multiple locations in a sequence such as the surface of a protein where different sequence positions make up that feature. Ligand binding pocket is another example. The location in its current form knows the start and stop position in a sequence and thus should contain knowledge about the actual sequence. A feature can contain features to handle cases where a domain is a feature and the secondary structures covered by that domain and other requirements for grouping.

Author:
Scooter Willis

Method Summary
 List<FeatureInterface<S,C>> getChildrenFeatures()
          Get the features contained by this feature
 String getDescription()
          Get the description that can be used to describe the feature
 SequenceLocation<S,C> getLocations()
          The location(s) of this feature where the location should contain a reference to parent and sequence etc.
 FeatureInterface<S,C> getParentFeature()
          Get the parent feature
 String getShortDescription()
          Get the short description that can be used to describe the feature
 String getSource()
          The source of the feature.
 String getType()
          The type of the feature.
 Object getUserObject()
           
 void setChildrenFeatures(List<FeatureInterface<S,C>> features)
          Set the children features
 void setDescription(String description)
          Set the description that can be used to describe the feature
 void setLocation(SequenceLocation<S,C> loc)
          The new location for this feature.
 void setParentFeature(FeatureInterface<S,C> feature)
          Set the parent feature
 void setShortDescription(String shortDescription)
          Set the short description that can be used to describe the feature
 void setSource(String source)
          Change the source of the FeatureInterface.
 void setType(String type)
          Change the type of this feature.
 void setUserObject(Object userObject)
           
 

Method Detail

getShortDescription

String getShortDescription()
Get the short description that can be used to describe the feature

Returns:

setShortDescription

void setShortDescription(String shortDescription)
Set the short description that can be used to describe the feature

Parameters:
shortDescription -

getDescription

String getDescription()
Get the description that can be used to describe the feature

Returns:

setDescription

void setDescription(String description)
Set the description that can be used to describe the feature


getLocations

SequenceLocation<S,C> getLocations()
The location(s) of this feature where the location should contain a reference to parent and sequence etc.

The location may be complicated, or simply a range. The annotation is assumed to apply to all the region contained within the location.

Returns:
a Location anchoring this feature

setLocation

void setLocation(SequenceLocation<S,C> loc)
The new location for this feature.

The location may be complicated or simply a range. The annotation is assumed to apply to the entire region contained within the location. Any values returned from methods that rely on the old location must not be affected.

Parameters:
loc - the new Location for this feature

getType

String getType()
The type of the feature.

Returns:
the type of this sequence

setType

void setType(String type)
Change the type of this feature.

Parameters:
type - new type String

getSource

String getSource()
The source of the feature. This may be a program or process.

Returns:
the source, or generator

setSource

void setSource(String source)
Change the source of the FeatureInterface.

Parameters:
source - the new source String

setParentFeature

void setParentFeature(FeatureInterface<S,C> feature)
Set the parent feature

Parameters:
feature -

getParentFeature

FeatureInterface<S,C> getParentFeature()
Get the parent feature

Returns:

getChildrenFeatures

List<FeatureInterface<S,C>> getChildrenFeatures()
Get the features contained by this feature

Returns:

setChildrenFeatures

void setChildrenFeatures(List<FeatureInterface<S,C>> features)
Set the children features

Parameters:
features -

getUserObject

Object getUserObject()
Returns:
the userObject

setUserObject

void setUserObject(Object userObject)
Parameters:
userObject - the userObject to set