geneontology / pathways2GO

Code for converting between BioPAX pathways and Gene Ontology Causal Activity Models (GO-CAM)
8 stars 0 forks source link

Identify grouping pathways in Reactome #134

Open deustp01 opened 3 years ago

deustp01 commented 3 years ago

Grouping pathways collect distinct processes that accomplish a single biological goal by diverse sequences of molecular events. We need a strategy to distinguish part_of and is_a reaction children in Reactome pathways reliably and on that basis identify grouping pathways from X pathways. (A subsidiary task is to invent a terse descriptive name X for pathways whose parts are causally connected to one another, though not necessarily in a single linear sequence.) This will address the broader issue raised by #113 - how is the pathways2GO tool or any other user to reliably distinguish these two distinct used of "pathway"?

deustp01 commented 2 years ago

An idea perhaps to discuss further.

The reactions in a grouping pathway should (mostly) have is_a relationships to the grouping pathway and should not have annotated preceding / following relationships to one another. The reactions in a causal pathway should (mostly) have annotated causal connections to one another and part_of relationships to the pathway.

An issue now is how to identify these relationships reliably, perhaps as part of the process of building GO-CAM models. The Reactome data model would allow us to assert that a reaction is_a instance of the process associated with a pathway (grouping) or that it is part_of that process (causal), but we have never done that, so this is a reaction attribute that would need to be retrofitted to current annotations. I wonder if a script could generate a suggested is_a / part_of classification? Such a script would also be really useful for QA to check that the roles of new reactions in pathways are correctly classified.

ukemi commented 2 years ago

Brilliant! Let's look at some test cases and see if it holds true. I will add some examples to this ticket of pathways that contain a mixed bag of is_a and part_of children. Then we can examine them. If it holds true we can ask for a rule.