This BEP introduces the partOf
relationship to the BEL language that mirrors the relationship by the same name in the Gene Ontology and many other biomedical ontologies.
This BEP deprecates the subProcessOf
, hasComponent
, and hasComponents
relationships.
This partOf
relationship will replace the subProcessOf
relationship in the case of one biological process being a subprocess (part of) another biological process.
This partOf
relationship will replace the hasComponent
relationship that connects complexes to their members, noting that the relationship is the opposite direction.
This BEP deprecates the hasMember
and hasMembers
relationships.
The isA
relationship will replace the hasMember
relationship in the case of a protein being a member of a protein family.
The deprecatated relationships subProcessOf
, hasComponent
, hasComponents
, hasMember
, and hasMembers
will be removed in the next backwards-incompatible release of the BEL language (3.0.0+)
BEP-Id: BEP-0010
Status: Published
Version: 1
BEL-Version: 2.0.0+
Authors: Charles Tapley Hoyt (@cthoyt)
Created-Date: 2019-08-05
Type: Standards Track
The goal of introducing the partOf
relationship is to allow more information to be stored in BEL for later reasoning in the same way that it is stored in the Gene Ontology and many other biomedical ontologies.
A parallel goal is to reduce the complexity of the BEL language while maintaining its expressibility.
Similarly to GO, the partOf
relation is used to represent part-whole relations.
Where GO necessitates that for A partOf B
that all A’s are part of a B, this is not always true in BEL, such as in the case that describes proteins participating in complexes.
This BEP deprecates the usage of the subProcessOf
relationship in favor of the usage of the partOf
relationship between two biological processes.
This BEP deprecates the usage of the hasComponent
relationship that connects proteins and other abundances to complexes and composites in favor of using the partOf
relationship, keeping in mind that the relationship has the inverse meaning (A hasComponent B
is the same as B partOf A
). The related hasComponents
relationship is deprecated for removal in the next backwards-incompatible BEL language version without the introduction of a similar relationship with the opposite directionality.
This BEP deprecates the usage of hasMember
relationship in favor of the usage of the isA
relationship between a protein and its family, keeping in mind that the relationship has the inverse meaning (A hasMember B
is the same as B isA A
). The hasMembers
relationship is also deprecated for removal in the next backwards-incompatible BEL language version.
These changes do not preclude downstream consumers of BEL from adding the reciprocal relationships for algorithms such as graph traversals.
While this detail is currently left to the implementation, it is recommended that compositeAbundance()
functions are connected to their list of members via partOf
relationships.
There are currently no explicit constraints on the types of the subjects and objects of either the partOf
or isA
relationships. This will be addressed by a future BEP.
partOf
as a drop-in replacement for subProcessOf
A biological process is a subprocess of another (note these examples use OBO-style syntax from BEP-0008)
bp(GO:0006915 ! "apoptotic process") partOf bp(GO:0012501 ! "programmed cell death")
partOf
as an inverse replacement of hasComponent
In BEL 1.0/2.0, the definition of the 911 complex would have been written with:
complex(FPLX:9_1_1) hasComponent p(HGNC:HUS1)
complex(FPLX:9_1_1) hasComponent p(HGNC:RAD1)
complex(FPLX:9_1_1) hasComponent p(HGNC:RAD9A)
To unify the relationships with FamPlex itself, it can now be written as:
p(HGNC:HUS1) partOf complex(FPLX:9_1_1)
p(HGNC:RAD1) partOf complex(FPLX:9_1_1)
p(HGNC:RAD9A) partOf complex(FPLX:9_1_1)
partOf
in annotation of protein domainsThe existence of a domain within a protein can be described like in the following:
p(INTERPRO:"Death domain") partOf p(HGNC:DAPK1)
The hierarchy of protein domains can be described as in the following:
p(INTERPRO:"DAPIN domain") partOf p(INTERPRO:"NACHT-associated domain")
The equivalence relation will be used as any other predicate, where any BEL term can be used as the subject and object.
<BEL term 1> partOf <BEL term 2>
This relationship is asymmetric, meaning that <BEL term 1> partOf <BEL term 2>
is not the same as <BEL term 2> partOf <BEL term 1>
. This relationship is also transitive with partOf
(itself) and the isA
relationship using similar rules as described in GO as outlined below.
A partOf B
and B isA C
implies A partOf C
For proteins, this would describe a hierarchy of complexes.
p(X) partOf complex(Y)
complex(Y) isA complex(Z)
# Infer:
p(X) partOf complex(Z)
A partOf B
and B partOf C
implies A partOf C
For proteins, this would describe a complex formed of other complexes.
p(X) partOf complex(Y)
complex(Y) partOf complex(Z)
# Infer:
p(X) partOf complex(Z)
A isA B
and B partOf C
implies A partOf C
p(HGNC:PRKAA1) isA p(FPLX:AMPK_alpha)
p(HGNC:PRKAA2) isA p(FPLX:AMPK_alpha)
p(FPLX:AMPK_alpha) partOf p(FPLX:AMPK)
# Infer:
p(HGNC:PRKAA1) partOf p(FPLX:AMPK)
p(HGNC:PRKAA2) partOf p(FPLX:AMPK)
This does not conflict with the fact that p(HGNC:PRKAA1)
and p(HGNC:PRKAA2)
won’t be in the same instance of an p(FPLX:AMPK)
complex.
This BEP is backwards compatible. Compilers for BEL 1.0, 2.0, and 2.1 can automatically upgrade statements that are deprecated without the inclusion of additional information. However, this BEP introduces deprecations for several relationships that will be removed in the next major revision to the BEL language (3.0+). Before that, implementations of the BEL language can automatically upgrade these deprecated statements as described above.