/
airborneNetwork.py
289 lines (274 loc) · 18 KB
/
airborneNetwork.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
import networkx as nx
import matplotlib.pyplot as plt
goarn_network= nx.Graph()
goarn_network.add_edge("MSF Belgium", "MSF Holland",weight=1)
goarn_network.add_edge("MSF Belgium", "MSF Switzerland",weight=2)
goarn_network.add_edge("MSF Belgium", "MSF France",weight=1)
goarn_network.add_edge("Institut National de Recherche Biomedicale", "MSF Belgium",weight=1)
goarn_network.add_edge("MSF Belgium", "WHO Ethiopia",weight=1)
goarn_network.add_edge("MSF Belgium", "Red Crescent societies",weight=1)
goarn_network.add_edge("MSF Belgium", "WHO HQ",weight=2)
goarn_network.add_edge("MSF Holland", "MSF Switzerland",weight=1)
goarn_network.add_edge("MSF France", "MSF Holland",weight=1)
goarn_network.add_edge("Institut National de Recherche Biomedicale", "MSF Holland",weight=1)
goarn_network.add_edge("MSF Holland", "WHO Ethiopia",weight=1)
goarn_network.add_edge("MSF Holland", "Red Crescent societies",weight=1)
goarn_network.add_edge("MSF Holland", "WHO HQ",weight=1)
goarn_network.add_edge("MSF France", "MSF Switzerland",weight=1)
goarn_network.add_edge("Institut National de Recherche Biomedicale", "MSF Switzerland",weight=1)
goarn_network.add_edge("MSF Switzerland", "WHO Ethiopia",weight=1)
goarn_network.add_edge("MSF Switzerland", "Red Crescent societies",weight=1)
goarn_network.add_edge("MSF Switzerland", "WHO HQ",weight=2)
goarn_network.add_edge("Institut National de Recherche Biomedicale", "MSF France",weight=1)
goarn_network.add_edge("MSF France", "WHO Ethiopia",weight=1)
goarn_network.add_edge("MSF France", "Red Crescent societies",weight=1)
goarn_network.add_edge("MSF France", "WHO HQ",weight=1)
goarn_network.add_edge("Institut National de Recherche Biomedicale", "WHO Ethiopia",weight=1)
goarn_network.add_edge("Institut National de Recherche Biomedicale", "Red Crescent societies",weight=1)
goarn_network.add_edge("Institut National de Recherche Biomedicale", "WHO HQ",weight=1)
goarn_network.add_edge("Red Crescent societies", "WHO Ethiopia",weight=1)
goarn_network.add_edge("WHO Ethiopia", "WHO HQ",weight=1)
goarn_network.add_edge("Red Crescent societies", "WHO HQ",weight=1)
goarn_network.add_edge("Institut Pasteur France", "Ministry of Health Madagascar",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "Ministry of Health Madagascar",weight=1)
goarn_network.add_edge("CDC Atlanta", "Ministry of Health Madagascar",weight=1)
goarn_network.add_edge("Ministry of Health Madagascar", "WHO HQ",weight=1)
goarn_network.add_edge("Ministry of Health Madagascar", "WHO_AFRO",weight=1)
goarn_network.add_edge("Ministry of Health Madagascar", "UNICEF",weight=1)
goarn_network.add_edge("Ministry of Health Madagascar", "World Food Programme",weight=1)
goarn_network.add_edge("Ministry of Health Madagascar", "WHO Collaborating Centre",weight=1)
goarn_network.add_edge("Ministry of Health Madagascar", "Reference and Research on Influenza London",weight=1)
goarn_network.add_edge("Institut Pasteur France", "Institut de veille sanitaire",weight=2)
goarn_network.add_edge("CDC Atlanta", "Institut Pasteur France",weight=2)
goarn_network.add_edge("Institut Pasteur France", "WHO HQ",weight=1)
goarn_network.add_edge("Institut Pasteur France", "WHO_AFRO",weight=1)
goarn_network.add_edge("Institut Pasteur France", "UNICEF",weight=1)
goarn_network.add_edge("Institut Pasteur France", "World Food Programme",weight=1)
goarn_network.add_edge("Institut Pasteur France", "WHO Collaborating Centre",weight=2)
goarn_network.add_edge("Institut Pasteur France", "Reference and Research on Influenza London",weight=1)
goarn_network.add_edge("CDC Atlanta", "Institut de veille sanitaire",weight=2)
goarn_network.add_edge("Institut de veille sanitaire", "WHO HQ",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "WHO_AFRO",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "UNICEF",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "World Food Programme",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "WHO Collaborating Centre",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "Reference and Research on Influenza London",weight=1)
goarn_network.add_edge("CDC Atlanta", "WHO HQ",weight=1)
goarn_network.add_edge("CDC Atlanta", "WHO_AFRO",weight=1)
goarn_network.add_edge("CDC Atlanta", "UNICEF",weight=1)
goarn_network.add_edge("CDC Atlanta", "World Food Programme",weight=1)
goarn_network.add_edge("CDC Atlanta", "WHO Collaborating Centre",weight=1)
goarn_network.add_edge("CDC Atlanta", "Reference and Research on Influenza London",weight=1)
goarn_network.add_edge("WHO HQ", "WHO_AFRO",weight=2)
goarn_network.add_edge("UNICEF", "WHO HQ",weight=1)
goarn_network.add_edge("WHO HQ", "World Food Programme",weight=1)
goarn_network.add_edge("WHO Collaborating Centre", "WHO HQ",weight=1)
goarn_network.add_edge("Reference and Research on Influenza London", "WHO HQ",weight=1)
goarn_network.add_edge("UNICEF", "WHO_AFRO",weight=1)
goarn_network.add_edge("WHO_AFRO", "World Food Programme",weight=1)
goarn_network.add_edge("WHO Collaborating Centre", "WHO_AFRO",weight=1)
goarn_network.add_edge("Reference and Research on Influenza London", "WHO_AFRO",weight=1)
goarn_network.add_edge("UNICEF", "World Food Programme",weight=1)
goarn_network.add_edge("UNICEF", "WHO Collaborating Centre",weight=1)
goarn_network.add_edge("Reference and Research on Influenza London", "UNICEF",weight=1)
goarn_network.add_edge("WHO Collaborating Centre", "World Food Programme",weight=1)
goarn_network.add_edge("Reference and Research on Influenza London", "World Food Programme",weight=1)
goarn_network.add_edge("Reference and Research on Influenza London", "WHO Collaborating Centre",weight=1)
goarn_network.add_edge("Global Influenza Surveillance Network", "Hong Kong National Influenza Center",weight=1)
goarn_network.add_edge("Department of Health in Hong Kong", "Hong Kong National Influenza Center",weight=1)
goarn_network.add_edge("Hong Kong National Influenza Center", "Ministry of Health in Beijing",weight=1)
goarn_network.add_edge("Department of Health in Hong Kong", "Global Influenza Surveillance Network",weight=1)
goarn_network.add_edge("Global Influenza Surveillance Network", "Ministry of Health in Beijing",weight=1)
goarn_network.add_edge("Department of Health in Hong Kong", "Ministry of Health in Beijing",weight=1)
goarn_network.add_edge("CDC Atlanta", "Centre of International Health Australia",weight=1)
goarn_network.add_edge("CDC Atlanta", "Epicentre France",weight=1)
goarn_network.add_edge("CDC Atlanta", "Institut Pasteur Viet Nam",weight=1)
goarn_network.add_edge("CDC Atlanta", "MSF",weight=1)
goarn_network.add_edge("CDC Atlanta", "National Health Service UK",weight=1)
goarn_network.add_edge("CDC Atlanta", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("CDC Atlanta", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("CDC Atlanta", "Central Field Epidemiology Group Smittskyddsinstitutet (SMI)",weight=1)
goarn_network.add_edge("CDC Atlanta", "WHO_WPRO",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "Epicentre France",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "Institut de veille sanitaire",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "Institut Pasteur France",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "Institut Pasteur Viet Nam",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "MSF",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "National Health Service UK",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "Centre of International Health Australia",weight=1)
goarn_network.add_edge("Centre of International Health Australia", "WHO_WPRO",weight=1)
goarn_network.add_edge("Epicentre France", "Institut de veille sanitaire",weight=1)
goarn_network.add_edge("Epicentre France", "Institut Pasteur France",weight=1)
goarn_network.add_edge("Epicentre France", "Institut Pasteur Viet Nam",weight=1)
goarn_network.add_edge("Epicentre France", "MSF",weight=1)
goarn_network.add_edge("Epicentre France", "National Health Service UK",weight=1)
goarn_network.add_edge("Epicentre France", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("Epicentre France", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "Epicentre France",weight=1)
goarn_network.add_edge("Epicentre France", "WHO_WPRO",weight=1)
goarn_network.add_edge("Institut Pasteur Viet Nam", "Institut de veille sanitaire",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "MSF",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "National Health Service UK",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "Institut de veille sanitaire",weight=1)
goarn_network.add_edge("Institut de veille sanitaire", "WHO_WPRO",weight=1)
goarn_network.add_edge("Institut Pasteur France", "Institut Pasteur Viet Nam",weight=1)
goarn_network.add_edge("Institut Pasteur France", "MSF",weight=1)
goarn_network.add_edge("Institut Pasteur France", "National Health Service UK",weight=1)
goarn_network.add_edge("Institut Pasteur France", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("Institut Pasteur France", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "Institut Pasteur France",weight=1)
goarn_network.add_edge("Institut Pasteur France", "WHO_WPRO",weight=1)
goarn_network.add_edge("Institut Pasteur Viet Nam", "MSF",weight=1)
goarn_network.add_edge("Institut Pasteur Viet Nam", "National Health Service UK",weight=1)
goarn_network.add_edge("Institut Pasteur Viet Nam", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("Institut Pasteur Viet Nam", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "Institut Pasteur Viet Nam",weight=1)
goarn_network.add_edge("Institut Pasteur Viet Nam", "WHO_WPRO",weight=1)
goarn_network.add_edge("MSF", "National Health Service UK",weight=1)
goarn_network.add_edge("MSF", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("MSF", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "MSF",weight=1)
goarn_network.add_edge("MSF", "WHO_WPRO",weight=1)
goarn_network.add_edge("National Health Service UK", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("National Health Service UK", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "National Health Service UK",weight=1)
goarn_network.add_edge("National Health Service UK", "WHO_WPRO",weight=1)
goarn_network.add_edge("National Health Service Viet Nam", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "National Health Service Viet Nam",weight=1)
goarn_network.add_edge("National Health Service Viet Nam", "WHO_WPRO",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "Robert Koch Institute Germany",weight=1)
goarn_network.add_edge("Robert Koch Institute Germany", "WHO_WPRO",weight=1)
goarn_network.add_edge("Central Field Epidemiology Group Smittskyddsinstitutet (SMI)", "WHO_WPRO",weight=1)
goarn_network.add_edge("Ministry of Health in Singapore", "WHO",weight=1)
goarn_network.add_edge("Chinese Ministry of Health", "WHO China",weight=1)
goarn_network.add_edge("CDC Taiwan", "WHO",weight=1)
goarn_network.add_edge("Ministry of Health Algeria", "WHO Collaborating Centre",weight=1)
goarn_network.add_edge("Institut Pasteur France", "Ministry of Health Algeria",weight=1)
goarn_network.add_edge("Kazakh Scientific Centre for Quarantine and Zoonotic Disease", "Ministry of Health Algeria",weight=1)
goarn_network.add_edge("Kazakh Scientific Centre for Quarantine and Zoonotic Disease", "WHO Collaborating Centre",weight=1)
goarn_network.add_edge("Institut Pasteur France", "Kazakh Scientific Centre for Quarantine and Zoonotic Disease",weight=1)
goarn_network.add_edge("IMTSSA", "WHO",weight=1)
goarn_network.add_edge("CDC Atlanta", "WHO",weight=1)
goarn_network.add_edge("Public Health Agency of Canada", "WHO",weight=1)
goarn_network.add_edge("EPIET", "WHO",weight=1)
goarn_network.add_edge("CDC Atlanta", "IMTSSA",weight=1)
goarn_network.add_edge("IMTSSA", "Public Health Agency of Canada",weight=1)
goarn_network.add_edge("EPIET", "IMTSSA",weight=1)
goarn_network.add_edge("CDC Atlanta", "Public Health Agency of Canada",weight=1)
goarn_network.add_edge("CDC Atlanta", "EPIET",weight=1)
goarn_network.add_edge("EPIET", "Public Health Agency of Canada",weight=1)
goarn_network.add_edge("WHO DRC", "WHO HQ",weight=1)
goarn_network.add_edge("Ministry of Health DRC", "WHO HQ",weight=1)
goarn_network.add_edge("Institut Pasteur Madagascar", "WHO HQ",weight=1)
goarn_network.add_edge("Medair", "WHO HQ",weight=1)
goarn_network.add_edge("Institut de la Recherche Biomedicale", "WHO HQ",weight=1)
goarn_network.add_edge("WHO DRC", "WHO_AFRO",weight=1)
goarn_network.add_edge("Ministry of Health DRC", "WHO DRC",weight=1)
goarn_network.add_edge("Institut Pasteur Madagascar", "WHO DRC",weight=1)
goarn_network.add_edge("MSF Belgium", "WHO DRC",weight=1)
goarn_network.add_edge("MSF Switzerland", "WHO DRC",weight=1)
goarn_network.add_edge("Medair", "WHO DRC",weight=1)
goarn_network.add_edge("Institut de la Recherche Biomedicale", "WHO DRC",weight=1)
goarn_network.add_edge("Ministry of Health DRC", "WHO_AFRO",weight=1)
goarn_network.add_edge("Institut Pasteur Madagascar", "WHO_AFRO",weight=1)
goarn_network.add_edge("MSF Belgium", "WHO_AFRO",weight=1)
goarn_network.add_edge("MSF Switzerland", "WHO_AFRO",weight=1)
goarn_network.add_edge("Medair", "WHO_AFRO",weight=1)
goarn_network.add_edge("Institut de la Recherche Biomedicale", "WHO_AFRO",weight=1)
goarn_network.add_edge("Institut Pasteur Madagascar", "Ministry of Health DRC",weight=1)
goarn_network.add_edge("MSF Belgium", "Ministry of Health DRC",weight=1)
goarn_network.add_edge("MSF Switzerland", "Ministry of Health DRC",weight=1)
goarn_network.add_edge("Medair", "Ministry of Health DRC",weight=1)
goarn_network.add_edge("Institut de la Recherche Biomedicale", "Ministry of Health DRC",weight=1)
goarn_network.add_edge("Institut Pasteur Madagascar", "MSF Belgium",weight=1)
goarn_network.add_edge("Institut Pasteur Madagascar", "MSF Switzerland",weight=1)
goarn_network.add_edge("Institut Pasteur Madagascar", "Medair",weight=1)
goarn_network.add_edge("Institut Pasteur Madagascar", "Institut de la Recherche Biomedicale",weight=1)
goarn_network.add_edge("MSF Belgium", "Medair",weight=1)
goarn_network.add_edge("Institut de la Recherche Biomedicale", "MSF Belgium",weight=1)
goarn_network.add_edge("MSF Switzerland", "Medair",weight=1)
goarn_network.add_edge("Institut de la Recherche Biomedicale", "MSF Switzerland",weight=1)
goarn_network.add_edge("Institut de la Recherche Biomedicale", "Medair",weight=1)
#import csv
#with open("/Users/grizzlemuff/Documents/SI608/GOARN/airborne.csv", 'wb') as csvfile:
# spamwriter = csv.writer(csvfile)
# spamwriter.writerow('D')
# centrality= nx.degree_centrality(goarn_network)
# for each in centrality.items():
# print 'Degree Centrality: ', each[0], each[1]
# print each
# spamwriter.writerow([each[0], each[1]])
#
# spamwriter.writerow('C')
# close=nx.closeness_centrality(goarn_network)
# for each in close.items():
# print 'Closeness Centrality: ', each[0], '\t', each[1]
# spamwriter.writerow([each[0], each[1]])
#
# spamwriter.writerow('B')
# btwn=nx.betweenness_centrality(goarn_network, weight='weight')
# for each in btwn.items():
# print 'Betweeness Centrality: ', each[0], each[1]
# spamwriter.writerow([each[0], each[1]])
#
# avg_clust= nx.average_clustering(goarn_network)
# print 'Average Clustering: ', avg_clust
#
#
#
#
# clustering = nx.clustering(goarn_network)
#
# spamwriter.writerow('L')
# for each in clustering.items():
# print 'Clustering Coefficient per Node: ', each[0], each[1]
# spamwriter.writerow([each[0], each[1]])
# csvfile.close()
#
#
#nx.draw_spring(goarn_network, k=0.95,iterations=20, font_size=10)
#plt.show()
##Histogram of degree distribution
#d = nx.degree(goarn_network)
#plt.hist(d.values())
#plt.show()
def most_important(G):
""" returns a copy of G with
the most important nodes
according to the pagerank """
ranking = nx.betweenness_centrality(G).items()
print ranking
r = [x[1] for x in ranking]
m = sum(r)/len(r) # mean centrality
t = m*3 # threshold, we keep only the nodes with 3 times the mean
Gt = G.copy()
for k, v in ranking:
if v < t:
Gt.remove_node(k)
return Gt
Gt = most_important(goarn_network) # trimming
from pylab import show
# create the layout
pos = nx.spring_layout(goarn_network)
# draw the nodes and the edges (all)
nx.draw_networkx_nodes(goarn_network,pos,node_color='b',alpha=0.2,node_size=8)
nx.draw_networkx_edges(goarn_network,pos,alpha=0.1)
# draw the most important nodes with a different style
nx.draw_networkx_nodes(Gt,pos,node_color='r',alpha=0.4,node_size=254)
# also the labels this time
nx.draw_networkx_labels(Gt,pos,font_size=12,font_color='b')
show()
from networkx.algorithms import bipartite
print bipartite.is_bipartite(goarn_network)
#from networkx import find_cliques
#cliques = list(find_cliques(goarn_network))
#bigg= max(cliques, key=lambda l: len(l))
#print bigg
#print nx.graph_number_of_cliques(goarn_network, cliques)
H=nx.connected_component_subgraphs(goarn_network)[0]
print(nx.average_shortest_path_length(H))
print len(goarn_network.nodes())