Interface EntityReference

All Superinterfaces:
BioPAXElement, Cloneable, Level3Element, Named, Observable, Serializable, UtilityClass, XReferrable
All Known Subinterfaces:
DnaReference, DnaRegionReference, NucleicAcidReference, NucleicAcidRegionReference, ProteinReference, RnaReference, RnaRegionReference, SequenceEntityReference, SmallMoleculeReference
All Known Implementing Classes:
DnaReferenceImpl, DnaRegionReferenceImpl, EntityReferenceImpl, NucleicAcidReferenceImpl, NucleicAcidRegionReferenceImpl, ProteinReferenceImpl, RnaReferenceImpl, RnaRegionReferenceImpl, SequenceEntityReferenceImpl, SmallMoleculeReferenceImpl

public interface EntityReference extends UtilityClass, Named, Observable
Definition: An entity reference is a grouping of several physical entities across different contexts and molecular states, that share common physical properties and often named and treated as a single entity with multiple states by biologists. Rationale: Many protein, small molecule and gene databases share this point of view, and such a grouping is an important prerequisite for interoperability with those databases. Biologists would often group different pools of molecules in different contexts under the same name. For example cytoplasmic and extracellular calcium have different effects on the cell's behavior, but they are still called calcium. For DNA, RNA and Proteins the grouping is defined based on a wildtype sequence, for small molecules it is defined by the chemical structure. Usage: Entity references store the information common to a set of molecules in various states described in the BioPAX document, including database cross-references. For instance, the P53 protein can be phosphorylated in multiple different ways. Each separate P53 protein (pool) in a phosphorylation state would be represented as a different protein (child of physicalEntity) and all things common to all P53 proteins, including all possible phosphorylation sites, the sequence common to all of them and common references to protein databases containing more information about P53 would be stored in a Entity Reference. Comments: This grouping has three semantic implications:
  1. Members of different pools share many physical and biochemical properties. This includes their chemical structure, sequence, organism and set of molecules they react with. They will also share a lot of secondary information such as their names, functional groupings, annotation terms and database identifiers.
  2. A small number of transitions seperates these pools. In other words it is relatively easy and frequent for a molecule to transform from one physical entity to another that belong to the same reference entity. For example an extracellular calcium can become cytoplasmic, and p53 can become phosphorylated. However no calcium virtually becomes sodium, or no p53 becomes mdm2. In the former it is the sheer energy barrier of a nuclear reaction, in the latter sheer statistical improbability of synthesizing the same sequence without a template. If one thinks about the biochemical network as molecules transforming into each other, and remove edges that respond to transcription, translation, degradation and covalent modification of small molecules, each remaining component is a reference entity.
  3. Some of the pools in the same group can overlap. p53-p@ser15 can overlap with p53-p@thr18. Most of the experiments in molecular biology will only check for one state variable, rarely multiple, and never for the all possible combinations. So almost all statements that refer to the state of the molecule talk about a pool that can overlap with other pools. However no overlaps is possible between molecules of different groups.
  • Method Details

    • getEntityFeature

      Set<EntityFeature> getEntityFeature()
      Variable features that are observed for the entities of this entityReference - such as known PTM or methylation sites and non-covalent bonds. Note that this is an aggregate list of all known features and it does not represent a state itself.
      Returns:
      a set of entityFeatures
    • addEntityFeature

      void addEntityFeature(EntityFeature feature)
      Variable features that are observed for the entities of this entityReference - such as known PTM or methylation sites and non-covalent bonds. Note that this is an aggregate list of all known features and it does not represent a state itself.
      Parameters:
      feature - to be added.
    • removeEntityFeature

      void removeEntityFeature(EntityFeature feature)
      Variable features that are observed for the entities of this entityReference - such as known PTM or methylation sites and non-covalent bonds. Note that this is an aggregate list of all known features and it does not represent a state itself.
      Parameters:
      feature - to be removed.
    • getEntityReferenceOf

      Set<SimplePhysicalEntity> getEntityReferenceOf()
      Returns:
      a set of SimplePhysicalEntity that has this EntityReference
    • getEntityReferenceType

      Set<EntityReferenceTypeVocabulary> getEntityReferenceType()
      Returns:
      Controlled vocabulary terms that is used to describe the type of grouping such as homology or functional group.
    • addEntityReferenceType

      void addEntityReferenceType(EntityReferenceTypeVocabulary type)
      Adds the given cv to the list of types
      Parameters:
      type - A controlled vocabulary term that is used to describe the type of grouping such as homology or functional group.
    • removeEntityReferenceType

      void removeEntityReferenceType(EntityReferenceTypeVocabulary type)
      Removes the given cv from the list of types
      Parameters:
      type - A controlled vocabulary term that is used to describe the type of grouping such as homology or functional group.
    • getMemberEntityReference

      Set<EntityReference> getMemberEntityReference()
      Returns:
      Entity references that qualifies for the definition of this group. For example a member of a PFAM protein family.
    • addMemberEntityReference

      void addMemberEntityReference(EntityReference entityReference)
      Adds the given entityReference to the member list
      Parameters:
      entityReference - An entity reference that qualifies for the definition of this group. For example a member of a PFAM protein family.
    • removeMemberEntityReference

      void removeMemberEntityReference(EntityReference entityReference)
      Removes the given entityReference from the member list
      Parameters:
      entityReference - An entity reference that qualifies for the definition of this group. For example a member of a PFAM protein family.
    • getMemberEntityReferenceOf

      Set<EntityReference> getMemberEntityReferenceOf()
      Returns:
      EntityReferences that this EntityReference is a member of.