bg = GRIMMReader.get_breakpoint_graph(source)
            bg_graphs[file_name.split(".")[0]] = bg
    bg = BreakpointGraph()
    for br_gr in bg_graphs.values():
        bg.update(br_gr, merge_edges=True)

    target_multicolor = Multicolor("Anguilla_japonica")

    print("Breakpoint graph stats:")
    print(
        "\t", "non-infinity nodes count:",
        len(
            list(node for node in bg.nodes()
                 if not BGVertex.is_infinity_vertex(node))))
    normal_edges, infinity_edges = [], []
    for edge in bg.edges():
        if edge.is_infinity_edge:
            infinity_edges.append(edge)
        else:
            normal_edges.append(edge)
    print("\t", "non-infinity edges count:", len(normal_edges))
    print("\t", "infinity edges count:", len(infinity_edges))
    print("\t", "connected component count:",
          len(list(bg.connected_components_subgraphs())))

    print()
    print()

    cc_cnt_with_exactly_two_targeted_infinity_edges = 0
    for cnt, cc in enumerate(bg.connected_components_subgraphs()):
        infinity_edges = defaultdict(int)