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 Details

    • 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