diff --git a/.readthedocs.yml b/.readthedocs.yml index d97e42f..3ee3a06 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,4 +1,4 @@ build: image: latest python: - version: 3.6 + version: 3.10 diff --git a/diffxpy/testing/det.py b/diffxpy/testing/det.py index 29d25a8..3ed3dbb 100644 --- a/diffxpy/testing/det.py +++ b/diffxpy/testing/det.py @@ -127,7 +127,7 @@ def log10_pval_clean(self, log10_threshold=-30): :param log10_threshold: minimal log10 p-value to return. :return: Cleaned log10 transformed p-values. """ - pvals = np.reshape(self.pval, -1).astype(dtype=np.float) + pvals = np.reshape(self.pval, -1).astype(dtype=float) pvals = np.clip( pvals, np.nextafter(0, 1), @@ -148,7 +148,7 @@ def log10_qval_clean(self, log10_threshold=-30): :param log10_threshold: minimal log10 q-value to return. :return: Cleaned log10 transformed q-values. """ - qvals = np.reshape(self.qval, -1).astype(dtype=np.float) + qvals = np.reshape(self.qval, -1).astype(dtype=float) qvals = np.clip( qvals, np.nextafter(0, 1), @@ -357,7 +357,7 @@ def plot_ma( plt.ioff() ave = np.log(np.clip( - self.mean.astype(dtype=np.float), + self.mean.astype(dtype=float), np.max(np.array([np.nextafter(0, 1), min_mean])), np.inf )) @@ -1564,8 +1564,8 @@ def __init__( x0, x1 = split_x(data, grouping) # Only compute p-values for genes with non-zero observations and non-zero group-wise variance. - mean_x0 = np.asarray(np.mean(x0, axis=0)).flatten().astype(dtype=np.float) - mean_x1 = np.asarray(np.mean(x1, axis=0)).flatten().astype(dtype=np.float) + mean_x0 = np.asarray(np.mean(x0, axis=0)).flatten().astype(dtype=float) + mean_x1 = np.asarray(np.mean(x1, axis=0)).flatten().astype(dtype=float) # Avoid unnecessary mean computation: self._mean = np.asarray(np.average( a=np.vstack([mean_x0, mean_x1]), @@ -1577,11 +1577,11 @@ def __init__( self._ave_nonzero = self._mean != 0 # omit all-zero features if isinstance(x0, scipy.sparse.csr_matrix): # Efficient analytic expression of variance without densification. - var_x0 = np.asarray(np.mean(x0.power(2), axis=0)).flatten().astype(dtype=np.float) - np.square(mean_x0) - var_x1 = np.asarray(np.mean(x1.power(2), axis=0)).flatten().astype(dtype=np.float) - np.square(mean_x1) + var_x0 = np.asarray(np.mean(x0.power(2), axis=0)).flatten().astype(dtype=float) - np.square(mean_x0) + var_x1 = np.asarray(np.mean(x1.power(2), axis=0)).flatten().astype(dtype=float) - np.square(mean_x1) else: - var_x0 = np.asarray(np.var(x0, axis=0)).flatten().astype(dtype=np.float) - var_x1 = np.asarray(np.var(x1, axis=0)).flatten().astype(dtype=np.float) + var_x0 = np.asarray(np.var(x0, axis=0)).flatten().astype(dtype=float) + var_x1 = np.asarray(np.var(x1, axis=0)).flatten().astype(dtype=float) self._var_geq_zero = np.logical_or( var_x0 > 0, var_x1 > 0 @@ -1690,8 +1690,8 @@ def __init__( x0, x1 = split_x(data, grouping) - mean_x0 = np.asarray(np.mean(x0, axis=0)).flatten().astype(dtype=np.float) - mean_x1 = np.asarray(np.mean(x1, axis=0)).flatten().astype(dtype=np.float) + mean_x0 = np.asarray(np.mean(x0, axis=0)).flatten().astype(dtype=float) + mean_x1 = np.asarray(np.mean(x1, axis=0)).flatten().astype(dtype=float) # Avoid unnecessary mean computation: self._mean = np.asarray(np.average( a=np.vstack([mean_x0, mean_x1]), @@ -1702,11 +1702,11 @@ def __init__( )).flatten() if isinstance(x0, scipy.sparse.csr_matrix): # Efficient analytic expression of variance without densification. - var_x0 = np.asarray(np.mean(x0.power(2), axis=0)).flatten().astype(dtype=np.float) - np.square(mean_x0) - var_x1 = np.asarray(np.mean(x1.power(2), axis=0)).flatten().astype(dtype=np.float) - np.square(mean_x1) + var_x0 = np.asarray(np.mean(x0.power(2), axis=0)).flatten().astype(dtype=float) - np.square(mean_x0) + var_x1 = np.asarray(np.mean(x1.power(2), axis=0)).flatten().astype(dtype=float) - np.square(mean_x1) else: - var_x0 = np.asarray(np.var(x0, axis=0)).flatten().astype(dtype=np.float) - var_x1 = np.asarray(np.var(x1, axis=0)).flatten().astype(dtype=np.float) + var_x0 = np.asarray(np.var(x0, axis=0)).flatten().astype(dtype=float) + var_x1 = np.asarray(np.var(x1, axis=0)).flatten().astype(dtype=float) self._var_geq_zero = np.logical_or( var_x0 > 0, var_x1 > 0 diff --git a/diffxpy/testing/tests.py b/diffxpy/testing/tests.py index c378494..e031ec2 100644 --- a/diffxpy/testing/tests.py +++ b/diffxpy/testing/tests.py @@ -1273,9 +1273,9 @@ def pairwise( elif isinstance(data, glm.typing.InputDataBase): data = data.x groups = np.unique(grouping) - pvals = np.tile(np.NaN, [len(groups), len(groups), data.shape[1]]) + pvals = np.tile(np.nan, [len(groups), len(groups), data.shape[1]]) pvals[np.eye(pvals.shape[0]).astype(bool)] = 0 - logfc = np.tile(np.NaN, [len(groups), len(groups), data.shape[1]]) + logfc = np.tile(np.nan, [len(groups), len(groups), data.shape[1]]) logfc[np.eye(logfc.shape[0]).astype(bool)] = 0 if keep_full_test_objs: diff --git a/requirements.txt b/requirements.txt index 3ea27ae..0898449 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -numpy>=1.14.0 +numpy>=1.20.0 scipy pandas patsy>=0.5.0 diff --git a/setup.py b/setup.py index 7b98e2a..9955d90 100644 --- a/setup.py +++ b/setup.py @@ -17,7 +17,7 @@ long_description_content_type="text/markdown", packages=find_packages(), install_requires=[ - 'numpy>=1.16.4', + 'numpy>=1.20', 'scipy>=1.2.1', 'pandas', 'patsy>=0.5.0',