This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Visualizing (Your Own) Protein-Protein (Or Gene-Gene) Interactions

So we have a bunch of experimental data on blood proteins/metabolites and we'd like to view the strength of interactions between these points. Each value is a number from -1 to 1 (Spearman's correlation) like this:

Marker    Ckine    AFP    Aldose
Ckine    1.00    0.13    0.30
AFP        0.13    1.00    0.12
Aldose    0.30    0.12    1.00

My question is: how do I visualize the interactions between our own data in a manner like STRING permits ( http://yfrog.com/h2ch9qp ), a spirograph ( http://www.nature.com/ng/journal/v41/n12/fig_tab/ng.479_F2.html ), or some other means which can take into account my own weighting?

Thanks, Rx @delahar

visualization protein interaction

4 answers

Have you tried the wonderful cytoscape? www.cytoscape.org I've only used v2.x, but you can introduce your scores as edgeweights for use in edge-weighted layouts; I believe that v3 (beta?) is now available. Or indeed, you could introduce the scores as edge-colours Kind regards, Russ

Hi Russ, aside from the small amount of data formatting cytoscape requires, it looks like the perfect platform designed just for what I'm trying to accomplish. Thanks for turning me on to this.

No problem, I used to be a Csc junkie. So long as you can convert the data into sourceNodettargetNodetscore it will be easy to import. Watch out for reciprocated edges if they're something you don't want (that is, the edge A<->B and the edge B<->A may both be represented in cytoscape, if you naively convert your matrix to tha above format, which doubles the size of your network without adding any additional value).

I reckon the thickness (or joint with color) of edges (interactions) between nodes (genes or proteins) could be a good visual representation of your data. Cytoscape or CytoscapeWeb are among the popular tools.

If you're in R (or Python) igraph will do this easily and programmatically

I would use awk/perl to parse the file and generate a GEXF file for http://gephi.org/

e.g; (not tested)


<gexf xmlns="&lt;a href=" http:="" www.gexf.net="" 1.2draft"="" rel="nofollow">http://www.gexf.net/1.2draft" version="1.2">
    <meta>
        <creator>Gexf.net</creator>
        <description>test</description>
    </meta>
    <graph mode="static" defaultedgetype="directed">
        <nodes>
            <node id="iCkine" label="Ckine"/>
            <node id="iAFP" label="AFP"/>
            <node id="iAldose" label="Aldose"/>
        </nodes>
        <edges>
            <edge id="1" source="iCkine" target="iAFP" weight="0.13"/>
            <edge id="2" source="iCkine" target="iAldose" weight="0.30"/>
            <edge id="3" source="iAFP" target="iAldose" weight="0.12"/>
        </edges>
    </graph>
</gexf>

Log in to answer this question.