geneontology / noctua

Graph-based modeling environment for biology, including prototype editor and services
http://noctua.geneontology.org/
BSD 3-Clause "New" or "Revised" License
37 stars 13 forks source link

What is the current GO-CAM API algorithm for deciding if a model is "displayable" or not #757

Closed kltm closed 2 years ago

kltm commented 2 years ago

While we are waiting to complete https://github.com/geneontology/noctua/issues/746 , to help with debugging some issues, we wanted to clarify the details of the algorithm for displaying a model or not.

@sierra-moxon @dustine32

Tagging @pgaudet

sierra-moxon commented 2 years ago

@kltm I took a cursory look through the SPARQL queries used to (I think?) get the data. I have an example of a model that is shown (I'm assuming "displaying a model or not" is in reference to Alliance gene pages, right?), do you have an example model that is not shown? This would (might) help me track it down.

kltm commented 2 years ago

Cheers! I believe that "human TBK1" is such an example (http://noctua.geneontology.org/editor/graph/gomodel:5f46c3b700001407), with the expectation that it would be displayed (from @pgaudet ).

dustine32 commented 2 years ago

Here's the query that currently runs on the Alliance gene page.

Given a gene ID, it will return a model if:

  1. The model has a chain of at least three functions connected by at least two consecutive causal relation edges
  2. One of these functions is enabled_by this input gene

Just to clarify, a model containing one of these chains will not be returned if the query gene doesn't enable one of the "causal" functions.

@kltm Querying causal models for human genes like TBK1 from the Alliance site is tricky (i.e. doesn't work) right now because Noctua GO-CAM uses UniProt IDs for human and Alliance uses HGNC. This issue is described in SCRUM-1064.

kltm commented 2 years ago

@dustine32 Ah, interesting--thank you for the clarification!

kltm commented 2 years ago

I think we're good here?