bep

Updated BEL Relationships

Abstract

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+)

Preamble

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

Rationale and Goals

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.

Notes

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.

Use Cases

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 domains

The 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")

Discussion

Specification

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.

Backwards Compatibility

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.

Reference Implementation