def script(): filename = sys.argv[1] min_sup = sys.argv[2] D = graph_reader.graph_reader(filename) gspan.gSpan([], D, int(min_sup)) print "Total number of patterns: {}".format(gspan.num_call - 1)
def main(): if len(sys.argv) == 1 or '-h' in sys.argv: usage() exit() if '-t' in sys.argv: opt_dict = parse_args('-n 2 -s 2 -l 2 -u 3 -v'.split(), default_args) else: opt_dict = parse_args(sys.argv[1:], default_args) if not os.path.exists(opt_dict['database_file_name']): print('{} does not exist.'.format(opt_dict['database_file_name'])) exit() gs = gSpan(database_file_name=opt_dict['database_file_name'], min_support=opt_dict['-s'], min_num_vertices=opt_dict['-l'], max_num_vertices=opt_dict['-u'], max_ngraphs=opt_dict['-n'], is_undirected=(opt_dict['-d'] == 0), verbose=(opt_dict['-v'] == 1), visualize=(opt_dict['-p'] == 1), where=(opt_dict['-w'] == 1)) gs.run() gs.time_stats()
def test_compound_min_graph_size_2_support_10_percent(self): graph_dataset_size = 422 file_name = "../graphdata/benchmark_tests/Coumpound_422.txt" supp = graph_dataset_size * 0.1 min_size_graph = 2 gs = gSpan(database_file_name=file_name, min_support=supp, min_num_vertices=min_size_graph) gs.run() gs.time_stats()
def test_chemical_min_graph_size_32_support_5_percent(self): graph_dataset_size = 340 file_name = "../graphdata/benchmark_tests/Chemical_340.txt" supp = graph_dataset_size * 0.05 min_size_graph = 32 gs = gSpan(database_file_name=file_name, min_support=supp, min_num_vertices=min_size_graph) gs.run() gs.time_stats()
def main(FLAGS=None): """Run gSpan.""" if FLAGS is None: FLAGS, _ = parser.parse_known_args(args=sys.argv[1:]) if not os.path.exists(FLAGS.database_file_name): print('{} does not exist.'.format(FLAGS.database_file_name)) sys.exit() gs = gSpan(database_file_name=FLAGS.database_file_name, min_support=FLAGS.min_support) gs.run() gs.time_stats() return gs
def main(args): gs = gSpan(database_file_name=args['database_file_name'], min_support=args['-s'], min_num_vertices=args['-l'], max_num_vertices=args['-u'], max_ngraphs=args['-n'], is_undirected=(args['-d'] == 0), verbose=(args['-v'] == 1), visualize=(args['-p'] == 1), where=(args['-w'] == 1)) gs.run() gs.time_stats()
def run_ncg(file_name, supp, min_size_graph, graphs_to_keep): from gspan import gSpan gs = gSpan(database_file_name=file_name, min_support=supp, min_num_vertices=min_size_graph, graphs_to_keep=graphs_to_keep) gs.run() max_subgraphs = gs._max_subgraphs if max_subgraphs is None: results = [] else: results = get_multiple_results(gs, max_subgraphs) return results, gs
def test_chemical_min_graph_size_2(self): graph_dataset_size = 340 file_name = "../graphdata/benchmark_tests/Chemical_340.txt" supp = graph_dataset_size * 0.45 min_size_graph = 2 gs = gSpan(database_file_name=file_name, min_support=supp, min_num_vertices=min_size_graph) gs.run() gs.time_stats() max_subgraphs = gs._max_subgraphs results = self.get_multiple_results(gs, max_subgraphs) self.updateOutput(results)
def test_testcase_00(self): gs = gSpan( database_file_name="../graphdata/graph.data.testcase.0", min_support=2 ) gs.run() max_subgraphs = gs._max_subgraphs results = self.get_single_result(gs,max_subgraphs) solution_1 = ('2', 'v 0 A v 1 B v 2 C v 3 D e 0 1 x e 1 2 y e 1 3 z ', '4') solutions = [solution_1] self.updateOutput(results) self.assertEqual(sorted(solutions), sorted(results))
def test_testcase_11(self): gs = gSpan( database_file_name="../graphdata/graph.data.testcase.11", min_support=2 ) gs.run() max_subgraphs = gs._max_subgraphs results = self.get_multiple_results(gs,max_subgraphs) solution_1 = ('2','v 0 A v 1 AA v 2 B v 3 C v 4 D v 5 E v 6 F v 7 G e 0 1 m e 1 2 n e 1 5 q e 2 3 o e 3 4 p e 5 6 r e 6 7 s ','8') solution_2 = ('3','v 0 A v 1 AA v 2 B v 3 E e 0 1 m e 1 2 n e 1 3 q ','4') solutions = [solution_1, solution_2] self.updateOutput(results) self.assertEqual(sorted(solutions), sorted(results))
def main(): if not os.path.exists(FLAGS.database_file_name): print('{} does not exist.'.format(FLAGS.database_file_name)) sys.exit() gs = gSpan(database_file_name=FLAGS.database_file_name, min_support=FLAGS.s, min_num_vertices=FLAGS.l, max_num_vertices=FLAGS.u, max_ngraphs=FLAGS.n, is_undirected=(FLAGS.d == 0), verbose=(FLAGS.v != 0), visualize=(FLAGS.p != 0), where=(FLAGS.w != 0)) gs.run() gs.time_stats()
def test_testcase_02(self): gs = gSpan( database_file_name="../graphdata/graph.data.testcase.2", min_support=2 ) gs.run() max_subgraphs = gs._max_subgraphs results = self.get_single_result(gs, max_subgraphs) solution_support = "2" solution_description = "v 0 A v 1 B v 2 C e 0 1 x e 0 2 z e 1 2 y " solution_num_vert = "3" solution_1 = (solution_support, solution_description, solution_num_vert) solutions = [solution_1] self.updateOutput(results) self.assertEqual(sorted(solutions), sorted(results))
def find_subgraph(group_id, is_generalise=0, has_root=1): graphs,min_support=read_gml_graphs('../with_tags', group_id=group_id, is_generalise=is_generalise, has_root=has_root) gs = gSpan( database_file_name='../gSpan/graphdata/graph.data.5', min_support=min_support, min_num_vertices=2, max_num_vertices=float('inf'), max_ngraphs=float('inf'), is_undirected=0, verbose=0, visualize=0, where=0) gs.graphs=graphs logging.info('Number of graphs = %s, min_support = %s, min_num_vertices = %s',len(gs.graphs), gs.min_support, gs.min_num_vertices) gs.run() gs.report_df.to_csv('gen/group'+str(group_id)+'_hubermas'+str(is_generalise)+'_root'+str(has_root)+'_supp'+str(gs.min_support)+'_min'+str(gs.min_num_vertices)+'.csv', sep=';', encoding='cp1251')
def main(FLAGS): """Run gSpan.""" if not os.path.exists(FLAGS.database_file_name): print('{} does not exist.'.format(FLAGS.database_file_name)) sys.exit() gs = gSpan( database_file_name=FLAGS.database_file_name, min_support=FLAGS.min_support, min_num_vertices=FLAGS.lower_bound_of_num_vertices, max_num_vertices=FLAGS.upper_bound_of_num_vertices, max_ngraphs=FLAGS.num_graphs, is_undirected=(not FLAGS.directed), verbose=FLAGS.verbose, visualize=FLAGS.plot, where=FLAGS.where ) gs.run() gs.time_stats() return gs
def test_testcase_10(self): gs = gSpan( database_file_name="../graphdata/graph.data.testcase.10", min_support=2 ) gs.run() max_subgraphs = gs._max_subgraphs results = self.get_multiple_results(gs,max_subgraphs) solution_support_1 = "3" solution_description_1 = 'v 0 A v 1 D v 2 B v 3 C e 0 1 y e 0 2 z e 2 3 x ' solution_num_vert_1 = "4" solution_1 = (solution_support_1, solution_description_1, solution_num_vert_1) solution_support_2 = "2" solution_description_2 = 'v 0 A v 1 D v 2 E v 3 B v 4 C e 0 1 y e 0 3 z e 1 2 w e 3 4 x ' solution_num_vert_2 = "5" solution_2 = (solution_support_2, solution_description_2, solution_num_vert_2) solutions = [solution_1, solution_2] self.updateOutput(results) self.assertEqual(sorted(solutions), sorted(results))
def main(FLAGS=None): """Run gSpan.""" if FLAGS is None: FLAGS, _ = parser.parse_known_args(args=sys.argv[1:]) if not os.path.exists(FLAGS.database_file_name): print('{} does not exist.'.format(FLAGS.database_file_name)) sys.exit() gs = gSpan(database_file_name=FLAGS.database_file_name, min_support=FLAGS.min_support, min_num_vertices=FLAGS.lower_bound_of_num_vertices, max_num_vertices=FLAGS.upper_bound_of_num_vertices, max_ngraphs=FLAGS.num_graphs, is_undirected=(not FLAGS.directed), verbose=FLAGS.verbose, visualize=FLAGS.plot, where=FLAGS.where) test = gs.run() gs.time_stats() return gs
def test_testcase_08(self): gs = gSpan( database_file_name="../graphdata/graph.data.testcase.8", min_support=2 ) gs.run() max_subgraphs = gs._max_subgraphs results = self.get_multiple_results(gs,max_subgraphs) solution_support_1 = "3" solution_description_1 = 'v 0 A v 1 B v 2 C v 3 D e 0 1 w e 0 2 x e 0 3 y ' solution_num_vert_1 = "4" solution_1 = (solution_support_1, solution_description_1, solution_num_vert_1) solution_support_2 = "2" solution_description_2 = 'v 0 A v 1 B v 2 C v 3 D v 4 E e 0 1 w e 0 2 x e 0 3 y e 0 4 z ' solution_num_vert_2 = "5" solution_2 = (solution_support_2, solution_description_2, solution_num_vert_2) solutions = [solution_1, solution_2] self.updateOutput(results) self.assertEqual(sorted(solutions), sorted(results))