|
3 | 3 | import numpy as np
|
4 | 4 | from scipy.sparse import csr_matrix
|
5 | 5 | from anndata import AnnData
|
6 |
| -from ..pre import check_mat, extract, filt_min_n, match, rename_net, get_net_mat, mask_features |
| 6 | +from ..pre import ( |
| 7 | + check_mat, extract, filt_min_n, match, rename_net, get_net_mat, mask_features, |
| 8 | + return_data, add_to_anndata |
| 9 | +) |
7 | 10 |
|
8 | 11 |
|
9 | 12 | def test_check_mat():
|
@@ -101,3 +104,38 @@ def test_mask_features():
|
101 | 104 | mask_features('asdfg')
|
102 | 105 | with pytest.raises(ValueError):
|
103 | 106 | mask_features(adata, use_raw=True)
|
| 107 | + |
| 108 | + |
| 109 | +def test_add_to_anndata(): |
| 110 | + m = np.array([[1, 0, 2], [1, 0, 3]]) |
| 111 | + r = np.array(['S1', 'S2']) |
| 112 | + c = np.array(['G1', 'G2', 'G3']) |
| 113 | + df = pd.DataFrame(m, index=r, columns=c) |
| 114 | + adata = AnnData(df.astype(np.float32)) |
| 115 | + estimate = np.array([[1], [4]]) |
| 116 | + s = np.array(['S1']) |
| 117 | + estimate = pd.DataFrame(estimate, index=r, columns=s) |
| 118 | + estimate.name = 'estimate' |
| 119 | + add_to_anndata(mat=adata, results=(estimate, None)) |
| 120 | + assert 'estimate' in adata.obsm |
| 121 | + |
| 122 | + |
| 123 | +def test_return_data(): |
| 124 | + m = np.array([[1, 0, 2], [1, 0, 3], [0, 0, 0]]) |
| 125 | + r = np.array(['S1', 'S2', 'S3']) |
| 126 | + c = np.array(['G1', 'G2', 'G3']) |
| 127 | + df = pd.DataFrame(m, index=r, columns=c) |
| 128 | + adata = AnnData(df.astype(np.float32)) |
| 129 | + estimate = np.array([[1], [4]]) |
| 130 | + s = np.array(['S1']) |
| 131 | + estimate = pd.DataFrame(estimate, index=r[:-1], columns=s) |
| 132 | + estimate.name = 'estimate' |
| 133 | + pvals = np.array([[0.4], [0.01]]) |
| 134 | + pvals = pd.DataFrame(pvals, index=estimate.index, columns=estimate.columns) |
| 135 | + pvals.name = 'pvals' |
| 136 | + ret = return_data(mat=adata, results=(estimate, pvals)) |
| 137 | + assert isinstance(ret, AnnData) |
| 138 | + ret = return_data(mat=adata[estimate.index, :].copy(), results=(estimate, pvals)) |
| 139 | + assert ret is None |
| 140 | + ret = return_data(mat=df, results=(estimate, pvals)) |
| 141 | + assert isinstance(ret, tuple) |
0 commit comments