__author__ = 'aarongary' from nicecxModel.NiceCXNetwork import NiceCXNetwork niceCx = NiceCXNetwork() #================================ # Load network from ndex server #================================ niceCx.create_from_server('public.ndexbio.org', None, None, 'dfba0dfb-6192-11e5-8ac5-06603eb7f303') #============================= # convert to pandas dataframe #============================= my_pd = niceCx.to_pandas_dataframe() #===================== # Export to csv file #===================== my_pd.to_csv('CXExport.csv', sep=',') print('Done')
def test_nice_cx_model(self): niceCx = NiceCXNetwork() #main_map = NdexGraph(server='http://dev2.ndexbio.org', username='******', password='******', uuid='7246d8cf-c644-11e6-b48c-0660b7976219') uuid = '6b968fd2-02a4-11e6-b550-06603eb7f303' #==================== # NETWORK QUERY #==================== networkQuery = NetworkQuery() networkQuery.query_network('40f1def0-3aa4-11e7-b12f-0660b7976219', 'HSPA5,HSPA4') my_na = NodeAttributesElement( subnetwork=1, property_of=11, name=22, values=33, type=ATTRIBUTE_DATA_TYPE.convert_to_data_type('string')) #==================== # NETWORK ATTRIBUTES #==================== #objects = ijson.items(urlopen('http://dev2.ndexbio.org/v2/network/' + uuid + '/aspect/nodes'), 'item') objects = loadAspect('networkAttributes') obj_items = (o for o in objects) for network_item in obj_items: add_this_network_attribute = NetworkAttributesElement( cx_fragment=network_item) niceCx.add_network_attribute(add_this_network_attribute) #=================== # NODES #=================== #objects = ijson.items(urlopen('http://dev2.ndexbio.org/v2/network/' + uuid + '/aspect/nodes'), 'item') objects = loadAspect('nodes') obj_items = (o for o in objects) for node_item in obj_items: add_this_node = NodeElement(json_obj=node_item) niceCx.create_node(add_this_node) #=================== # EDGES #=================== #objects = ijson.items(urlopen('http://dev2.ndexbio.org/v2/network/' + uuid + '/aspect/edges'), 'item') objects = loadAspect('edges') obj_items = (o for o in objects) for edge_item in obj_items: add_this_edge = EdgeElement(json_obj=edge_item) niceCx.create_edge(add_this_edge) #=================== # NODE ATTRIBUTES #=================== #objects = ijson.items(urlopen('http://dev2.ndexbio.org/v2/network/' + uuid + '/aspect/nodeAttributes'), 'item') objects = loadAspect('nodeAttributes') obj_items = (o for o in objects) for att in obj_items: add_this_node_att = NodeAttributesElement(json_obj=att) niceCx.add_node_attribute(add_this_node_att) #=================== # EDGE ATTRIBUTES #=================== #objects = ijson.items(urlopen('http://dev2.ndexbio.org/v2/network/' + uuid + '/aspect/edgeAttributes'), 'item') objects = loadAspect('edgeAttributes') obj_items = (o for o in objects) for att in obj_items: add_this_edge_att = EdgeAttributesElement(json_obj=att) niceCx.add_edge_attribute(add_this_edge_att) #=================== # CITATIONS #=================== #objects = ijson.items(urlopen('http://dev2.ndexbio.org/v2/network/' + uuid + '/aspect/edgeAttributes'), 'item') objects = loadAspect('citations') obj_items = (o for o in objects) for cit in obj_items: add_this_citation = CitationElement(cx_fragment=cit) niceCx.add_citation(add_this_citation) #=================== # SUPPORTS #=================== objects = loadAspect('supports') obj_items = (o for o in objects) for sup in obj_items: add_this_supports = SupportElement(cx_fragment=sup) niceCx.add_support(add_this_supports) #=================== # NODE CITATIONS #=================== objects = loadAspect('nodeCitations') obj_items = (o for o in objects) for node_cit in obj_items: niceCx.add_node_citations_from_cx(node_cit) #=================== # EDGE CITATIONS #=================== objects = loadAspect('edgeCitations') obj_items = (o for o in objects) for edge_cit in obj_items: niceCx.add_edge_citations_from_cx(edge_cit) nice_cx_json = niceCx.to_cx() # serialized = pickle.dumps(niceCx, protocol=0) # print 'Serialized memory:', sys.getsizeof(serialized) print('starting to_pandas_dataframe') niceCx.to_pandas_dataframe() parser = ijson.parse( urlopen('http://dev2.ndexbio.org/v2/network/' + uuid + '/aspect/nodes')) node_id, node_n, node_r = '', '', '' edge_id, edge_s, edge_t, edge_i = '', '', '', '' node_matches = {} edge_matches = {} edge_connected = {} node_found = False edge_found = False count = 0 done_searching = False start_time = time.time() for prefix, event, value in parser: if (prefix) == ('item.@id'): if count % 10000 == 0: print(count) count += 1 node_id = value elif (prefix) == ('item.n'): node_n = value node_found = True elif (prefix) == ('item.r'): node_r = value if node_found: node_matches[node_id] = {'n': node_n, 'r': node_r} add_this_node = NodeElement(id=node_id, node_name=node_n, node_represents=node_r) niceCx.create_node(add_this_node) node_found = False else: # No represents found if node_found: node_matches[node_id] = {'n': node_n} add_this_node = NodeElement(id=node_id, node_name=node_n) niceCx.create_node(add_this_node) node_found = False print('Response time (Node search): ' + str(time.time() - start_time)) start_time = time.time() print(edge_matches) print(node_matches) parser = ijson.parse( urlopen('http://dev2.ndexbio.org/v2/network/' + uuid + '/aspect/edges')) for prefix, event, value in parser: if (prefix) == ('item.@id'): edge_id = value elif (prefix) == ('item.s'): edge_s = value edge_found = True elif (prefix) == ('item.t'): edge_t = value edge_found = True elif (prefix) == ('item.i'): edge_i = value if edge_found: edge_matches[edge_id] = { 's': edge_s, 't': edge_t, 'i': edge_i } add_this_edge = EdgeElement(id=edge_id, edge_source=edge_s, edge_target=edge_t, edge_interaction=edge_i) niceCx.create_edge(add_this_edge) edge_connected[edge_s] = 1 edge_connected[edge_t] = 1 edge_found = False else: # No interaction found if edge_found: edge_matches[edge_id] = {'s': edge_s, 't': edge_t} add_this_edge = EdgeElement(id=edge_id, edge_source=edge_s, edge_target=edge_t) niceCx.create_edge(add_this_edge) edge_connected[edge_s] = 1 edge_connected[edge_t] = 1 edge_found = False print('Response time (Edge search): ' + str(time.time() - start_time)) start_time = time.time() print(edge_matches) print(node_matches) self.assertTrue(niceCx is not None)