def analyse_community(graph, save_name):
   	#partition = louvain.best_partition(graph)
    partition = infomap.infomap(graph)
    #dendro = louvain.generate_dendrogram(graph)
    dendro, handle = infomap.iteration_loop(graph)
	print 'Number of communities: ' + str(len(set(partition.values())))
	logging.info('Number of communities: ' + str(len(set(partition.values()))))
	com_node_map = {}
	for community in set(partition.values()):
		com_node_map[community] = len([nodes for nodes in partition.keys() if partition[nodes] == community])
	for k, v in com_node_map.items():
		print 'Community ' + str(k+1) + ' has ' + str(v) + ' nodes' 
		logging.info('Community ' + str(k+1) + ' has ' + str(v) + ' nodes')
	nx.set_node_attributes(graph, 'community', partition)
	link_ratio(graph, partition)
	no_pe_com_map_list = nodes_per_community(dendro)
	community_size_distribution(no_pe_com_map_list, save_name)
	drawNetwork(graph, save_name)
import os
import sys
sys.path.append("louvain")
import louvain
sys.path.append("infomap")
import infomap

import matplotlib.pyplot as plt
import matplotlib.colors as colors

import logging

global_frame_list = []

dispatch = {
    'infomap_partition': infomap.infomap(graph)
    'louvain_partition': louvain.best_partition(graph)
    'infomap_dendro': infomap.iteration_loop(graph)
    'louvain_dendro': louvain.generate_dendrogram(graph)
}


def run_mini_pipeline():
	datadir = 'data'
	for root, dirs, filenames in os.walk(datadir):
		for file in filenames:
			print 'computing subject ' + str(filenames.index(file))
			logging.info('computing subject ' + str(filenames.index(file)))
			file_handle = os.path.join(root, file)
			df = pd.read_csv(file_handle, sep='\t')
			np_ts_matrix=df.as_matrix()