Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

participates in -- what sorts of sub-relations should we identify? #244

Open
phismith opened this issue Jul 26, 2018 · 13 comments
Open

participates in -- what sorts of sub-relations should we identify? #244

phismith opened this issue Jul 26, 2018 · 13 comments
Labels
discussion For discussion on RO calls or at RO meeting GO Related to Gene Ontology (GO)

Comments

@phismith
Copy link

first ideas:

is agent of
is patient of
is principal participant of

@ukemi
Copy link

ukemi commented Jul 27, 2018

At GO we require more specification of participants in biochemical reactions and processes. We need to be able to distinguish between the enzymes that catalyze reactions, the primary molecules that are the focus of a biosynthetic or catabolic pathway, cofactors, substrates, intermediates etc.

@cmungall cmungall added the discussion For discussion on RO calls or at RO meeting label Jul 31, 2018
@cmungall
Copy link
Contributor

cmungall commented Jul 31, 2018

(Note there is some previous discussion here #18, but that ticket looks ugly as it was imported from googlecode, I will close that one and update discussion here, see also #171 )

Historically we have divided reaction participation relations into 3 roles:

  • input
  • output
  • enabler/catalyst

NOTE: I suggest we restrict this ticket to discussion of input/output, otherwise the discussion will get confusing. Open a new ticket for agent/enabler or add to #171

input/output are both subtypes of "patient" roles in Barry's comment (we can use this terminology here amongst us for discussion, but this terminology should never be used in RO since everyone will assume "patient" has the lay interpretation).

This is sufficient for a biochemical database but when we want to represent processes tha t are the realizations of evolved functions we need more specific relations to be able to separate the "intended" inputs and outputs from cofactors or byproducts. This may map to Barry's 'principal' participant.

We have a separate ticket open for a 'has substrate' subproperty of participates in #230

@cmungall
Copy link
Contributor

cmungall commented Aug 1, 2018

Proposed schema for evolved processes. Evolved processes are either (1) the realization of a single function (2) a causally connected mereological sum of (1)s

The schema could be generalized to other processes arise from non-evolved functions such as building a house.
For simplicity this initial elucidation focuses on evolved processes (aka biological programs).

Subsubmption hierarchy (P = process, C = independent continuant, Q = quality)

  • enabled by (aka has agent) P->C
  • has participant P->C
    • modifies or consumes (aka has initial participant)
      • has input (aka has primary input)
        • has substrate
        • ...
      • has secondary input
    • produces (aka has terminal participant)
      • has output (aka has primary output)
      • has secondary output
    • has intermediate
  • process has state P->Q
  • process has initial state
    • process has input state
    • ...
  • process has terminal state
    • process has output state

Additional grouping relation not shown: acts upon

Notes

  • Note that has agent is not a sub-relation of has-participant. It is possible for the agent to "sit outside" or overlap the process.
  • I propose reserving the names "has input" and "has output" for a sense that is more restricted than some may be comfortable with

Definitions

has input

def: A relation between an evolved process P and an independent continuant C such that C participates in P and the objective of P is to change C,
either to destroy/consume it or to change one of more of the qualities inhering in C

Examples:

  • a ubiquitinated protein in a protein ubiquitination process
  • an embryo inside of a gravid organism in a birth process

has output

def: A relation between an evolved process P and an independent continuant C such that C participates in P and the objective of P is to bring into existence a C

Examples:

  • a deubiquitinated protein in a protein ubiquitination process
  • an neonate outside of a gravid organism in a birth process

modifies or consume

def: A relation between an evolved process P and an independent continuant C such that C participates in P and C is present at the start of P, and either
the state of C changes during P or C is consumed/destroyed

has secondary output

def: A relation between an evolved process P and an independent continuant C such that C modifies or consumes P and C is not the primary output of P

Examples:

acts upon

def: P acts upon C iff P has_input C and P has_output C

(trivially: the input and output are the same entity, albeit in a different state)

enabled by (aka has-agent)

elucidation: a relationship between P and C such that C directly causes P to happen.

Note: not every evolved process has an agent. Some processes will be the sum of multiple processes each with an agent.
For example, every step in a signaling pathway can be assigned an agent but the overall program need not have an agent.

TO BE DECIDED:

we may want to give this a definition of: P enabled by C iff C bearer of some F and F realizes P, but does this entail that C is a participant?
We want to reserve the right of the agent to be outside the process. If this is entailed, then the proposed def can be modified to include direct regulation.

  • an enzyme or macromolecular complex in a molecular reaction
  • a person driving a car

State/Quality Relations

These follow the same pattern as the `C relations above but allow us to be more precise, in stating the state of affairs at the start and end.

In fact the C relations should probably be defined in terms of the Q relations.

E.g.

  • P $qrel Q, Q inheres_in C => P $crel C

@dosumis
Copy link
Contributor

dosumis commented Aug 2, 2018 via email

@cmungall
Copy link
Contributor

cmungall commented Aug 2, 2018

Looks like input and output are switched here? Surely an input must exist before the process.

You're right. I edited my original comment to fix this.

(overlap sounds wrong here - if mereology should be P to P or C to C not P to C)

Correct. I lapsed into 4D-ism

@cmungall
Copy link
Contributor

cmungall commented Aug 2, 2018

I didn't mean to imply that the agent never participates, just that we may need to be flexible. But also open to being consistent and always considering the agent a participant by definition.

What is the relationship of the overall process to the agents that carry out its various steps? Are > they not agents of that process?

I think it is useful to restrict it this way, but there's nothing to stop up naming a relation has_part_with_agent <- has_part o agent (including the reflexive case, possibly with a friendlier name)

@vanaukenk
Copy link

I have the same concerns about excluding agents from participants; it seems counter-intuitive to say that gene products that enable a process (single-step function) are not participants in that process.

I am also wondering about the 'primary' vs 'secondary' input distinction and whether that distinction is preferred over just having more specific children of has_input.

Using protein ubiquitination as an example, could we describe the input ubiquitin with a relation like 'has_donor' and the protein that is ubiquitinated as 'has_acceptor' both of which would be children of has_input, or possibly even children of has_substrate?

@cmungall
Copy link
Contributor

cmungall commented Aug 3, 2018

OK, everyone seems to be in favor of inclusion for agent

Specific relations: this is certainly less ambiguous. And for those of us working with a tbox (ontology) we can take advantage of standard documentation in design patterns.

Some have objections to what are perceived as proliferating relations. These are largely mitigated if certain criteria are met (definition of relations, probably via a role hierarchy, documentation in DPs). Nevertheless it does incur additional costs in the form of cognitive burden of curators doing post-composition. It's not always straightforward to get around this with tooling.

@phismith
Copy link
Author

phismith commented Aug 4, 2018 via email

@mellybelly
Copy link

I think we need to ensure we allow a general participation relation. For example, I am a person that participates_in ICBO2018. I could have multiple roles that are realized in this context: 'workshop organizer role', 'presenter role', etc. I think this ICBO2018 may not be an an evolved process, and doesn't fit include either (1) the realization of a single function, or (2) a causally connected mereological sum of (1)s as the roles being realized are not causally connected. Is this still adherent under the current thinking?

Just want to make sure we don't lose the ability to use the participates_in relation in a general way, as it is often used for social structures and other contexts.

@LEHunter
Copy link

One possible solution to the problem of not being able to come up with a good definition for "enables" (or, relatedly, "agent") is to define its inverse. See geneontology/go-ontology#16264 which discusses a definition of a currency metabolite based on frequency of occurrence in different reactions. "Enabling" inputs are those that are not currency metabolites.

@nlharris
Copy link
Contributor

What is the status of this?

@nlharris nlharris added the GO Related to Gene Ontology (GO) label Oct 16, 2020
@nlharris
Copy link
Contributor

nlharris commented Jan 6, 2022

Are there still action items here or can we close this ticket?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion For discussion on RO calls or at RO meeting GO Related to Gene Ontology (GO)
Projects
None yet
Development

No branches or pull requests

8 participants