From df8386f75b0538075d72d52693836bb8878f505b Mon Sep 17 00:00:00 2001 From: KatolaZ Date: Mon, 19 Oct 2015 16:23:00 +0100 Subject: First commit of MAMMULT code --- structure/metrics/aggregate_layers_w.py | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 structure/metrics/aggregate_layers_w.py (limited to 'structure/metrics/aggregate_layers_w.py') diff --git a/structure/metrics/aggregate_layers_w.py b/structure/metrics/aggregate_layers_w.py new file mode 100644 index 0000000..cd5ea1d --- /dev/null +++ b/structure/metrics/aggregate_layers_w.py @@ -0,0 +1,37 @@ +#### +## +## Aggregate the layers of a multiplex, weigthing each edge according +## to the number of times it occurs in the different layers +## + +import sys +import networkx as net + + +if len(sys.argv) < 3: + print "Usage: %s [....]" % sys.argv(0) + sys.exit(1) + +G = net.Graph() + +lines = open(sys.argv[1], "r").readlines() + +for l in lines: + s,d = [int(x) for x in l.strip(" \n").split(" ")[:2]] + G.add_edge(s,d) + G[s][d]['weigth'] = 1 + +for f in sys.argv[2:]: + lines = open(f, "r").readlines() + for l in lines: + s,d = [int(x) for x in l.strip(" \n").split(" ")[:2]] + if (G.has_edge(s,d)): + G[s][d]['weigth'] += 1 + else: + G.add_edge(s,d) + G[s][d]['weigth'] = 1 + +for s,d in G.edges(): + print s,d, G[s][d]['weigth'] + + -- cgit v1.2.3