Changeset 1527:66a207e0663b in orange-bioinformatics


Ignore:
Timestamp:
01/24/12 11:14:41 (2 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
9509b9b9a75f48f53cd2bb89d175cd2ee57f75f5
Message:

Now using Orange.network.Graph.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • obiGeneMania.py

    r1523 r1527  
    180180    groupId2int = dict(zip(edgeTypes, range(len(edgeTypes)))) 
    181181    groupId2groupCode = dict([(int(data["networkGroupId"]), str(data["networkGroupCode"])) for data in allData]) 
    182      
    183     graph = orngNetwork.Network(len(graphNodes), False, len(edgeTypes)) 
    184     graph.objects = graphNodes.keys() 
     182    graphNode2nodeNumber = dict(zip(graphNodes, range(len(graphNodes)))) 
     183     
     184    import Orange 
     185    graph = Orange.network.Graph() 
     186    for id, data in graphNodes.items(): 
     187        graph.add_node(graphNode2nodeNumber[id], 
     188                       original_id=str(id), 
     189                       symbol=data["symbol"], 
     190                       score=float(data["score"])) 
     191          
     192    graph.add_nodes_from(sorted(graphNode2nodeNumber.values())) 
    185193     
    186194    edgeWeights = [] 
     
    188196        edgesDefined = [None] * len(edgeTypes) 
    189197        for data in edge_data: 
    190             edgeType = int(data["networkGroupId"]) 
    191             edgeInd = groupId2int[edgeType] 
     198            networkGroupId = int(data["networkGroupId"]) 
     199            edgeInd = groupId2int[networkGroupId] 
    192200            edgesDefined[edgeInd] = float(data["weight"]) 
     201            graph.add_edge(graphNode2nodeNumber[source],  
     202                           graphNode2nodeNumber[target], 
     203                           weight=float(data["weight"]), 
     204                           networkGroupId=networkGroupId) 
    193205             
    194206        edgesDefined = [0 if w is None else w for w in edgesDefined] 
    195         graph[source, target] = edgesDefined 
    196207        edgeWeights.append(edgesDefined) 
    197208         
     
    209220                               None) 
    210221     
    211     label_id = lambda id: graph.objects.index(id) + 1 
     222    node_items = graphNodes.items() 
     223    node_items = sorted(node_items, key=lambda t: graphNode2nodeNumber[t[0]]) 
     224     
    212225    nodeitems = orange.ExampleTable(nodedomain, 
    213226                  [[str(node["symbol"]), str(id), float(node["score"]), 
    214227                    str(node["symbol"]), str(node["go"]), str(node["source"])]\ 
    215                      for id, node in graphNodes.items()]) 
     228                     for id, node in node_items]) 
     229     
    216230    edgeitems = orange.ExampleTable(edgedomain, 
    217                   [[str(label_id(source)), str(label_id(target))] + weights \ 
    218                       for ((source, target), _), weights in zip(graphEdges.items(), edgeWeights)]) 
    219      
    220     graph.items = nodeitems 
    221     graph.links = edgeitems 
    222     graph.optimization = None 
     231                  [[str(graphNode2nodeNumber[source] + 1),  
     232                    str(graphNode2nodeNumber[target] + 1)] + weights \ 
     233                   for ((source, target), _), weights in zip(graphEdges.items(), edgeWeights)]) 
     234         
     235    graph.set_items(nodeitems) 
     236    graph.set_links(edgeitems) 
     237     
    223238    return graph 
    224239 
  • widgets/OWGeneMania.py

    r1462 r1527  
    55from OWWidget import * 
    66import OWGUI 
    7 import orngNetwork 
    87import obiGeneMania 
     8import Orange 
    99 
    1010import os, sys 
     
    7171         
    7272        self.inputs = [("Input Genes", ExampleTable, self.setData)] 
    73         self.outputs = [("Network", orngNetwork.Network, Default), ("Items", ExampleTable)] 
     73        self.outputs = [("Network", Orange.network.Graph, Default), ("Items", ExampleTable)] 
    7474         
    7575        self.serverAddress = obiGeneMania.DEFAULT_SERVER 
     
    245245            dom = obiGeneMania.minidom.parseString(xml) 
    246246            net = obiGeneMania.parse(dom) 
    247             items = net.items 
     247            items = net.items() 
    248248        except Exception, ex: 
    249249            self.error(0, "Failed to retrieve network from server!\n" + str(ex)) 
Note: See TracChangeset for help on using the changeset viewer.