From c8a6a56f1aa9bbc437ecedbc8dc649f5e7f62e54 Mon Sep 17 00:00:00 2001 From: Charles Tapley Hoyt Date: Sun, 9 Feb 2020 15:33:59 +0100 Subject: [PATCH] Create BEP-0011.md --- docs/published/BEP-0011.md | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 docs/published/BEP-0011.md diff --git a/docs/published/BEP-0011.md b/docs/published/BEP-0011.md new file mode 100644 index 0000000..514c344 --- /dev/null +++ b/docs/published/BEP-0011.md @@ -0,0 +1,66 @@ +# Add new relation: binds + +## Abstract + +This BEP adds the "binds" relationship between two physical entities. + +## Preamble + +BEP-Id: BEP-0011 + +Status: Draft + +Version: 1 + +BEL-Version: 2.0.0 (which version(s) of BEL are to be changed by this BEP) + +Authors: Charles Tapley Hoyt ([https://github.com/cthoyt](@cthoyt)) + +Created-Date: 2020-02-09 + +Type: Standards Track + +## Rationale and Goals + +While the `complex()` function allows either the reference to a named complex or +the definition of an ad-hoc complex, not all proteins in a complex +physically interact with each other. + +The `binds` relationship will allow for more explicit definition of which +proteins physically interact with each other. For example, a protein complex +`complex(A, B, C)` may be arranged linearly such that `A binds B` and +`B binds C`, but `A` does not bind `C`. Another complex `complex(X, Y, Z)` +may be arranged in a triangle such that `A binds B`, `B binds C`, and +`C binds A`. + +## Use Cases + +The `binds` relationship will be the prefered binary relationship for +protein-protein relationships, such as the physical interactions from +the [HIPPIE](http://cbdm-01.zdv.uni-mainz.de/~mschaefer/hippie/) database. + +``` +p(UNIPROT:P42858 ! HD_HUMAN) binds p(UNIPROT:P54257 ! HAP1_HUMAN) +``` + +See http://cbdm-01.zdv.uni-mainz.de/~mschaefer/hippie/query.php?s=HD_HUMAN +for more information on this interaction. + +## Discussion + +- Is `binds` the best name? Maybe `interacts` is better, but that's a bit + more general and doesn't necessarily suggest *physical* binding + +## Specification + +This BEP adds a `binds` relationship to BEL. + +`binds` is non-directional, such that `A binds B` is equivalent to `B binds A`. + +## Backwards Compatibility + +All BEPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The BEP must explain how the author proposes to deal with these incompatibilities. BEP submissions without a sufficient backwards compatibility treatise may be rejected outright. + +## Reference Implementation + +The reference implementation must be completed before any BEP is given status "Final", but it need not be completed before the BEP is accepted. While there is merit to the approach of reaching consensus on the specification and rationale before writing code, the principle of "rough consensus and running code" is still useful when it comes to resolving many discussions of BEL Language and API details.