pombase / website

PomBase website v2
MIT License
6 stars 1 forks source link

embedding cytoscape instead of EsyN #293

Open ValWood opened 7 years ago

ValWood commented 7 years ago

So this is the "killer app" for annotation extensions. It will enable us to build networks. EsyN is great for network building, but we only really need to connect nodes with edges (with better labels) , we also don't need the full esyN editing functionality (we can point users to esyN here if they do beed to do this).

So here is what happens at present.

  1. We create the files for the connections from the GO data

https://curation.pombase.org/dumps/latest_build/exports/ pombase-go-substrates.tsv.gz pombase-go-physical-interactions.tsv.gz

pombase-go-substrates.tsv.gz is all of the protein kinase A has substrate B, so here we draw -> (the arrowhead is not very visible in the current version)

pombase-go-physical-interactions.tsv.gz contains high confidence interaction data and here we just join with a line (direct protein protein interaction)

WE also use the annotated complex file from here: ftp://ftp.ebi.ac.uk/pub/databases/pombase/pombe/Complexes/ which is plotted with all against all , so complexes look like this

like this

this is currently implemented for every slim process term

ValWood commented 7 years ago

We want to do something similar using (the same) cytoscape plug in. Ideally for every process (maybe for every process which had more than 3 genes assigned)

New things if possible:

We can probably do lots more cool stuff later but this would be a great start.

ValWood commented 7 years ago

I guess this is what we need? http://js.cytoscape.org/

ValWood commented 7 years ago

You have probably used already at Intermine?

ValWood commented 7 years ago

Of course as you will be generating the interactions directly the files may not need to be generated at all.....

So this is just a heads up to either extend the download file, or include this additional relations.

kimrutherford commented 7 years ago

You have probably used already at Intermine?

Unfortunately not. We played around with it while I was there but I didn't do any implementing. I'll have a read to see have tricky it is.

I guess this is what we need? http://js.cytoscape.org/

Yep, looks useful.

ValWood commented 1 year ago

ping

kimrutherford commented 1 year ago

Hi Val.

I've had a look into Cytoscape. I think it will be straightforward to get it up and running because the documentation and examples are very good. Getting the networks right will take a bit of work though.

I'm guessing it will take me maybe a week with lots of input from you to get it in a state that's good enough to release.

ValWood commented 1 year ago

Sounds good. we can chat about it soon. Also its the sort of think that will be useful iteratively. we can get it up and running and then improve it.

ValWood commented 7 months ago

This is essentially what we discussed today.

kimrutherford commented 1 month ago

We decided on a recent call that we'll go through EsyN interface together soon and start making notes about what features from EsyN are needed in a replacement.

kimrutherford commented 1 month ago

I've spent some time looking at how to use Cytoscape. I don't think we'll have any problem with it. It's quite straightforward and well documented. There seems to be an option for everything and all sorts of things are possible: https://js.cytoscape.org/#demos There are a bunch of extensions too if we want to get fancy: https://js.cytoscape.org/#extensions/ui-extensions

Probably I'll spend less time on the Cytoscape side of things and more time creating a stand-alone re-usable component. I haven't done that before so I have some study ahead of me.

I've also had a look at how esyN does things. I've learnt a lot from the code.

As far as I can tell, the only Cytoscape extension used by esyN is this one to add the small overview widget at the bottom left of the page esyN page: https://github.com/cytoscape/cytoscape.js-navigator

WE also use the annotated complex file from here: ftp://ftp.ebi.ac.uk/pub/databases/pombase/pombe/Complexes/

That directory is gone now.

Is it this file that ezyN uses?: https://pombase.org/data/annotations/Gene_ontology/GO_complexes/Complex_annotation.tsv

kimrutherford commented 1 month ago

@ValWood I'm going to add questions here as I think of them. Please ignore them until after your holiday. :-)

kimrutherford commented 1 month ago

Would it be useful to be able to send any gene list (results from a query for example) to this tool? A bit like QuiLT? Was that what you were thinking of?

I've now re-read your Google Doc about an esyN replacement and I see that you have that covered in the section "Desired features for a generic website embeddable widget"

When you're back, I have questions about almost all the items in that list. :-)

In the meantime I've refactored the code that generates the complexes TSV file. The same code can now provide the data about complexes needed for an esyN replacement.


Edit: some information here:

kimrutherford commented 1 month ago

https://pombase.org/data/annotations/Gene_ontology/GO_complexes/Complex_annotation.tsv

The contents of that file are based on annotations to "protein-containing complex" (GO:0032991).

For writing the complex IDs to the GPI file we are using Complex Portal data:

Perhaps we need to align these two sets of data better?

kimrutherford commented 4 days ago

When we switch to the replacement we need to update the text and links here: https://www.pombase.org/browse-curation/fission-yeast-bp-go-slim-terms

And updated the docs page: https://www.pombase.org/documentation/high-confidence-physical-interaction-network