Statistics
| Branch: | Revision:

root / globecomm / main.py @ fac6e5a4

History | View | Annotate | Download (1.29 KB)

1
from os import listdir
2
from os.path import isfile, join, splitext, basename
3
import sys
4
import networkx as nx
5
import numpy
6

    
7
sys.path.append("heuristic_bc/")
8
from heuristic_betweenness_centrality import HeuristicBetweennessCentrality as HBC
9

    
10
from pdb import set_trace as debugger
11

    
12
def get_all_files_from_dir(dir):
13
    return [join(dir, f) for f in listdir(dir) if isfile(join(dir, f))]
14

    
15

    
16
if __name__ == '__main__':
17
    input_dir = ''
18
    # Default input directory
19
    GRAPH_DIRS='/home/quynh/Thesis/quynhnguyen-ms/experiment_input_graphs/CNGraphs/snapshots/small_samples'
20

    
21
    if len(sys.argv) > 1:
22
        input_dir = sys.argv[1]
23
    else:
24
        input_dir = GRAPH_DIRS
25

    
26
    onlyfiles = get_all_files_from_dir(input_dir)
27

    
28
    for in_filepath in onlyfiles:
29
        filename = splitext(basename(in_filepath))[0]
30
        graph = nx.read_weighted_edgelist(in_filepath)
31
        out_filepath = join('output/', filename + '.hbcout')
32

    
33
        # Brandes BC
34
        bbc = nx.betweenness_centrality(graph, weight=True, normalized=True, endpoints=True)
35
        out_data = [[k, v] for (k, v) in bbc.iteritems()]
36
        numpy.savetxt(out_filepath, out_data, delimiter=',', fmt='%s')
37
        print "Finish calculating BC for %s" % filename
38

    
39
        # # Heuristic BC
40
        # hbc = HBC(graph)
41
        # hbc.write(out_filepath)
42

    
43

    
44