https://github.com/intermine/bluegenes-go-structure-network
https://github.com/intermine/bluegenes-go-structure-network
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/intermine/bluegenes-go-structure-network
- Owner: intermine
- License: mit
- Created: 2019-12-16T11:42:28.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-18T10:41:47.000Z (over 6 years ago)
- Last Synced: 2025-01-19T18:52:46.144Z (over 1 year ago)
- Size: 5.86 KB
- Stars: 0
- Watchers: 11
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bluegenes-go-structure-network
#### Show the relationships between GO terms that one or more genes are enriched for
This visualization should support both `id` and `ids`, for one or multiple genes.
It should have a filter panel similar to the one in [bluegenes-GO-term-visualizer](https://github.com/intermine/bluegenes-GO-term-visualizer/blob/master/preview.png), except with only the *Ontology* filter, so it can probably be made more compact.
Below the filter panel is the main visualization. The design is based on a graph generated by the InterMineR package, (but hopefully prettier!) which you can see by opening [this](https://github.com/intermine/interminer-workshop/blob/7925abb6206356c9d39a5b9cdf9678f678f3631f/Enrichment%20Analysis%20and%20Visualisations.ipynb) and scrolling down to **Go structure network**.
Using [imjs](https://github.com/intermine/imjs/) we can acquire the data required for this visualization by using the query (you'll have to translate this XML query to a JSON query used by `imjs`)
```
EXPIDAIPIIMPIGIIEPTASIC
```
where the **LOOKUP Gene value** (`2623,128` in this example) should be replaced with the object ID of one or multiple genes (passed from BlueGenes). This should return GO terms as results, which you pass on into the query,
```
GO:0005504GO:0008270GO:0051775GO:0018467GO:0005829GO:0009055GO:0006069GO:0051903
```
replacing the `GO:*` values with the ones you received from the previous query. Make sure to replace the **GOTerm.namespace constraint value** (`molecular_function` in this example) with the currently active *Ontology* filter. You should now get the parents for each GO term.
For an example of these queries at work, open the [InterMOD GO Tool](http://gointermod.apps.intermine.org/), deselect all *output species* other than *H. sapiens* and search for `ADH5`. Then select *Ontology Diagram* and then *Molecular Function* in the menu to the left. If you check your network panel, you can see the responses to these queries. (It would also be useful to copy the design of this *Ontology graph*, as it is much prettier than the InterMineR graph.)
Using this data, you can build a tree of all the GO terms and their parents, while marking the ontologies (GO terms returned by the first query) with their gene, similarly to how it's done in the InterMOD GO Tool. I think using [Cytoscape.js](https://js.cytoscape.org/) with [Dagre](https://github.com/cytoscape/cytoscape.js-dagre) would be suitable for this, although we welcome any other library (or DIY) which you feel may be more suitable.
Feel free to rename this file to `PLAN.md` once you have a proper `README.md`.