Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
    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()
Ejemplo n.º 4
0
    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.")
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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.")
Ejemplo n.º 7
0
    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.")
Ejemplo n.º 8
0
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