org.biopax.paxtools.model.level3
Interface EntityReference

All Superinterfaces:
BioPAXElement, java.lang.Cloneable, Level3Element, Named, Observable, java.io.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.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biopax.paxtools.model.BioPAXElement
BioPAXElement.Key
 
Field Summary
 
Fields inherited from interface org.biopax.paxtools.model.BioPAXElement
UNKNOWN_DOUBLE, UNKNOWN_FLOAT, UNKNOWN_INT
 
Method Summary
 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.
 void addEntityReferenceType(EntityReferenceTypeVocabulary type)
          Adds the given cv to the list of types
 void addMemberEntityReference(EntityReference entityReference)
          Adds the given entityReference to the member list
 java.util.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.
 java.util.Set<SimplePhysicalEntity> getEntityReferenceOf()
          Inverse of SimplePhysicalEntity.getEntityReference()
 java.util.Set<EntityReferenceTypeVocabulary> getEntityReferenceType()
           
 java.util.Set<EntityReference> getMemberEntityReference()
           
 java.util.Set<EntityReference> getMemberEntityReferenceOf()
          Reverse of getMemberEntityReference()
 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.
 void removeEntityReferenceType(EntityReferenceTypeVocabulary type)
          Removes the given cv from the list of types
 void removeMemberEntityReference(EntityReference entityReference)
          Removes the given entityReference from the member list
 
Methods inherited from interface org.biopax.paxtools.model.level3.Named
addName, getDisplayName, getName, getStandardName, removeName, setDisplayName, setStandardName
 
Methods inherited from interface org.biopax.paxtools.model.level3.XReferrable
addXref, getXref, removeXref
 
Methods inherited from interface org.biopax.paxtools.model.level3.Level3Element
addComment, getComment, removeComment
 
Methods inherited from interface org.biopax.paxtools.model.BioPAXElement
equivalenceCode, getAnnotations, getModelInterface, getRDFId, isEquivalent
 
Methods inherited from interface org.biopax.paxtools.model.level3.Observable
addEvidence, getEvidence, removeEvidence
 

Method Detail

getEntityFeature

java.util.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

java.util.Set<SimplePhysicalEntity> getEntityReferenceOf()
Inverse of SimplePhysicalEntity.getEntityReference()

Returns:
a set of SimplePhysicalEntity that has this EntityReference

getEntityReferenceType

java.util.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

java.util.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

java.util.Set<EntityReference> getMemberEntityReferenceOf()
Reverse of getMemberEntityReference()

Returns:
EntityReferences that this EntityReference is a member of.


Copyright © 2011 BioPAX. All Rights Reserved.