def run_cg(file_name, supp, min_size_graph, graphs_to_keep): from closegraph import closeGraph cg = closeGraph(database_file_name=file_name, min_support=supp, min_num_vertices=min_size_graph, graphs_to_keep=graphs_to_keep) cg.run() results = cg._report_df.to_numpy().astype(str) results = convert_results_format(results) return results, cg
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 cg = closeGraph(database_file_name=file_name, min_support=supp, min_num_vertices=min_size_graph) cg.run() cg.time_stats()
def test_compound_min_graph_size_42_support_5_percent(self): graph_dataset_size = 422 file_name = "../graphdata/benchmark_tests/Coumpound_422.txt" supp = graph_dataset_size * 0.05 min_size_graph = 42 cg = closeGraph(database_file_name=file_name, min_support=supp, min_num_vertices=min_size_graph) cg.run() cg.time_stats()
def test_case_02(self): cg = closeGraph(database_file_name= "../graphdata/unit_test_data/graph.data.testcase.2", min_support=2) cg.run() results = cg._report_df.to_numpy().astype(str) results = self.convert_results_format(results) solution_1 = ('2', 'v 0 A v 1 B v 2 C e 0 1 x e 0 2 z e 1 2 y ', '3') solutions = [solution_1] self.updateOutput(results) self.assertEqual(sorted(solutions), sorted(results), "Atleast one solution was not found.")
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 cg = closeGraph(database_file_name=file_name, min_support=supp, min_num_vertices=min_size_graph) cg.run() cg.time_stats() cg.graph_dataset_stats() results = cg._report_df.to_numpy().astype(str) results = self.convert_results_format(results) self.updateOutput(results)
def test_case_11(self): cg = closeGraph(database_file_name= "../graphdata/unit_test_data/graph.data.testcase.11", min_support=2) cg.run() results = cg._report_df.to_numpy().astype(str) results = self.convert_results_format(results) 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), "Atleast one solution was not found.")
def test_case_10(self): cg = closeGraph(database_file_name= "../graphdata/unit_test_data/graph.data.testcase.10", min_support=2) cg.run() results = cg._report_df.to_numpy().astype(str) results = self.convert_results_format(results) solution_1 = ( '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 ', '5') solution_2 = ('3', 'v 0 A v 1 D v 2 B v 3 C e 0 1 y e 0 2 z e 2 3 x ', '4') solutions = [solution_1, solution_2] self.updateOutput(results) self.assertEqual(sorted(solutions), sorted(results), "Atleast one solution was not found.")
def main(FLAGS=None): """Run closeGraph.""" 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 # ) # # gs.run() # gs.time_stats() # return gs cg = closeGraph(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) cg.run() cg.time_stats() return cg