计算无向网络的一般拓扑重叠矩阵
gtom的Python项目详细描述
此包采用无向的未加权scipy.sparse邻接 矩阵作为输入,使用m+1步计算gtom(m)方法 邻居(1)。它是高效的,可用于并行 一次只为几个节点调用函数进行计算。
(1)*Gene network interconnectedness and the generalized topological overlap measure*, A.M.Yip和S.Horvath,BMC生物信息学2007 8:22
安装
$ pip install gtom
示例
重新创建技术报告[1]图3中的面板A和C:
#!pythonimportmatplotlib.pyplotasplimportnetworkxasnxfromgtomimportgtomimportscipy.sparseassprsimportnumpyasnpedges=[(0,1),(1,2),(0,3),(0,4),(0,5),(0,7),(1,3),(1,4),(1,6),(1,8),(1,9),(1,10),(5,6),(7,8)]G=nx.Graph()G.add_edges_from(edges)pos=nx.spring_layout(G)labels={n:str(n+1)forninG.nodes()}nx.draw(G,pos=pos)nx.draw_networkx_labels(G,pos=pos,labels=labels)N=G.number_of_nodes()edges=np.array(edges,dtype=int)A=sprs.csc_matrix((np.ones((edges.shape[0],)),(edges[:,0],edges[:,1])),dtype=float,shape=(N,N))A+=A.Tprint("recreate results from figure 3 in [1]")print(" |\t(i,j)=(1,2)\t(i,j)=(1,3)\t(i,j)=(2,3)")print("---------------------------------------------------------")forminrange(3):T=gtom(A,m)print(" m = %d |\t%f\t%f\t%f"%(m,T[0,1],T[0,2],T[1,2]))pl.show()