Interface EntityFeature

All Superinterfaces:
BioPAXElement, Cloneable, Level3Element, Observable, Serializable, UtilityClass
All Known Subinterfaces:
BindingFeature, CovalentBindingFeature, FragmentFeature, ModificationFeature
All Known Implementing Classes:
BindingFeatureImpl, CovalentBindingFeatureImpl, EntityFeatureImpl, FragmentFeatureImpl, ModificationFeatureImpl

public interface EntityFeature extends UtilityClass, Observable
Description: A characteristic of a physical entity that can change while the entity still retains its biological identity. Rationale: Two phosphorylated forms of a protein are strictly speaking different chemical molecules. It is, however, standard in biology to treat them as different states of the same entity, where the entity is loosely defined based on sequence. Entity Feature class and its subclassses captures these variable characteristics. A Physical Entity in BioPAX represents a pool of molecules rather than an individual molecule. This is a notion imported from chemistry (See PhysicalEntity). Pools are defined by a set of Entity Features in the sense that a single molecule must have all of the features in the set in order to be considered a member of the pool. Since it is impossible to list and experimentally test all potential features for an entity, features that are not listed in the selection criteria is neglected Pools can also be defined by the converse by specifying features that are known to NOT exist in a specific context. As DNA, RNA and Proteins can be hierarchically organized into families based on sequence homology so can entity features. The memberFeature property allows capturing such hierarchical classifications among entity features. Usage: Subclasses of entity feature describe most common biological instances and should be preferred whenever possible. One common use case for instantiating entity feature is, for describing active/inactive states of proteins where more specific feature information is not available. Examples: Open/close conformational state of channel proteins, "active"/"inactive" states, excited states of photoreactive groups.
  • Method Details

    • getEntityFeatureOf

      EntityReference getEntityFeatureOf()
      Returns:
      the EntityReference that this EntityFeature belongs to.
    • getFeatureOf

      Set<PhysicalEntity> getFeatureOf()
      Inverse of PhysicalEntity.getFeature() Contents of this set is generated automatically and should not be modified.
      Returns:
      The list of PhysicalEntities that were observed to have this feature.
    • getNotFeatureOf

      Set<PhysicalEntity> getNotFeatureOf()
      Inverse of PhysicalEntity.getNotFeature() Contents of this set is generated automatically and should not be modified.
      Returns:
      The list of PhysicalEntities that were observed to NOT have this feature.
    • getFeatureLocation

      SequenceLocation getFeatureLocation()
      Location of the feature on the sequence of the interactor. For modification features this is the modified base or residue. For binding features this is the binding site and for fragment features this is the location of the fragment on the "base" sequence. One feature may have more than one location, used e.g. for features which involve sequence positions close in the folded, three-dimensional state of a protein, but non-continuous along the sequence. Small Molecules can have binding features but currently it is not possible to define the binding site on the small molecules. In those cases this property should not be specified.
      Returns:
      Location of the feature on the sequence of the interactor.
    • setFeatureLocation

      void setFeatureLocation(SequenceLocation sequenceLocation)
      Location of the feature on the sequence of the interactor. For modification features this is the modified base or residue. For binding features this is the binding site and for fragment features this is the location of the fragment on the "base" sequence. One feature may have more than one location, used e.g. for features which involve sequence positions close in the folded, three-dimensional state of a protein, but non-continuous along the sequence. Small Molecules can have binding features but currently it is not possible to define the binding site on the small molecules. In those cases this property should not be specified.
      Parameters:
      sequenceLocation - of the feature
    • getFeatureLocationType

      SequenceRegionVocabulary getFeatureLocationType()
      A controlled vocabulary term describing the type of the sequence location such as C-Terminal or SH2 Domain. Using Sequence Ontology (http://www.sequenceontology.org) is recommended.
      Returns:
      A CV term describing the location of the feature
    • setFeatureLocationType

      void setFeatureLocationType(SequenceRegionVocabulary regionVocabulary)
      A controlled vocabulary term describing the type of the sequence location such as C-Terminal or SH2 Domain. Using Sequence Ontology (http://www.sequenceontology.org) is recommended.
      Parameters:
      regionVocabulary - A CV term describing the location of the feature
    • getMemberFeature

      Set<EntityFeature> getMemberFeature()
      An entity feature that belongs to this homology grouping. Members of this set should be of the same class of this EntityFeature. Members of this set should be an EntityFeature of an EntityReference which is a memberEntityReference of the EntityReference of this feature. If this set is not empty than the sequenceLocation of this feature should be null. Example: a homologous phosphorylation site across a protein family.
      Returns:
      An entity feature that belongs to this homology grouping.
    • addMemberFeature

      void addMemberFeature(EntityFeature entityFeature)
      An entity feature that belongs to this homology grouping. Members of this set should be of the same class of this EntityFeature. Members of this set should be an EntityFeature of an EntityReference which is a memberEntityReference of the EntityReference of this feature. If this set is not empty than the sequenceLocation of this feature should be null. Example: a homologous phosphorylation site across a protein family.
      Parameters:
      entityFeature - An entity feature that belongs to this homology grouping.
    • removeMemberFeature

      void removeMemberFeature(EntityFeature entityFeature)
      An entity feature that belongs to this homology grouping. Members of this set should be of the same class of this EntityFeature. Members of this set should be an EntityFeature of an EntityReference which is a memberEntityReference of the EntityReference of this feature. If this set is not empty than the sequenceLocation of this feature should be null. Example: a homologous phosphorylation site across a protein family.
      Parameters:
      entityFeature - An entity feature that belongs to this homology grouping.
    • atEquivalentLocation

      boolean atEquivalentLocation(EntityFeature that)
      Parameters:
      that - EntityFeature to be compared
      Returns:
      returns true iff the given feature is at the equivalent sequence location with this feature
    • getMemberFeatureOf

      Set<EntityFeature> getMemberFeatureOf()
      Returns:
      the generic feature(s) that this feature belong to