forked from louzounlab/graph-measures
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cpp_comparison.py
59 lines (47 loc) · 1.37 KB
/
cpp_comparison.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
import os
import sys
sys.path.append(os.path.abspath('..'))
sys.path.append(os.path.abspath('../..'))
import networkx as nx
from graph_measures.loggers import PrintLogger
from pprint import pprint
from graph_measures.features_algorithms.vertices.motifs import MotifsNodeCalculator
logger = PrintLogger("Logger")
def create_graph(i=1, GraphType=nx.Graph):
G = GraphType()
if i == 1:
G.add_edge(0, 1)
G.add_edge(0, 2)
G.add_edge(0, 3)
G.add_edge(2, 0)
G.add_edge(3, 1)
G.add_edge(3, 2)
elif i == 2:
G.add_edge(0, 1, weight=0.6)
G.add_edge(0, 2, weight=0.2)
G.add_edge(2, 3, weight=0.1)
G.add_edge(2, 4, weight=0.7)
G.add_edge(2, 5, weight=0.9)
G.add_edge(0, 3, weight=0.3)
elif i == 3:
G.add_edge(0, 1)
G.add_edge(0, 2)
G.add_edge(0, 3)
G.add_edge(2, 0)
G.add_edge(3, 1)
G.add_edge(3, 2)
G.add_edge(2, 4)
G.add_edge(3, 4)
G.add_edge(1, 5)
G.add_edge(4, 5)
G.add_edge(5, 6)
return G
def compare_motifs(gnx, level=3):
feature = MotifsNodeCalculator(gnx, level=level, logger=logger)
feature.build()
# pprint(feature._features)
# mx = feature.to_matrix(should_zscore=False)
# print(mx)
if __name__ == '__main__':
gnx = create_graph(3,nx.Graph)
compare_motifs(gnx, 3)