def test_edge_float_type(self): G = NdexGraph() n_a = G.add_new_node(name='A') n_b = G.add_new_node(name='B') n_c = G.add_new_node(name='C') n_d = G.add_new_node(name='D') e_1 = G.add_edge(n_a, n_b, 10, {'weight': 1.234}) e_2 = G.add_edge(n_a, n_c, 11, {'weight': 2.554}) e_3 = G.add_edge(n_a, n_d, 12, {'weight': 5.789}) e_4 = G.add_edge(n_b, n_c, 13, {'weight': 2.011}) e_5 = G.add_edge(n_b, n_d, 14, {'weight': 7.788}) print(json.dumps(G.to_cx())) G.upload_to('http://dev.ndexbio.org', 'scratch', 'scratch')
def nx_to_NdexGraph(G_nx, discard_null=True): """Converts a NetworkX into a NdexGraph object. Parameters ---------- G_nx : networkx.Graph Returns ------- ndex.networkn.NdexGraph """ G = NdexGraph() node_id = 0 node_dict = {} G.max_edge_id = 0 for node_name, node_attr in G_nx.nodes(data=True): if discard_null: node_attr = { k: v for k, v in node_attr.items() if not pd.isnull(v) } if 'name' in node_attr: #G.add_node(node_id, node_attr) G.add_node(node_id, **node_attr) else: #G.add_node(node_id, node_attr, name=node_name) G.add_node(node_id, name=node_name, **node_attr) node_dict[node_name] = node_id node_id += 1 for s, t, edge_attr in G_nx.edges(data=True): if discard_null: edge_attr = { k: v for k, v in edge_attr.items() if not pd.isnull(v) } G.add_edge(node_dict[s], node_dict[t], G.max_edge_id, edge_attr) G.max_edge_id += 1 if hasattr(G_nx, 'pos'): G.pos = {node_dict[a]: b for a, b in G_nx.pos.items()} # G.subnetwork_id = 1 # G.view_id = 1 return G