Пример #1
0
 def test_apply_threshold(self):
     adj = self._build_adj()
     maker = graph.Maker(adj)
     maker.apply_threshold()
     assert np.alltrue(maker.adj.values.diagonal() == np.zeros(5))
     assert adj.values[1, 0] == 0
     assert adj.values[1, 2] != 0
Пример #2
0
def _run_graph(adj, threshold, gml_path, csv_path, louvain, resolution, n_comms, seed):
    # Note: This function is separated for testing purposes.
    leiden = not louvain
    if seed is not None:
        seed = int(seed)
    maker = graph.Maker(adj, gml_path, csv_path, leiden, threshold, resolution, n_comms, seed)
    maker.make_gml_csv_files()
Пример #3
0
 def test_build_ndarray(self):
     adj = self._build_adj().values
     maker = graph.Maker(adj)
     maker.build()
     assert type(maker.graph) == networkx.Graph
     assert len(maker.graph) == 5
     assert len(maker.graph.edges()) == 9
     assert len(networkx.get_edge_attributes(maker.graph, "weight")) == 9
Пример #4
0
 def _get_maker_with_partition(self, out_path):
     gml_path = str(out_path.join("out_main_sub.gml"))
     adj = self._build_adj()
     maker = graph.Maker(adj, gml_path=gml_path, seed=0)
     maker.build()
     maker.save(True)
     maker.get_partition()
     return maker
Пример #5
0
 def test_build(self):
     adj = self._build_adj()
     maker = graph.Maker(adj)
     maker.build()
     assert type(maker.graph) == networkx.Graph
     assert len(maker.graph) == 5
     assert len(maker.graph.edges()) == 9
     assert len(networkx.get_edge_attributes(maker.graph, "weight")) == 9
     assert maker.adj is None
     assert maker.main_sub is not None
Пример #6
0
 def test_membership2attribute_disconnected_ncomms3(self, tmpdir):
     gml_path = str(tmpdir.join("out_main_sub.gml"))
     g = self._build_disconnected_graph()
     maker = graph.Maker(gml_path=gml_path, n_comms=3, gamma=10)
     maker.graph = g
     maker.find_main_sub()
     maker.save(True)
     maker.get_partition()
     name2group = maker.membership2attribute()
     expected = {0: 0, 1: 1, 2: 2, 3: 3, 4: 3, 5: 3, 6: 3, 7: 3, 8: 3, 9: 3}
     assert name2group == expected
Пример #7
0
 def test_membership2attribute_disconnected_ncomms1(self, tmpdir):
     gml_path = str(tmpdir.join("out_main_sub.gml"))
     g = self._build_disconnected_graph()
     maker = graph.Maker(gml_path=gml_path, n_comms=1)
     maker.graph = g
     maker.find_main_sub()
     maker.save(True)
     maker.get_partition()
     name2group = maker.membership2attribute()
     expected = {0: 1, 1: 1, 2: 0, 3: 1, 4: 0, 5: 0, 6: 0, 7: 1, 8: 1, 9: 1}
     assert name2group == expected
Пример #8
0
 def test_save_main_sub(self, tmpdir):
     gml_path = str(tmpdir.join("out_main_sub.gml"))
     adj = self._build_adj()
     maker = graph.Maker(adj, gml_path=gml_path)
     maker.build()
     maker.save(main_sub=True)
     saved = networkx.read_gml(gml_path)
     expected = [str(n) for n in maker.main_sub.nodes()]
     assert list(saved.nodes()) == expected
     expected = [(str(n1), str(n2)) for n1, n2 in maker.main_sub.edges()]
     assert list(saved.edges()) == expected
Пример #9
0
 def test_save(self, tmpdir):
     gml_path = str(tmpdir.join('out.gml'))
     adj = self._build_adj()
     maker = graph.Maker(adj, gml_path=gml_path)
     maker.build()
     maker.save()
     saved = networkx.read_gml(gml_path)
     expected = [str(n) for n in maker.graph.nodes()]
     assert list(saved.nodes()) == expected
     expected = [(str(n1), str(n2)) for n1, n2 in maker.graph.edges()]
     assert list(saved.edges()) == expected
Пример #10
0
 def test_make_gml_file(self, tmpdir):
     gml_path = str(tmpdir.join("out.gml"))
     csv_path = str(tmpdir.join("out.csv"))
     adj = self._build_adj()
     maker = graph.Maker(adj, gml_path=gml_path, csv_path=csv_path)
     maker.make_gml_csv_files()
     in_graph = networkx.read_gml(gml_path)
     assert list(in_graph.nodes()) == [str(i) for i in range(5)]
     assert len(networkx.get_node_attributes(in_graph, "Group")) == 5
     df = pd.read_csv(csv_path, index_col=0)
     assert np.alltrue(df.index.values == np.arange(5))
     assert np.alltrue(df["Group"].values == np.array([1, 0, 1, 0, 0]))
Пример #11
0
 def test_build_no_main_sub(self):
     adj = self._build_adj()
     maker = graph.Maker(adj)
     maker.build(main_sub=False)
     assert maker.main_sub is None
Пример #12
0
 def test_build_no_clear_adj(self):
     adj = self._build_adj()
     maker = graph.Maker(adj)
     maker.build(clear_adj=False)
     assert maker.adj.equals(adj)
Пример #13
0
 def test_apply_threshold_ndarray(self):
     adj = self._build_adj().values
     maker = graph.Maker(adj, threshold=1)
     maker.apply_threshold()
     assert maker.adj.sum() == 0