From d38441473ebeacd71f6e31ea6dc2046eff4e18fc Mon Sep 17 00:00:00 2001 From: Philipp Weiler Date: Fri, 12 Apr 2024 12:49:13 +0200 Subject: [PATCH] Update unit tests to latest changes --- tests/preprocessing/test_moments.py | 5 -- tests/preprocessing/test_neighbors.py | 80 --------------------------- tests/test_basic.py | 11 ---- 3 files changed, 96 deletions(-) diff --git a/tests/preprocessing/test_moments.py b/tests/preprocessing/test_moments.py index 2ce03fb7..e6e4b167 100644 --- a/tests/preprocessing/test_moments.py +++ b/tests/preprocessing/test_moments.py @@ -204,7 +204,6 @@ def _compare_adatas(self, adata_1, adata_2): assert set(adata_1.uns["neighbors"]) == { "connectivities_key", "distances_key", - "indices", "params", } assert ( @@ -215,10 +214,6 @@ def _compare_adatas(self, adata_1, adata_2): adata_1.uns["neighbors"]["distances_key"] == adata_2.uns["neighbors"]["distances_key"] ) - np.testing.assert_equal( - adata_1.uns["neighbors"]["indices"], - adata_2.uns["neighbors"]["indices"], - ) assert adata_1.uns["neighbors"]["params"] == adata_2.uns["neighbors"]["params"] @pytest.mark.parametrize("dataset", ["pancreas", "dentategyrus"]) diff --git a/tests/preprocessing/test_neighbors.py b/tests/preprocessing/test_neighbors.py index 1735b2c3..59b3c8f7 100644 --- a/tests/preprocessing/test_neighbors.py +++ b/tests/preprocessing/test_neighbors.py @@ -17,7 +17,6 @@ _get_scanpy_neighbors, _get_sklearn_neighbors, _set_pca, - compute_connectivities_umap, get_connectivities, get_csr_from_indices, get_duplicate_cells, @@ -34,37 +33,6 @@ from tests.core import get_adata -class TestComputeConnectivitiesUmap: - @pytest.mark.parametrize("dataset", ["pancreas", "dentategyrus"]) - @pytest.mark.parametrize("n_obs", [50, 100]) - def test_real_data(self, adata, dataset, n_obs): - adata = adata(dataset=dataset, n_obs=n_obs, raw=False, preprocessed=True) - - knn_indices = adata.uns["neighbors"]["indices"] - - knn_distances = [] - for row_distance, row_index in zip(adata.obsp["distances"], knn_indices): - knn_distances.append(row_distance.A[0, row_index]) - knn_distances = np.array(knn_distances) - - distance_matrix, connectivity_matrix = compute_connectivities_umap( - knn_indices=knn_indices, - knn_dists=knn_distances, - n_obs=n_obs, - n_neighbors=adata.uns["neighbors"]["params"]["n_neighbors"], - ) - - assert isinstance(distance_matrix, csr_matrix) - np.testing.assert_almost_equal( - distance_matrix.A, adata.obsp["distances"].A, decimal=4 - ) - - assert isinstance(connectivity_matrix, csr_matrix) - np.testing.assert_almost_equal( - connectivity_matrix.A, adata.obsp["connectivities"].A, decimal=4 - ) - - class TestGetConnectivities: @pytest.mark.parametrize("dataset", ["pancreas", "dentategyrus"]) @pytest.mark.parametrize("n_obs", [50, 100]) @@ -274,28 +242,6 @@ def test_manual_data( assert isinstance(returned_matrix, csr_matrix) assert (returned_matrix != ground_truth).getnnz() == 0 - @pytest.mark.parametrize("dataset", ["pancreas", "dentategyrus"]) - @pytest.mark.parametrize("n_obs", [50, 100]) - def test_real_data(self, adata, dataset, n_obs): - adata = adata(dataset=dataset, n_obs=n_obs, raw=False, preprocessed=True) - - knn_indices = adata.uns["neighbors"]["indices"] - - knn_distances = [] - for row_distance, row_index in zip(adata.obsp["distances"], knn_indices): - knn_distances.append(row_distance.A[0, row_index]) - knn_distances = np.array(knn_distances) - - returned_matrix = get_csr_from_indices( - knn_indices=knn_indices, - knn_dists=knn_distances, - n_obs=n_obs, - n_neighbors=adata.uns["neighbors"]["params"]["n_neighbors"], - ) - - assert isinstance(returned_matrix, csr_matrix) - assert (returned_matrix != adata.obsp["distances"]).getnnz() == 0 - class TestGetDuplicateCells: @pytest.mark.parametrize( @@ -1828,32 +1774,6 @@ def test_set_diagonal(self, knn_distances, knn_indices, remove_diag): np.testing.assert_equal(knn_indices_[:, 0], np.arange(3)) np.testing.assert_equal(knn_indices_[:, 1:], knn_indices) - @pytest.mark.parametrize("dataset", ["pancreas", "dentategyrus"]) - @pytest.mark.parametrize("n_obs", [50, 100]) - @pytest.mark.parametrize("remove_diag", [True, False]) - def test_real_data(self, adata, dataset, n_obs, remove_diag): - adata = adata(dataset=dataset, n_obs=n_obs, raw=False, preprocessed=True) - n_neighbors = adata.uns["neighbors"]["params"]["n_neighbors"] - - knn_distances = adata.obsp["distances"][ - np.repeat(np.arange(adata.n_obs), n_neighbors).reshape(adata.n_obs, -1), - adata.uns["neighbors"]["indices"], - ].A - knn_indices = adata.uns["neighbors"]["indices"] - - knn_distances_, knn_indices_ = set_diagonal( - knn_distances=knn_distances, - knn_indices=knn_indices, - remove_diag=remove_diag, - ) - - if remove_diag: - np.testing.assert_equal(knn_distances_, knn_distances[:, 1:]) - np.testing.assert_equal(knn_indices_, knn_indices[:, 1:]) - else: - np.testing.assert_equal(knn_distances_, knn_distances) - np.testing.assert_equal(knn_indices_, knn_indices) - class TestSetPCA: @pytest.mark.parametrize("dataset", ["pancreas", "dentategyrus"]) diff --git a/tests/test_basic.py b/tests/test_basic.py index 169aac68..0336d88b 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -13,17 +13,6 @@ def test_einsum(): assert np.allclose(l2_norm(Ms), np.linalg.norm(Ms, axis=1)) -def test_neighbors(): - adata = scv.datasets.simulation(random_seed=0, n_vars=100) - scv.pp.filter_and_normalize(adata) - scv.pp.pca(adata) - scv.pp.neighbors(adata) - adata_ = scv.pp.neighbors(adata, method="sklearn", copy=True) - dists = np.round(adata.obsp["distances"][0].data, 2) - dists_ = np.round(adata_.obsp["distances"][0].data, 2) - assert np.all(dists == dists_) - - def test_dynamical_model(): adata = scv.datasets.simulation(random_seed=0, n_vars=10) scv.pp.filter_and_normalize(adata)