pombase / website

PomBase website v2
MIT License
6 stars 1 forks source link

implement GO-CAM Alliance Web widget #2169

Closed ValWood closed 3 months ago

ValWood commented 5 months ago

So far, we have 1 production model for testing. Should be more soon. http://noctua.geneontology.org/workbench/noctua-visual-pathway-editor/?model_id=gomodel%3A66187e4700001573

code https://github.com/geneontology/wc-gocam-viz

kimrutherford commented 5 months ago

Is this instead of esyN?

ValWood commented 5 months ago

Kind of. esyN was more of a 'precursor' but the functionality would still be useful (the uses are slightly overlapping) can chat about it...

kimrutherford commented 5 months ago

Prototype!

https://desktop.kmr.nz/gene/SPBC2F12.08c

image

ValWood commented 5 months ago

Amazing!!!!!!!!!!

pgaudet commented 5 months ago

That was incredibly fast!!!

ValWood commented 5 months ago

CC @PCarme

kimrutherford commented 5 months ago

Now available on the dev site: http://dev.pombase.kmr.nz/gene/SPAC644.04

Unfortunately it isn't working because of a problem with the API it uses. The Alliance gene page uses the same API and so the GO-CAM is not loading there either. I'll report that.

https://www.alliancegenome.org/gene/FB:FBgn0003731#pathways

ValWood commented 5 months ago

That might be because of the Noctua outage for updating. That doesn't seem to be a good way to do things if all the GO-CAM views totally disappear. Most resources would update and switch the data rather than update the live version. @pgaudet, do you know if there is a long-term plan to reduce Notua release downtime? This could be very frustrating for users.

pgaudet commented 5 months ago

Yes, Seth would like to implement the Noctua back-end in such a way that we can do 'hot' updates. This will take a little while though, many parts need changing.

kimrutherford commented 5 months ago

That might be because of the Noctua outage for updating.

Maybe, but it looks like a separate API just for the Alliance. It came back online while Noctua was still down for maintenance. So maybe just a coincidence?

ValWood commented 5 months ago

Don't all the APIs plug into the Noctua database though?

kimrutherford commented 5 months ago

Don't all the APIs plug into the Noctua database though?

It doesn't seem that way. The Alliance have their own separate system.

I've committed the changes I made on the call. The dev gene pages will look like this in 30 minutes from now.

image

ValWood commented 5 months ago

nice!

kimrutherford commented 5 months ago

The two other pathways are on the dev site now.

http://dev.pombase.kmr.nz/gene/SPAC24B11.11c http://dev.pombase.kmr.nz/gene/SPAC21E11.03c

image

ValWood commented 5 months ago

Fantastic!

kimrutherford commented 5 months ago

Currently we're storing the gene ID to GO-CAM ID mapping is a manually updated file:

pombe-embl/supporting_files/production_gocam_id_mapping.tsv

We should switch to using the API to find pombe GO-CAMs: https://app.swaggerhub.com/apis-docs/geneontology/gosparql/2.2#/Users/get_users__orcid__models

We'll need to wait for the pombe models to be available via the API.

If there's always going to be a lag we might need to keep using the SVN file as a supplement. There's no problem using both.

ValWood commented 5 months ago

Is it out of action? The GOCAMs don't load right now but other widgets do.

BTW I made another pathway production at the weekend http://noctua.geneontology.org/workbench/noctua-visual-pathway-editor/?model_id=gomodel%3A662af8fa00000408 it needs extending, but the part that is there is correct (I was checking to see if would appear automatically)

ValWood commented 5 months ago

ignore, it was slow

kimrutherford commented 5 months ago

I made another pathway production at the weekend

OK, I've added that to the mapping file. It should be on the gene pages in the morning.

ValWood commented 5 months ago

OK, sorry I should have twigged that. I will add to the mapping file once in production.

kimrutherford commented 5 months ago

I just checked and we already have two genes with more than one GO-CAM

are both in both these models:

so we need a way to select which model to view on the gene page.

Also I think it makes sense to have a "Show larger view" link to show a dedicated page for the widget, like we do for protein features.

kimrutherford commented 5 months ago

Also I think it makes sense to have a "Show larger view" link to show a dedicated page for the widget, like we do for protein features.

Now I've though about it, there's a bit of a difference. For the protein features we need a larger view page for each gene but we'll just need a single page for each GO-CAM. I'm working on that today.

ValWood commented 5 months ago

Good idea!

kimrutherford commented 5 months ago

Also I think it makes sense to have a "Show larger view" link to show a dedicated page for the widget, like we do for protein features.

Prototype here: https://desktop.kmr.nz/gene/SPBC2F12.08c

image

image

ValWood commented 5 months ago

Nice!

kimrutherford commented 5 months ago

The current prototype is on the dev site: http://dev.pombase.kmr.nz/gene/SPBC29B5.01

image

I'm working on replacing the GO-CAM IDs in the selector with model titles so that it's more friendly. Hopefully we can use the GO API to retrieve the titles and other details.

We should also add an info icon and maybe a link to the GO-CAM docs: https://geneontology.org/docs/gocam-overview/

PCarme commented 5 months ago

I just noticed that interactions of type "indirectly positively/negatively regulates" are not rendered in the widget, just like "constitutively upstream" links.

image

ValWood commented 5 months ago

Its the same here too http://noctua.geneontology.org/workbench/noctua-alliance-pathway-preview/?model_id=gomodel%3A66187e4700001781

