2016-08-16 10 views
0

現在のプロジェクトでは、> 300MBの.csvファイルで私に与えられた大規模なタンパク質 - タンパク質相互作用ネットワークを分析する必要があります。 グラフには5百万以上のエッジと数万のノードがあります。RAMの量が多い大規模なネットワーク/グラフを分析する方法

CytoscapeとGephiを使用してデータを読み込んで分析しようとしましたが、どちらもこのサイズのネットワークを処理できないようです。 ファイルをロードしようとした後にCytoscapeが数秒間クラッシュする間、Gephiはメモリ不足になるまで〜50%の負荷を管理します。 (はい、私は最大に-Xmxを設定しました)

私のPCには8GBのRAMがあります。

この時点で、私は自分自身に疑問を持ち始めました。一般的なネットワーク解析ソフトウェアでこのサイズのネットワークを分析することは可能ですか、自分でアルゴリズムを作成して調整する必要がありますか?または、あなたが知っているソフトウェアがありますか?

今のところ、私は必ずしもグラフの可視化を必要としないが、単純な中心性の測定など

私は本当に私の質問があまりにも非特異的ではありません願っています。

ありがとうございます!

答えて

0

Cytoscape.jsとCytoscapeデスクトップ(Java)の両方でヘッドレスモードがサポートされています。

Cytoscape.jsを直接Node.jsで使用し、そのAPIに直接アクセスできます。ちょうどrequire('cytoscape')とあなたは行き​​たいです。 Cytoscape.jsをNode.jsで無人で使用すると、はるかに安価なw.r.t.ビジュアライゼーションと比較して、CPU使用率とRAM。 Cytoscape.jsは、多くの種類の中心性計算をサポートしています。値を計算するのはAPI呼び出しの1つで、Node.js REPLで試してみると簡単です(JSONファイルを書き出すこともできます)。

CytoscapeデスクトップとCyRestを使ってヘッドレスで通信できます。つまり、HTTP/REST要求です。つまり、任意の言語で分析を行うことができますが、すべての作業は非同期であり、一定のシリアル化とデシリアライゼーションが必要です。 Cytoscapeのデスクトップ用のアプリを、ヘッドレスであれば書いてもいいと思います。

+0

お返事ありがとうございます@maxkfranz。 解決策を探しているうちに[SNAP] (http://snap.stanford.edu/)が見つかりました。これは、数十億のノードとエッジを持つ巨大なグラフやネットワークを分析するために開発されたC++/Pythonライブラリです。ネットワークプロパティを分析するためのいくつかのパッケージが付属しており、簡単にアクセス可能なデータ構造を提供します。 [gnuplot](http://www.gnuplot.info/)または[graphviz](http://www.graphviz.org/)を使用してプロットを作成することもできます。 私は、直接的な視覚化を必要とせずに、巨大なネットワーク上で単純な中心性分析を適用する必要があるため、私のニーズに完全に合っています。 –

+0

しかし、私はCytoscapeでSubnetworksを分析する予定です。したがって、Cytoscapeはヘッドレスモードをサポートしていることをうれしく思います! –

+0

@reg_istあなたにはうってつけのOSSがあります。 Cytoscapeのプロジェクトは、今後のプロジェクトでも心に留めておいてください。なぜなら、バイオのために特別に設計された機能がたくさんあるからです。 – maxkfranz

関連する問題