ラベル cytoscape の投稿を表示しています。 すべての投稿を表示
ラベル cytoscape の投稿を表示しています。 すべての投稿を表示

2012年2月18日土曜日

Cytoscapeであそぶ

wikipediaの複雑ネットワークに載っていたランダムネットワークがかっこよくみえたので同じような図をつくってみました.

作り方あってるかな・・・

キャプション通りにCytoscapeのRandomNetworksプラグインを利用する.

プラグインが見当たらない場合は[Manage Plugins]からインストールすること.


RandomNetworksプラグインを起動する.

[Plugins]>[Random Networks]>[Generate Random Network]を選択する.

Barabasi-Albert Modelを選択して[Next].

ノード数に「1000」と入力して,[Generate]ボタンをクリック.


ランダムネットワークが生成された.


適当にレイアウトする.


Network Analysisプラグインを起動して,


ノードサイズを入次数と対応させる.


それっぽくなってきた.(ノード数が多いけど)



あとは色づけして完成.


部分的に拡大するとこんな感じ.



かっこいいだけじゃなくて,ちゃんと勉強しなきゃね.

今日は息抜きということで.


2011年12月1日木曜日

R + igraph + Cytoscape


まずはR+igraphでネットワークグラフを作成する.

> library(igraph)
> d<-matrix(c(0,0,1,1,1 ,0,1,1,0,2,0,3,1,0,1,6,0,0,0,2,1,8,5,2,0),ncol=5,nrow=5)
> ls()
[1] "d"
> d
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0    0    6    1
[2,]    0    1    3    0    8
[3,]    1    1    1    0    5
[4,]    1    0    0    0    2
[5,]    1    2    1    2    0
> g<-graph.adjacency(d,weighted=TRUE)
> summary(g)
Vertices: 5
Edges: 15
Directed: TRUE
No graph attributes.
No vertex attributes.
Edge attributes: weight.
> degree(g)
[1] 5 6 7 4 8
> png("c:/tmp/myplot.png",width=600, height=600,pointsize=14)
> plot(g,layout=layout.fruchterman.reingold,vertex.label=V(g)$smr,vertex.size=degree(g)*4)
> dev.off()
null device
          1
なかなか,いい感じ.

つぎはCytoscape(http://www.cytoscape.org/)を使って描画してみる.

まずは,Rからグラフをエキスポートする.

このときファイルタイプとして”ncol”を指定するのを忘れずに!

> write.graph(g,"c:/tmp/mygraph.ncol","ncol")



Cytoscapeを起動して[File]>[Import]>[Network from Table(Text/MS Excel...)]を選択する.

先ほどエキスポートした「c:/tmp/mygraph.ncol」を読み込む.

[Source Interaction]に「Column 1」,[Interaction Type]に「Column 3」,[Target Interaction]に「Column 2」を設定する.


[Import]ボタンをクリックする.

これでグラフをインポートできた.

あとはCytoscpae上でグラフを色々と見やすくしてやればいい.