so its an upstream problem. Can you report it here: https://github.com/geneontology/noctua/issues thanks,

kimrutherford commented 4 months ago

We should add a link to a help/documentation page and maybe a one-line description above the diagram, for clarity.

kimrutherford commented 4 months ago

I've changed the icon. I didn't like the previous version:

image

ValWood commented 4 months ago

I don't think it needs much of a description. Maybe

change GO-CAM model 66187e4700003150 to GO-CAM pathway model for:

and the process will be in the deader underneath. We can link "GO-CAM" to our internal documentation which will link out to the broader GO documentation.

I will write a draft for that.

ValWood commented 4 months ago

Draft documentation

GO-CAMs, or Gene Ontology Causal Activity Models, are a framework within the Gene Ontology (GO) project that aims to represent complex biological processes in a structured, formal, and computable manner. GO-CAMs extend the traditional GO annotations by incorporating causal relationships between activities (e.g., molecular functions) and linking them to biological processes and cellular components. This allows for the representation of how gene products interact and function in a biological context. This involves specifying the entities (genes, proteins, etc.), their activities, and the causal relationships between them. GO-CAMs are represented as graphs where nodes represent molecular activities and edges represent causal relationships. This graphical representation enables the capture of complex interactions and pathways.

At PomBAse, we have begun representing biological pathways as GO-CM Models and displaying them on the relevant gene and process pages.

Pathways with production GO-CAM models in GO-CAM <LINK to a list of production models , this could be added later>

For further information see the Gene Ontology GO-CAM overview https://geneontology.org/docs/gocam-overview/ documentation.

kimrutherford commented 4 months ago

change GO-CAM model 66187e4700003150 to GO-CAM pathway model for:

We'll need to allow for the ID (66187e4700003150) for now because some genes are in multiple pathways so the ID is a drop-down.

kimrutherford commented 4 months ago

<LINK to a list of production models , this could be added later>

Would that be a link to Noctua? It's not very user friendly? I've reported a bug in linking to a list of production models:

Maybe we could have a table of models on the documentation page? It could be automatically generated.

ValWood commented 4 months ago

I agree, I was thinking we could maintain a local list

kimrutherford commented 4 months ago

I've added the draft documentation and a link to it from the top of the widget:

ValWood commented 4 months ago

Looks good.

slightly rev ised text:

GO-CAMs, or Gene Ontology Causal Activity Models, are a framework within the Gene Ontology (GO) project that aims to represent complex biological processes in a structured, formal, and computable manner. GO-CAMs extend the traditional GO annotations by incorporating causal relationships between activities (e.g., molecular functions) and linking them to biological processes and cellular components. This approach allows for a detailed representation of how gene products interact and function within a biological context. GO-CAMs involve specifying entities such as genes and proteins, their activities, and the causal relationships between them. These models are represented as graphs, where nodes depict molecular activities and edges denote causal relationships. This graphical representation captures complex interactions and pathways, providing a comprehensive view of biological processes.

kimrutherford commented 4 months ago

Thanks, I've put that text in.

kimrutherford commented 4 months ago

We could consider linking to the model at Amigo: https://amigo.geneontology.org/amigo/model/66187e4700001781 from the larger view page.

kimrutherford commented 4 months ago

Maybe we could have a table of models on the documentation page? It could be automatically generated.

I've had a first attempt at this. The table is generated from the data in Chado. As you can see, there is some missing information that needs to be added.

http://dev.pombase.kmr.nz/documentation/go-cam-pathway-models

image

ValWood commented 4 months ago

Let's discuss on Tuesday. I think we need to include the title of the model.

For example 662af8fa00000499 |soprenoid biosynthetic process ergosterol biosynthetic process

for this the model title is "ergosterol biosynthetic process" (soprenoid biosynthetic process is included because isoprenoids are a precursor to ergosterol)

and for silent heterochromatin formation model some of the other processes like "siRNA-independent heterochromatin formation" are sub-processes which are part of "heterochromatin formation, but cannot have this parentage in the ontology because it isn't always true are 'sub processes'

...although looking at the current model these have changed, because we are refining the existing annotations as we go. The differences are due to a synchronization issue.

I guess we need to wait until the Noctua update to see these revisions...

but it needs to be clear what the overall model is.

kimrutherford commented 4 months ago

I think we need to include the title of the model.

I'll add the titles once they're available from GO. We're waiting on API bug fixes.

ValWood commented 4 months ago

We could consider linking to the model at Amigo:

yep

kimrutherford commented 3 months ago

I've moved the comments about the GO-CAM table in the docs to:

I forgot we had a separate issue for it.

kimrutherford commented 3 months ago

From tomorrow, the selector will show the model titles. Something like this:


image


image

kimrutherford commented 3 months ago

From tomorrow, the selector will show the model titles. Something like this:

Here's some examples:

http://dev.pombase.kmr.nz/gene/SPAC664.01c http://dev.pombase.kmr.nz/term/GO:0140719

ValWood commented 3 months ago

I think we can close this ticket, and open new tickets for any changes?

kimrutherford commented 3 months ago

I think we can close this ticket, and open new tickets for any changes?

I looked back through the comments and noticed that I haven't done this:

We could consider linking to the model at Amigo:

I'll add that then close the issue.

kimrutherford commented 3 months ago

We could consider linking to the model at Amigo:

I'll add that then close the issue.

That's done now and will be on the dev site in 20 minutes or so.