Comments (11)
The developing min predicate set proposed in #55 includes an ‘enables’ predicate, which was created to support GO annotations of genes that link them to molecular functions they are capable of. A ‘capable of’ predicate was considered here, but for reasons I won’t go into GO chose to use the RO:’enables’ relation in their data instead of its more general parent RO:‘capable of’ relation (the curator note here explains rationale for this).
For Translator purposes, I propose a ‘capable of’ predicate for the Translator minimal set, instead of the more constrained ‘enables’ predicate. KGs can use this ‘capable of’ predicate for connecting things like genes or anatomical entities to GO molecular functions or biological processes.
Thoughts? (in particular from @cmungall)
from biolink-model.
Matt, we are fine with "enables" for the time being. But we are also fine with "capable_of". Basically we just want to implement the standard. So it sounds like we can safely use "enables' for the time being, until such time as there is agreement from the standards committee to allow "capable_of"?
from biolink-model.
Would be great if "capable_of" was at least in the maximal predicate set (it may already be, I confess I haven't checked)
from biolink-model.
from biolink-model.
@sramsey I think enables is too strict for anatomy - GO:BP/MF associations - or at least sounds funny to me. So I'm in favor of generalizing it a bit to 'capable of' or 'involved in', and having this be a predicate in the minimal set.
@cmungall It makes sense to me to have 'capable of' and/or 'involved in' live under the existing 'participates in' blm predicate. Currently we map ro:'involved' in to blm:'participates in'. Are you proposing adding an 'involved in' predicate as another slot under 'participates in' - where 'involved in' would also imply agency but for only part of the process or function?
A straw man for a possible hierarchy of predicates is below (note that it assumes we can conflate BP and MF as possible ranges for all of these predicates - which i think has historical precedent on other efforts):
'participates in' (any type of participation in a process or function)
'actively involved in' (has agency for at least part of the process or function)
'is capable of' (has agency on its own to drive entire process or function)
This seems consistent with the spirit of what Chris proposed, and with what is in the RO. Although in the RO things are a bit more complicated/confounded by ontological considerations (and side note - looking at RO and it is not clear to me how 'involved in' is different from the 'capable of part of' relation.)
If we agree on this simple hierarchy, what should be part of the minimal spec? I think 'participates in' for sure. And i see value in at least one predicate to indicate an agency role in this participation. Not sure we need to distinguish between partial and autonomous agency (i.e. 'involved in' and 'capable of'). This finer grained distinction could be specified if desired using RO relations for the max predicate edge property.
from biolink-model.
To keep things moving ahead, I am going ahead and implementing as proposed above, specifically:
'participates in' (any type of participation in a process or function)
'actively involved in' (has agency for at least part of the process or function)
'is capable of' (has agency on its own to drive entire process or function)
Happy to revisit and revise if this ends up being problematic - but want to get certain predicates in the spec that teams need now for their KGs.
from biolink-model.
One important factor to consider: a gene product M that has an activity that acts upstream of a process P (either regulating P or playing some role that causally affecting P) is not considered a participant in that process in RO. The RO property acts upstream of or within covers the more general case
from biolink-model.
Good point Chris. There are many nuances to consider here, as evidenced by the number and fine-grained distinctions made between the many RO relations in this area.
If we keep them, should be clear that the relations above should be used when the entity does indeed participate in the indicated process or function. If there are cases where we cannot or don't want to distinguish whether the entity facilitates a process or function through upstream action or through direct participation/execution, we can add an 'acts upstream of or within' predicate. But I would do so only if/when there is a real need/use case for it in our work.
For the time being, are there concerns with the three predicates proposed above?
from biolink-model.
copy that. we are implementing is_capable_of predicates to relate proteins to "molecular function" ontology terms.
from biolink-model.
Can this be closed?
from biolink-model.
Yes. The request has been implemented in the model.
from biolink-model.
Related Issues (20)
- Hazardous or Poisonous Substance (T131) mapped incorrectly to SmallMolecule
- Add a biolink:CommonDataElementBundle to provide an ordered list of biolink:CommonDataElement
- Incorrect mapping? skos:relatedMatch HOT 1
- SEMMED mappings to related to
- FMA identifiers don't resolve HOT 1
- Importing biolink raises ModuleNotFoundError HOT 1
- Inverses of mixin predicates don't establish an is_a path to a "root" mixin
- Obsolete Bacterium, or place it correctly
- Make the hierarchy is-a complete
- `biolink` base namespace does not redirect correctly? HOT 1
- Two discrepencies in `OMIM` prefix
- A URL from Reactome database HOT 11
- Move prefix map to src
- Prediction Qualifiers HOT 2
- Generated Python/Pydantic Models as Package? HOT 1
- Pathway `preceded_by`/`followed_by` HOT 2
- Sequence Motif PWMs
- What is the Prefix for microRNA?
- It seems impossible to instantiate GeneToGoTermAssociation objects using the python classes
- Is the domain of 'predisposes to condition' (chemical or drug or treatment) too restrictive?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from biolink-model.