Skip to content

Commit ae59388

Browse files
fixed external lib unit test
1 parent ba50173 commit ae59388

File tree

1 file changed

+23
-24
lines changed

1 file changed

+23
-24
lines changed

diffxpy/unit_test/test_single_external_libs.py

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import unittest
22
import logging
33
import numpy as np
4-
import pandas as pd
54
import scipy.stats as stats
65

76
from batchglm.api.models.glm_nb import Simulator
@@ -18,10 +17,7 @@ def _prepare_data(self, n_cells: int = 2000, n_genes: int = 100):
1817
"""
1918
sim = Simulator(num_observations=n_cells, num_features=n_genes)
2019
sim.generate_sample_description(num_batches=0, num_conditions=2)
21-
sim.generate_params(
22-
rand_fn_ave=lambda shape: np.random.poisson(500, shape) + 1,
23-
rand_fn=lambda shape: np.abs(np.random.uniform(1, 0.5, shape))
24-
)
20+
sim.generate_params()
2521
sim.generate_data()
2622

2723
return sim
@@ -45,8 +41,8 @@ def _eval(self, test, ref_pvals):
4541
'mean absolute log p-value deviation: %f' %
4642
float(mean_dev)
4743
)
48-
assert max_dev < 1e-3, "maximum deviation too large"
49-
assert max_log_dev < 1e-1, "maximum deviation in log space too large"
44+
assert max_dev < 1e-3, "maximum deviation too large: %f" % max_dev
45+
assert max_log_dev < 1e-1, "maximum deviation in log space too large: %f" % max_log_dev
5046

5147
def test_t_test_ref(self, n_cells: int = 2000, n_genes: int = 100):
5248
"""
@@ -59,23 +55,25 @@ def test_t_test_ref(self, n_cells: int = 2000, n_genes: int = 100):
5955
logging.getLogger("batchglm").setLevel(logging.WARNING)
6056
logging.getLogger("diffxpy").setLevel(logging.INFO)
6157

58+
np.random.seed(1)
6259
sim = self._prepare_data(n_cells=n_cells, n_genes=n_genes)
63-
6460
test = de.test.t_test(
65-
data=sim.x,
61+
data=sim.input_data,
6662
grouping="condition",
67-
sample_description=sim.sample_description,
68-
dtype="float64"
63+
sample_description=sim.sample_description
6964
)
7065

7166
# Run scipy t-tests as a reference.
7267
conds = np.unique(sim.sample_description["condition"].values)
7368
ind_a = np.where(sim.sample_description["condition"] == conds[0])[0]
7469
ind_b = np.where(sim.sample_description["condition"] == conds[1])[0]
75-
scipy_pvals = stats.ttest_ind(a=sim.X[ind_a, :], b=sim.X[ind_b, :], axis=0, equal_var=False).pvalue
76-
70+
scipy_pvals = stats.ttest_ind(
71+
a=sim.x[ind_a, :],
72+
b=sim.x[ind_b, :],
73+
axis=0,
74+
equal_var=False
75+
).pvalue
7776
self._eval(test=test, ref_pvals=scipy_pvals)
78-
7977
return True
8078

8179
def test_rank_ref(self, n_cells: int = 2000, n_genes: int = 100):
@@ -89,27 +87,28 @@ def test_rank_ref(self, n_cells: int = 2000, n_genes: int = 100):
8987
logging.getLogger("batchglm").setLevel(logging.WARNING)
9088
logging.getLogger("diffxpy").setLevel(logging.INFO)
9189

90+
np.random.seed(1)
9291
sim = self._prepare_data(n_cells=n_cells, n_genes=n_genes)
93-
9492
test = de.test.rank_test(
95-
data=sim.x,
93+
data=sim.input_data,
9694
grouping="condition",
97-
sample_description=sim.sample_description,
98-
dtype="float64"
95+
sample_description=sim.sample_description
9996
)
10097

10198
# Run scipy t-tests as a reference.
10299
conds = np.unique(sim.sample_description["condition"].values)
103100
ind_a = np.where(sim.sample_description["condition"] == conds[0])[0]
104101
ind_b = np.where(sim.sample_description["condition"] == conds[1])[0]
105102
scipy_pvals = np.array([
106-
stats.mannwhitneyu(x=sim.X[ind_a, i], y=sim.X[ind_b, i],
107-
use_continuity=True, alternative="two-sided").pvalue
108-
for i in range(sim.X.shape[1])
109-
])
110-
103+
stats.mannwhitneyu(
104+
x=sim.x[ind_a, i],
105+
y=sim.x[ind_b, i],
106+
use_continuity=True,
107+
alternative="two-sided"
108+
).pvalue
109+
for i in range(sim.x.shape[1])
110+
])
111111
self._eval(test=test, ref_pvals=scipy_pvals)
112-
113112
return True
114113

115114

0 commit comments

Comments
 (0)