This is a test version of Biostars. For the public version, visit https://www.biostars.org.
visulaization of several strings

Lets assume that i have 4 complexes (each line below presents one complex)

Q13439  Q9NV70  Q9UPN3                                                                                  
P21980  P12277                                                                                      
O43318  O15111  Q13748                                                                                  
P21980  P51178

I want to visualise it with VisAnt, is there anyone who has experience with it? I know there are plenty of web which one can use to visualise but all are based on physical info. For example in String , you cannot force it to show only the first 3 proteins as a complex and link it to the second one, but it just plot whatever likes based on previous knowledge

network proteomics

Given the discussion on my answer, I think the best would be that you post a new question in which you describe: 1) What is the actual data that you started from? I suspect it is a large-scale AP-MS study. 2) Which analysis steps you've already done to arrive at complexes? I assume you have run some clustering algorithm on some representation of the data. 3) What is the actual goal here? I guess it is to make a figure that gives an overview of the complete dataset as a network. The figures from other papers that you refer to cannot be made from this representation of the complexes alone. I thus think you got derailed somewhere along the way from the raw data to producing a figure.

1 answer

If I understand your question right, you want to visualize your own data as a network. In this case, you would clearly not want to use a web resource like STRING (of which I am one of the developers). Whereas STRING can show networks, it is first and foremost a database of functional interactions among proteins, and the purpose of the STRING network viewer is to allow the user to view the data from STRING as a network.

However, I think you are putting the cart before the horse by saying that you want to visualize your data in VisAnt, which says which tool you want to use rather than how you want your example data shown. What should be the nodes in your network? Is each protein a node? Or is each complex a node? What are the edges? If the proteins are nodes, do you want to represent each complex as a fully connected component (also known as matrix representation)? Or is this in fact pull-down data for which the first protein in each line is the bait (in which case the spoke representation would be more appropriate)? Or are the edges interactions among complexes rather than proteins?

Only once we know those things can we tell 1) which tool is best suited for the job (which might be Cytoscape instead of VisAnt) and 2) how to prepare the data to make the end result look the way you want.

Edit after answer to questions posted above

If you want to show each complex in a matrix representation, what you need to do is to turn your file of complexes into a file of binary interactions, i.e. a file in which each line represents an edge in your network. For your example, that would be:

Q13439  Q9NV70
Q13439  Q9UPN3
Q9NV70  Q9UPN3
P21980  P12277
O43318  O15111
O43318  Q13748
O15111  Q13748
P21980  P51178

To do this, I would write a simple AWK script, but it could be done easily in any scripting language.

Once you have the file, you can simply load the network into Cytoscape using the File->Import->Network->File... menu point. You can probably load the same file into VisAnt or other network viewers, but I am not familiar with them. After that you will almost certainly want to load in some mapping between UniProt accession numbers to label, e.g., P21980 as TGM2 in the your visualization.

@Lars Juhl Jensen To be honest, The FIRST time in this website I received and or read a comment which showed a lot of information in it. So thank you so much for being so great !! Come up with your questions/clarification which I think are logical. I would like to represent my data like you said as "the proteins are nodes, and having each complex as a fully connected component"

@Lars Juhl Jensen thanks again for your edit. I don't need programming and I can do that myself. I only need to know the structure of the input. I used your example in a textwranglerand save it as data.txtthen as you said File->Import->Network->File what should I set as Source nodeand interaction type and target nodeI selected the first proteins IDs as Source node and the last one as target node, Also could you please explain me how I can do this "After that you will almost certainly want to load in some mapping between UniProt accession numbers to label, e.g., P21980 as TGM2 in the your visualization"

Just choose one protein as source and the other as target. Which column is which only affects the direction of the edges, which is irrelevant for an undirected network like yours. You don't need to specify an interaction type, since that is only relevant for networks in which you have more than one type (e.g. activation and inhibition). If you produce a file that has the UniProt accession number in one column and the desired display name (probably HGNC gene symbol) in another, you can load this onto the network using File->Import->Table->File.... After that, you can change the node style property "Label" to be the new gene symbols.

The table import functionality is also how you would import any other data that you want to visualize onto nodes, e.g. if you want to color the nodes based on whether the proteins are up or down regulated under some condition.

@Lars Juhl Jensen I have added the steps I followed above. The last one , I could not find where I must change the node style from label to the gene Symbols. I did like this under the control panel, propertiesand then I tried to change the label but I could not

@Lars Juhl Jensen I also found that in VisAnt it is more complicated than this data table. Can you please have a look and let me know your opinion about this xlm file? for example any suggestion about how to make it? http://visant.bu.edu/sample/nbio_figures.htm

@Lars Juhl Jensen great! thanks, would it also be possible to have a look at this example http://visant.bu.edu/sample/nbio_figures.htm the section The network of protein complexes it seems to have a completely different structure. How do you think I can make a similar xlm file from the example above?

That is an entirely different network representation: each node is a complex rather than a protein, and the edges are based on shared proteins. In other words, each line in your original file is a node, and the edges would be based on the same protein appearing in more than one line. I don't know if the latter is even the case in your data; it would depend on how you created the complexes in the first place.

@Lars Juhl Jensen Look at this Network generated by Cytoscape http://human.med.utoronto.ca/php/data_download.php , do you think they are represented each complex as a node? my experiment was similar to this work and I want to make similar network like they did

No, in that network each node is a protein.

@Lars Juhl Jensen how do you see that? also would it be possible to give me an idea how to make like (my mean which information I need to do this? by the way, I liked your answer and every single comment you gave

I just downloaded the Cytoscape session file (.cys), opened it in Cytoscape and looked at the node table. From the data there, it was obvious (each line had a protein identifier, a name, a description of the protein etc.).

@Lars Juhl Jensen My last question I promise :-) how can i involve the edge table ? my mean they showed connection between each complex , no? how can I add that ?

It's a case of "you can't get there from here". They show interactions among proteins, both within complexes and between complexes. In your data representation, you only know which proteins are in a complex together. The edges between proteins in different complexes have been thrown away earlier in your analysis.

@Lars Juhl Jensen I believe your answer gives me a good solution but one problem which I have been busy with it and could not solve it. How can I assign a random color to each complex ? in cytoscape ? is it possible ? because it colours it all the same

You need to give all proteins a property that specifies which cluster they belong (e.g. a simple enumeration of the clusters). You can either do by producing a file with that information and using the import table functionality, or you can run a clustering algorithm via the clusterMaker app. Once you have a cluster property for each protein, you can make the node fill color a discrete map of that property. You can either select the color for each cluster manually, or right-click Discrete Mapping and using a mapping value generator.

@Lars Juhl Jensen

I did as you said which did not work properly. Note that if I use ClusterMaker, none of the function works for it. how would you do that ? Here what I did. all those in different cluster i assigned to different numbers. for example

1
1
1
2
2
2
3
3

Then I went to style and then nodeand then fill color I selected the columnas the name of added property and then the mapping typeto Discrete mapping which shows 1, 2 3 there the color, if i click on any of those numbers and change the color, it also change the color for the rest so they stay together. Then I must right click one by one and then edit then edit selected discrete mappingthen i select a color for it. but if I have over 1000 cluster, it is a pain, No ?

However, I made a new question how can make random color in cytoscape because I think it is a different question

I think you missed the last part of my reply: right-click Discrete Mapping and using a mapping value generator. That is how you avoid having to specify 1000 colors manually.

Log in to answer this question.