0

説明書を見ましたが、完全には理解できませんでした。

3列の巨大なファイルがあり、node1はノード2に一定の強度でヒットします。この多くのクラスターから NetworkX によって生成され、これは完全に機能します。ただし、これらのファイルを cytoscape などにロードすることはできないため、すべてのクラスターを個別のファイルに書き込む必要があります。

私は試した:

for n in G: nx.write_weighted_edgelist(G[n], 'test'+str(count))

または、G.number_of_nodes/edges、G.graph.keys()、dir(G) を調べましたが、これは私が望む結果にはなりません。

すべてのクラスターを強度で別々に保存する方法はありますか?

Clusters = nx.connected_components(G) を使用すると、クラスターを取得できますが、すべての接続情報が失われます。

    for n,nbrs in G.adjacency_iter():
            for nbr,eattr in nbrs.items():
                    data=eattr['weight']
                    if data < 2:  
                            print('(%s, %s, %s)' % (n,nbr,data))

空の行でそれを使用する場合、それらは別のクラスターであると思います。

##########解決
    Clusters = nx.connected_components(G)
    for Cluster in Clusters:
            count = count + 1
            cfile = open("tmp/Cluster_"+str(count)+".clus","w")
            for C in Cluster:
                    hit = G[C]
                    for h in hit:
                            cfile.write('\t'.join([str(C),str(h),str(hit[h].values()[0]),"\n"]))
4

1 に答える 1

2

graph = nx.connected_component_subgraphs() を使用してみてください。これにより、サイトスケープで機能する形式で個別に作成できるグラフのリストが返されます。

于 2012-10-25T16:39:06.720 に答える