Cytoscape: Advice on best analysis methods for PPI network
2
1
Entering edit mode
27 days ago
Haley ▴ 10

Hello there!

We are working on our first protein interaction network analyses and would like to know if there is a program/plugin available that will spatially arrange (cluster) nodes based on significant GO terms. We have found packages that arrange things in rows or color-code nodes based on GO, but so far it has always then required manual intervention to drag the nodes out into clusters and arrange shared nodes in between, etc. We want to examine some fairly large networks that will likely have several clusters, so it would be really helpful if the clustering was automated and allowed us to choose specific parent/child GO terms to cluster by from a list. Basically, we want to enrich our protein-protein interaction network with the GO terms represented in the network and, instead of looking at all of the GO terms represented, we want to find a way to ‘move up the tree’ to examine the less-specific GO terms to get a general idea of what our proteins of interest are associated with. For example, if we see there is an enrichment of GO terms related to cell division, is there an automated way to visually separate out the nodes in the network after selecting that GO term from a list? Are there any programs or Cytoscape plugins that can do this? We are new to this type of analysis so any advice would be greatly appreciated.

Thanks so much for your help!

Haley

ontology network gene PPI cytoscape • 238 views
ADD COMMENT
0
Entering edit mode

Im might be wrong. I am still new in this stuff (3 month new!).

I stumble on this issue also during my play around with cytoscape in trying to learn bioinformatic stuff.

What I did was:- 1) Obtained list of genes ID. 2) Enriched GO term using DAVID. (DAVID produce a table with GO terms with its respective genes ID). 3) Using R and DAVID table, assigned ID to each GO term (I just number each GO term 1-200 if you have 200 GO term), seperate genes from the DAVID table while preserving their GO term and GO term ID. 4) Same list of genes ID, obtained PPI using StringApp. 5) Load PPI into cytoscape, Load table in no.3 into cytoscape matching gene ID. 6) Now each of your PPI nodes have GO term assigned, and GO term ID assigned. 7) I forgot what Cytoscape app I used, but I just select GO term ID I want to see, and it clustered that ID while preserving the PPI network.

Not sure this help or I understand the question correctly. Like I said, I am new here, but the question looks similar to what I am having trouble with.

I will be really interested to know on how you going to explore your results by using you network overview analysis.

ADD REPLY
1
Entering edit mode
20 days ago
Scooter ▴ 40

Hello again!

Others in BioStars might have some ideas, but for completeness, here is what I answered on the helpdesk:

Hi Haley, There are really two questions here. First, how do you assign a single GO term to a cluster (or list of nodes) and, second, once you've assigned a single GO term, how do you visualize it as a separate cluster. You can use clusterMaker to do the second part, but I don't know of an automated way to assign a single GO term to a protein in a PPI. One suggestion that's a little manual would be do your enrichment and select all of the proteins with the term that you want and then manually apply that term to a column. You don't say what you are using for your enrichment. If you are using the stringApp, that's pretty easy. Other apps might be more difficult.

-- scooter

ADD COMMENT
0
Entering edit mode
20 days ago

There's no good way to associate a protein with only one term. The most straightforward way would be to reduce the ontology to a list of terms of interest and assign terms from this list to proteins. A potential way forward that side-steps this issue could be to compute a semantic similarity between the proteins using their GO annotations. You can then either use this alone as a graph adjacency matrix or combine it with the interaction graph (using the semantic similarities as weights of the interaction graph) depending on whether the clusters you want to identify should reflect only the functions or the combination of interactions and functions. From there you can apply a graph clustering algorithm or use semi-supervised or supervised approaches to identify groups of interest.

ADD COMMENT

Login before adding your answer.

Traffic: 2377 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6