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)
Beispiel #2
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"]
  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)