Skip to content

get_pseudobulk from decoupler can't be imported #27

@AdnanAbouelela

Description

@AdnanAbouelela

Report

Hi, I just noticed that the way the pseudobulk functionality is imported from decoupler does not work anymore for decoupler>=2.0.0. The package underwent large refactors for integration into scverse. It is now available as decoupler.pp.pseudobulk.

Just for completeness the error log:

from hnoca.stats.pseudobulk import create_pseudobulk 
adata_pb = create_pseudobulk(
    ...
)

Returns:

File [/cluster/project/treutlein/USERS/aabouelela/miniforge3/envs/hnoca_py312/lib/python3.12/site-packages/hnoca/stats/pseudobulk.py:36](https://jupyter.euler.hpc.ethz.ch/user/aabouelela/server/cluster/project/treutlein/USERS/aabouelela/miniforge3/envs/hnoca_py312/lib/python3.12/site-packages/hnoca/stats/pseudobulk.py#line=35), in create_pseudobulk(adata, sample_key, group_key, layer, mode, min_cells, min_counts, **kwargs)
     17 """
     18 Create pseudobulk data from anndata object
     19 
   (...)     33     AnnData object with pseudobulk data
     34 """
     35 check_deps("decoupler")
---> 36 from decoupler import get_pseudobulk
     38 if layer is not None:
     39     adata.X = adata.layers[layer].copy()

ImportError: cannot import name 'get_pseudobulk' from 'decoupler' ([/cluster/project/treutlein/USERS/aabouelela/miniforge3/envs/hnoca_py312/lib/python3.12/site-packages/decoupler/__init__.py](https://jupyter.euler.hpc.ethz.ch/user/aabouelela/server/cluster/project/treutlein/USERS/aabouelela/miniforge3/envs/hnoca_py312/lib/python3.12/site-packages/decoupler/__init__.py))

Versions

| Package            | Version |
| ------------------ | ------- |
| hnoca              | 0.2.1   |
| scanpy             | 1.11.3  |
| pandas             | 2.3.1   |
| amex_merfish_utils | 0.0.1   |
| anndata            | 0.12.0  |

| Dependency               | Version        |
| ------------------------ | -------------- |
| Jinja2                   | 3.1.6          |
| jaxlib                   | 0.6.2          |
| legacy-api-wrap          | 1.4.1          |
| jax-cuda12-plugin        | 0.6.2          |
| llvmlite                 | 0.44.0         |
| nvidia-nccl-cu12         | 2.27.6         |
| nvidia-nvjitlink-cu12    | 12.9.86        |
| scikit-learn             | 1.7.1          |
| attrs                    | 25.3.0         |
| fastrlock                | 0.8.3          |
| pyzmq                    | 27.0.0         |
| xarray                   | 2024.11.0      |
| jupyter_core             | 5.8.1          |
| typing_extensions        | 4.14.1         |
| rapids-dask-dependency   | 25.8.0         |
| opt_einsum               | 3.4.0          |
| stack_data               | 0.6.3          |
| crc32c                   | 2.7.1          |
| toolz                    | 1.0.0          |
| jax-cuda12-pjrt          | 0.6.2          |
| ipython                  | 9.4.0          |
| prompt_toolkit           | 3.0.51         |
| nvidia-cusolver-cu12     | 11.7.5.82      |
| nvidia-cusparse-cu12     | 12.5.10.65     |
| platformdirs             | 4.3.8          |
| parso                    | 0.8.4          |
| pycparser                | 2.22           |
| jedi                     | 0.19.2         |
| rapids_singlecell        | 0.13.2         |
| rich                     | 14.0.0         |
| numcodecs                | 0.15.1         |
| msgpack                  | 1.1.1          |
| pyparsing                | 3.2.3          |
| MarkupSafe               | 3.0.2          |
| cloudpickle              | 3.1.1          |
| pillow                   | 11.3.0         |
| comm                     | 0.2.2          |
| joblib                   | 1.5.1          |
| threadpoolctl            | 3.6.0          |
| matplotlib               | 3.10.3         |
| igraph                   | 0.11.9         |
| executing                | 2.2.0          |
| nvidia-cuda-nvrtc-cu12   | 12.9.86        |
| python-dateutil          | 2.9.0.post0    |
| nvidia-cublas-cu12       | 12.9.1.4       |
| tblib                    | 3.1.0          |
| psutil                   | 7.0.0          |
| Deprecated               | 1.2.18         |
| tornado                  | 6.5.1          |
| nvidia-cudnn-cu12        | 9.11.0.98      |
| cupy-cuda12x             | 13.6.0         |
| numba                    | 0.61.2         |
| patsy                    | 1.0.1          |
| defusedxml               | 0.7.1          |
| charset-normalizer       | 3.4.2          |
| Pygments                 | 2.19.2         |
| nvidia-curand-cu12       | 10.3.10.19     |
| nvidia-nvshmem-cu12      | 3.3.9          |
| ml_dtypes                | 0.5.1          |
| jupyter_client           | 8.6.3          |
| pyarrow                  | 19.0.1         |
| leidenalg                | 0.10.2         |
| texttable                | 1.7.0          |
| nvidia-cuda-cupti-cu12   | 12.9.79        |
| natsort                  | 8.4.0          |
| pytz                     | 2025.2         |
| six                      | 1.17.0         |
| zarr                     | 2.18.7         |
| kiwisolver               | 1.4.8          |
| ipykernel                | 6.29.5         |
| numpy                    | 2.2.6          |
| packaging                | 25.0           |
| debugpy                  | 1.8.15         |
| nvidia-cuda-cccl-cu12    | 12.9.27        |
| asttokens                | 3.0.0          |
| cycler                   | 0.12.1         |
| session-info2            | 0.1.2          |
| jax                      | 0.6.2          |
| cuda-pathfinder          | 1.3.0 (12.9.2) |
| cuda-bindings            | 12.9.2         |
| zstandard                | 0.23.0         |
| setuptools               | 80.9.0         |
| statsmodels              | 0.14.5         |
| h5py                     | 3.14.0         |
| tqdm                     | 4.67.1         |
| wrapt                    | 1.17.2         |
| dask                     | 2025.7.0       |
| traitlets                | 5.14.3         |
| nvidia-cufft-cu12        | 11.4.1.4       |
| cffi                     | 1.17.1         |
| asciitree                | 0.3.3          |
| wcwidth                  | 0.2.13         |
| nvidia-cuda-nvcc-cu12    | 12.9.86        |
| scipy                    | 1.15.3         |
| decorator                | 5.2.1          |
| pure_eval                | 0.2.3          |
| nvidia-cuda-runtime-cu12 | 12.9.79        |
| pynndescent              | 0.5.13         |
| utility_functions        | 0.0.0          |
| PyYAML                   | 6.0.2          |

| Component | Info                                                                           |
| --------- | ------------------------------------------------------------------------------ |
| Python    | 3.12.11 | packaged by conda-forge | (main, Jun  4 2025, 14:45:31) [GCC 13.3.0] |
| OS        | Linux-5.15.0-160-generic-x86_64-with-glibc2.35                                 |
| Updated   | 2025-11-25 15:01                                                               |

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions