In [9]:
%matplotlib inline
import numpy as np
import pandas as pd
import networkx as nx
import seaborn as sns
from scipy import stats
import matplotlib as mpl
import matplotlib.pyplot as plt

sns.set(style="ticks")
np.random.seed(sum(map(ord, "axis_grids")))
graph = nx.karate_club_graph()
tips = sns.load_dataset("tips")

print tips
# tips = graph.degree()
g = sns.FacetGrid(tips, col="sex")


     total_bill   tip     sex smoker   day    time  size
0         16.99  1.01  Female     No   Sun  Dinner     2
1         10.34  1.66    Male     No   Sun  Dinner     3
2         21.01  3.50    Male     No   Sun  Dinner     3
3         23.68  3.31    Male     No   Sun  Dinner     2
4         24.59  3.61  Female     No   Sun  Dinner     4
5         25.29  4.71    Male     No   Sun  Dinner     4
6          8.77  2.00    Male     No   Sun  Dinner     2
7         26.88  3.12    Male     No   Sun  Dinner     4
8         15.04  1.96    Male     No   Sun  Dinner     2
9         14.78  3.23    Male     No   Sun  Dinner     2
10        10.27  1.71    Male     No   Sun  Dinner     2
11        35.26  5.00  Female     No   Sun  Dinner     4
12        15.42  1.57    Male     No   Sun  Dinner     2
13        18.43  3.00    Male     No   Sun  Dinner     4
14        14.83  3.02  Female     No   Sun  Dinner     2
15        21.58  3.92    Male     No   Sun  Dinner     2
16        10.33  1.67  Female     No   Sun  Dinner     3
17        16.29  3.71    Male     No   Sun  Dinner     3
18        16.97  3.50  Female     No   Sun  Dinner     3
19        20.65  3.35    Male     No   Sat  Dinner     3
20        17.92  4.08    Male     No   Sat  Dinner     2
21        20.29  2.75  Female     No   Sat  Dinner     2
22        15.77  2.23  Female     No   Sat  Dinner     2
23        39.42  7.58    Male     No   Sat  Dinner     4
24        19.82  3.18    Male     No   Sat  Dinner     2
25        17.81  2.34    Male     No   Sat  Dinner     4
26        13.37  2.00    Male     No   Sat  Dinner     2
27        12.69  2.00    Male     No   Sat  Dinner     2
28        21.70  4.30    Male     No   Sat  Dinner     2
29        19.65  3.00  Female     No   Sat  Dinner     2
..          ...   ...     ...    ...   ...     ...   ...
214       28.17  6.50  Female    Yes   Sat  Dinner     3
215       12.90  1.10  Female    Yes   Sat  Dinner     2
216       28.15  3.00    Male    Yes   Sat  Dinner     5
217       11.59  1.50    Male    Yes   Sat  Dinner     2
218        7.74  1.44    Male    Yes   Sat  Dinner     2
219       30.14  3.09  Female    Yes   Sat  Dinner     4
220       12.16  2.20    Male    Yes   Fri   Lunch     2
221       13.42  3.48  Female    Yes   Fri   Lunch     2
222        8.58  1.92    Male    Yes   Fri   Lunch     1
223       15.98  3.00  Female     No   Fri   Lunch     3
224       13.42  1.58    Male    Yes   Fri   Lunch     2
225       16.27  2.50  Female    Yes   Fri   Lunch     2
226       10.09  2.00  Female    Yes   Fri   Lunch     2
227       20.45  3.00    Male     No   Sat  Dinner     4
228       13.28  2.72    Male     No   Sat  Dinner     2
229       22.12  2.88  Female    Yes   Sat  Dinner     2
230       24.01  2.00    Male    Yes   Sat  Dinner     4
231       15.69  3.00    Male    Yes   Sat  Dinner     3
232       11.61  3.39    Male     No   Sat  Dinner     2
233       10.77  1.47    Male     No   Sat  Dinner     2
234       15.53  3.00    Male    Yes   Sat  Dinner     2
235       10.07  1.25    Male     No   Sat  Dinner     2
236       12.60  1.00    Male    Yes   Sat  Dinner     2
237       32.83  1.17    Male    Yes   Sat  Dinner     2
238       35.83  4.67  Female     No   Sat  Dinner     3
239       29.03  5.92    Male     No   Sat  Dinner     3
240       27.18  2.00  Female    Yes   Sat  Dinner     2
241       22.67  2.00    Male    Yes   Sat  Dinner     2
242       17.82  1.75    Male     No   Sat  Dinner     2
243       18.78  3.00  Female     No  Thur  Dinner     2

[244 rows x 7 columns]

In [5]:
import matplotlib
matplotlib.style.use('ggplot')
import matplotlib.pyplot as plt
import numpy as np

import networkx as nx

from phoenix import phoenix, helpers

from pprint import PrettyPrinter as pp
pp = pp(2).pprint

cliques = nx.find_cliques(graph)
cliques = list(cliques)

In [35]:
print 'Summary: '
print ' |V|: ',len(graph.nodes())
print ' |g.cliques()|: ', len(cliques)
print ' largest clique',  max([len(x) for x in cliques])

# this the sampling frequency is twice the largest clique size
fs = 2*max([len(x) for x in cliques])
print fs


Summary: 
 |V|:  1589
 |g.cliques()|:  741
 largest clique 20
40

In [85]:
from matplotlib import pyplot, patches

def draw_adjacency_matrix(G, node_order=None, partitions=[], colors=[]):
    """
    - G is a networkx graph
    - node_order (optional) is a list of nodes, where each node in G
          appears exactly once
    - partitions is a list of node lists, where each node in G appears
          in exactly one node list
    - colors is a list of strings indicating what color each
          partition should be
    If partitions is specified, the same number of colors needs to be
    specified.
    """
    adjacency_matrix = nx.to_numpy_matrix(G, dtype=np.bool, nodelist=node_order)

    #Plot adjacency matrix in toned-down black and white
    fig = pyplot.figure(figsize=(5, 5)) # in inches
    pyplot.imshow(adjacency_matrix,
                  cmap="Greys",
                  interpolation="none")
    
    # The rest is just if you have sorted nodes by a partition and want to
    # highlight the module boundaries
    assert len(partitions) == len(colors)
    ax = pyplot.gca()
    for partition, color in zip(partitions, colors):
        current_idx = 0
        for module in partition:
            ax.add_patch(patches.Rectangle((current_idx, current_idx),
                                          len(module), # Width
                                          len(module), # Height
                                          facecolor="none",
                                          edgecolor=color,
                                          linewidth="1"))
            current_idx += len(module)


A = nx.adjacency_matrix(graph);
G = nx.from_scipy_sparse_matrix(A);
draw_adjacency_matrix(G); 
plt.title('Input Graph\'s Adjacency Matrix');

data = [len(x) for x in cliques]
count,bins = np.histogram(data)

fig, ax = plt.subplots()
rects1 = ax.bar(bins[:-1],count,width = np.mean(np.diff(bins))/2.)
ax.set_ylabel('Cliques Count')
ax.set_xlabel('Clique Size')


Out[85]:
<matplotlib.text.Text at 0x11848d7d0>

Compression


In [87]:
one_to_two_model, two_to_one_intxn_model = phoenix.compress(cliques)

one_to_two_model = helpers.normalize_distributions(one_to_two_model)
two_to_one_intxn_model = helpers.normalize_distributions(two_to_one_intxn_model)


clq_numb_dist = helpers.clique_number_distribution(cliques)
clqs_x_clqs_dist = helpers.cliques_x_cliques_distribution(cliques)

clq_numb_dist = helpers.normalize_distribution(clq_numb_dist)
clqs_x_clqs_dist = helpers.normalize_distributions(clqs_x_clqs_dist)

Decompression


In [92]:
generated_graph = nx.Graph()
generated_graph.add_edge(0,1)
seeds = list(nx.find_cliques(generated_graph))
#seeds
# generated_graph
# clq_numb_dist
# clqs_x_clqs_dist
# pheonix.generate_hypergraph
gen_graph, pwrgrid_hedges =phoenix.generate_hypergraph(generated_graph,
                                                       one_to_two_model, two_to_one_intxn_model,
                                                       clq_numb_dist, clqs_x_clqs_dist, 1000);


('node_count', 2)
('node_count', 3)
('node_count', 4)
('node_count', 5)
('node_count', 8)
('node_count', 11)
('node_count', 12)
('node_count', 15)
('node_count', 16)
('node_count', 17)
('node_count', 19)
('node_count', 19)
('node_count', 20)
('node_count', 25)
('node_count', 26)
('node_count', 33)
('node_count', 36)
('node_count', 38)
('node_count', 38)
('node_count', 38)
('node_count', 39)
('node_count', 40)
('node_count', 45)
('node_count', 47)
('node_count', 48)
('node_count', 49)
('node_count', 49)
('node_count', 50)
('node_count', 51)
('node_count', 52)
('node_count', 53)
('node_count', 55)
('node_count', 56)
('node_count', 57)
('node_count', 61)
('node_count', 64)
('node_count', 66)
('node_count', 68)
('node_count', 68)
('node_count', 70)
('node_count', 71)
('node_count', 71)
('node_count', 72)
('node_count', 72)
('node_count', 72)
('node_count', 72)
('node_count', 74)
('node_count', 75)
('node_count', 78)
('node_count', 79)
('node_count', 84)
('node_count', 85)
('node_count', 86)
('node_count', 87)
('node_count', 90)
('node_count', 92)
('node_count', 92)
('node_count', 95)
('node_count', 98)
('node_count', 99)
('node_count', 100)
('node_count', 102)
('node_count', 103)
('node_count', 104)
('node_count', 104)
('node_count', 107)
('node_count', 107)
('node_count', 110)
('node_count', 110)
('node_count', 113)
('node_count', 114)
('node_count', 116)
('node_count', 117)
('node_count', 119)
('node_count', 120)
('node_count', 122)
('node_count', 123)
('node_count', 125)
('node_count', 128)
('node_count', 133)
('node_count', 133)
('node_count', 138)
('node_count', 139)
('node_count', 140)
('node_count', 141)
('node_count', 141)
('node_count', 145)
('node_count', 146)
('node_count', 149)
('node_count', 149)
('node_count', 150)
('node_count', 153)
('node_count', 152)
('node_count', 152)
('node_count', 152)
('node_count', 152)
('node_count', 151)
('node_count', 151)
('node_count', 156)
('node_count', 157)
('node_count', 157)
('node_count', 157)
('node_count', 157)
('node_count', 157)
('node_count', 158)
('node_count', 158)
('node_count', 158)
('node_count', 158)
('node_count', 159)
('node_count', 159)
('node_count', 159)
('node_count', 159)
('node_count', 159)
('node_count', 160)
('node_count', 160)
('node_count', 161)
('node_count', 161)
('node_count', 162)
('node_count', 162)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 163)
('node_count', 166)
('node_count', 166)
('node_count', 166)
('node_count', 167)
('node_count', 167)
('node_count', 167)
('node_count', 167)
('node_count', 167)
('node_count', 168)
('node_count', 168)
('node_count', 168)
('node_count', 168)
('node_count', 168)
('node_count', 170)
('node_count', 170)
('node_count', 170)
('node_count', 170)
('node_count', 170)
('node_count', 170)
('node_count', 172)
('node_count', 172)
('node_count', 172)
('node_count', 172)
('node_count', 172)
('node_count', 172)
('node_count', 173)
('node_count', 173)
('node_count', 173)
('node_count', 173)
('node_count', 173)
('node_count', 178)
('node_count', 178)
('node_count', 179)
('node_count', 180)
('node_count', 180)
('node_count', 181)
('node_count', 181)
('node_count', 181)
('node_count', 181)
('node_count', 181)
('node_count', 181)
('node_count', 181)
('node_count', 182)
('node_count', 182)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 183)
('node_count', 184)
('node_count', 184)
('node_count', 184)
('node_count', 184)
('node_count', 184)
('node_count', 189)
('node_count', 189)
('node_count', 191)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 196)
('node_count', 197)
('node_count', 198)
('node_count', 199)
('node_count', 199)
('node_count', 200)
('node_count', 200)
('node_count', 200)
('node_count', 203)
('node_count', 203)
('node_count', 206)
('node_count', 207)
('node_count', 208)
('node_count', 208)
('node_count', 208)
('node_count', 208)
('node_count', 211)
('node_count', 211)
('node_count', 211)
('node_count', 211)
('node_count', 211)
('node_count', 211)
('node_count', 211)
('node_count', 211)
('node_count', 212)
('node_count', 212)
('node_count', 212)
('node_count', 212)
('node_count', 217)
('node_count', 217)
('node_count', 219)
('node_count', 219)
('node_count', 219)
('node_count', 220)
('node_count', 220)
('node_count', 221)
('node_count', 221)
('node_count', 221)
('node_count', 222)
('node_count', 222)
('node_count', 222)
('node_count', 222)
('node_count', 224)
('node_count', 224)
('node_count', 224)
('node_count', 224)
('node_count', 225)
('node_count', 226)
('node_count', 226)
('node_count', 228)
('node_count', 228)
('node_count', 228)
('node_count', 228)
('node_count', 228)
('node_count', 228)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 229)
('node_count', 230)
('node_count', 230)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 234)
('node_count', 235)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 239)
('node_count', 240)
('node_count', 240)
('node_count', 240)
('node_count', 240)
('node_count', 240)
('node_count', 240)
('node_count', 240)
('node_count', 240)
('node_count', 240)
('node_count', 241)
('node_count', 241)
('node_count', 242)
('node_count', 242)
('node_count', 242)
('node_count', 242)
('node_count', 242)
('node_count', 246)
('node_count', 246)
('node_count', 246)
('node_count', 246)
('node_count', 250)
('node_count', 250)
('node_count', 250)
('node_count', 251)
('node_count', 251)
('node_count', 251)
('node_count', 251)
('node_count', 251)
('node_count', 251)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 252)
('node_count', 252)
('node_count', 252)
('node_count', 252)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 253)
('node_count', 254)
('node_count', 254)
('node_count', 254)
('node_count', 254)
('node_count', 254)
('node_count', 254)
('node_count', 254)
('node_count', 254)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 255)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 256)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 257)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 258)
('node_count', 261)
('node_count', 261)
('node_count', 261)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 262)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 265)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 266)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 267)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 268)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 271)
('node_count', 274)
('node_count', 274)
('node_count', 274)
('node_count', 274)
('node_count', 274)
('node_count', 274)
('node_count', 274)
('node_count', 274)
('node_count', 274)
('node_count', 277)
('node_count', 277)
('node_count', 277)
('node_count', 277)
('node_count', 277)
('node_count', 277)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 278)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 279)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 280)
('node_count', 283)
('node_count', 283)
('node_count', 283)
('node_count', 283)
('node_count', 283)
('node_count', 283)
('node_count', 283)
('node_count', 283)
('node_count', 283)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 285)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 286)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 289)
('node_count', 290)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 293)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 294)
('node_count', 295)
('node_count', 295)
('node_count', 295)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 298)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 299)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 300)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 301)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 304)
('node_count', 305)
('node_count', 305)
('node_count', 305)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 308)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 311)
('node_count', 312)
('node_count', 312)
('node_count', 312)
('node_count', 312)
('node_count', 312)
('node_count', 312)
('node_count', 312)
('node_count', 313)
('node_count', 313)
('node_count', 313)
('node_count', 313)
('node_count', 313)
('node_count', 313)
('node_count', 313)
('node_count', 313)
('node_count', 313)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 314)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 317)
('node_count', 318)
('node_count', 318)
('node_count', 318)
('node_count', 318)
('node_count', 318)
('node_count', 318)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
('node_count', 319)
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-92-4c6b2985d512> in <module>()
      9 gen_graph, pwrgrid_hedges =phoenix.generate_hypergraph(generated_graph,
     10                                                        one_to_two_model, two_to_one_intxn_model,
---> 11                                                        clq_numb_dist, clqs_x_clqs_dist, 1000);

/Users/saguinag/ToolSet/Phoenix/Phoenix/PhoenixPython/phoenix/phoenix.pyc in generate_hypergraph(seed_graph, one_to_two_model, two_to_one_intxn_model, clique_substitution_model, outer_intxn_size_model, node_limit, debug)
     69     while node_count < node_limit:
     70 
---> 71         node_count = len(set(nx.utils.flatten(clqs)))
     72 
     73         if node_count >= node_limit:

/Users/saguinag/ToolSet/anaconda/lib/python2.7/site-packages/networkx/utils/misc.pyc in flatten(obj, result)
     55             result.append(item)
     56         else:
---> 57             flatten(item, result)
     58     return obj.__class__(result)
     59 

/Users/saguinag/ToolSet/anaconda/lib/python2.7/site-packages/networkx/utils/misc.pyc in flatten(obj, result)
     56         else:
     57             flatten(item, result)
---> 58     return obj.__class__(result)
     59 
     60 def is_list_of_ints( intlist ):

KeyboardInterrupt: 

In [ ]:
print 'Seed size (Nbr of nodes)', len(seed)

In [ ]:


In [ ]: