with open(url) as f: pathway = KGML_parser.read(f, 'r') # Maps from the reaction id (e.g. rn:R05134) to the Node Objects that are part of this reaction reactionToNode = dict() # Maps from the internal pathway id (e.g. 23) to the compound id (e.g. C00010) compoundDict = dict() for gene in pathway.genes: for geneName in gene.name.split(' '): gene_id = geneName[4:] if gene_id not in nodes: gName = gene_id if gene_id in geneNames: gName = geneNames[gene_id] importer.add_node(['_Network_Node', 'Gene'], gene_id, {'name': gName, 'idType': 'ENTREZ', 'url': 'http://www.kegg.jp/dbget-bin/www_bget?hsa:' + gene_id}) # node = Node('NETWORK_NODE', 'Gene', id=name, idType='GENE_SYMBOL', name=name) # n = batch.create(node) nodes.add(gene_id) genesInReaction = set() if gene.reaction not in reactionToNode: reactionToNode[gene.reaction] = genesInReaction else: genesInReaction = reactionToNode[gene.reaction] genesInReaction.add(gene_id) currentNodes.add(gene_id) # print(reactionToNode)
nodes = doc["nodes"] for node in nodes: if node["Label"] is not None: if node["Label"] in set_ids: setId = set_ids[node["Label"]] else: current_set_id += 1 setId = str(current_set_id) set_ids[node["Label"]] = setId importer.add_node(['_Network_Node', 'Structure'], str(node["StructureID"]), { 'name': str(node["StructureID"]), 'labels': [setId] }) importer.add_node(['_Set_Node', 'Label'], setId, {'name': str(node["Label"])}) importer.add_edge('ConsistsOf', setId, str(node["StructureID"]), {}, 'Label') else: importer.add_node(['_Network_Node', 'Structure'], str(node["StructureID"]), { 'name': str(node["StructureID"]), 'labels': [] }) edges = doc["edges"]
set_ids = dict() current_set_id = 0; nodes = doc["nodes"] for node in nodes: if node["Label"] is not None: if node["Label"] in set_ids: setId = set_ids[node["Label"]] else: current_set_id += 1 setId = str(current_set_id) set_ids[node["Label"]] = setId importer.add_node(['_Network_Node', 'Structure'], str(node["StructureID"]), {'name': str(node["StructureID"]), 'labels': [setId]}) importer.add_node(['_Set_Node', 'Label'], setId, {'name': str(node["Label"])}) importer.add_edge('ConsistsOf', setId, str(node["StructureID"]), {}, 'Label') else: importer.add_node(['_Network_Node', 'Structure'], str(node["StructureID"]), {'name': str(node["StructureID"]), 'labels': []}) edges = doc["edges"] for edge in edges: importer.add_edge('Edge', str(edge["SourceStructureID"]), str(edge["TargetStructureID"]), {'_isNetworkEdge': True, 'Type': edge["Type"], 'Label': edge["Label"]})
reactionToNode = dict() # Maps from the internal pathway id (e.g. 23) to the compound id (e.g. C00010) compoundDict = dict() for gene in pathway.genes: for geneName in gene.name.split(' '): gene_id = geneName[4:] if gene_id not in nodes: gName = gene_id if gene_id in geneNames: gName = geneNames[gene_id] importer.add_node( ['_Network_Node', 'Gene'], gene_id, { 'name': gName, 'idType': 'ENTREZ', 'url': 'http://www.kegg.jp/dbget-bin/www_bget?hsa:' + gene_id }) # node = Node('NETWORK_NODE', 'Gene', id=name, idType='GENE_SYMBOL', name=name) # n = batch.create(node) nodes.add(gene_id) genesInReaction = set() if gene.reaction not in reactionToNode: reactionToNode[gene.reaction] = genesInReaction else: genesInReaction = reactionToNode[gene.reaction] genesInReaction.add(gene_id)