Skip to content

Distance matrix is not always square #72

@mumichae

Description

@mumichae

Report

Working on the AIDA dataset, I get the following error when trying TotalPseudobulk:

Traceback (most recent call last):
  File "/home/michaela.mueller/workspace/immune-v1-scripts/.snakemake/scripts/tmpfflhhssl.pseudobulk.py", line 61, in <module>
    sc.pp.neighbors(adata, use_rep='distances', metric='precomputed', transformer='sklearn')
  File "/hpc/scratch/project.hca_integration/mambaforge/envs/sample_representation/lib/python3.11/site-packages/scanpy/neighbors/__init__.py", line 191, in neighbors
    neighbors.compute_neighbors(
  File "/hpc/scratch/project.hca_integration/mambaforge/envs/sample_representation/lib/python3.11/site-packages/scanpy/neighbors/__init__.py", line 576, in compute_neighbors
    self._distances = transformer.fit_transform(X)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/hpc/scratch/project.hca_integration/mambaforge/envs/sample_representation/lib/python3.11/site-packages/sklearn/utils/_set_output.py", line 316, in wrapped
    data_to_wrap = f(self, X, *args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/hpc/scratch/project.hca_integration/mambaforge/envs/sample_representation/lib/python3.11/site-packages/sklearn/neighbors/_graph.py", line 482, in fit_transform
    return self.fit(X).transform(X)
           ^^^^^^^^^^^
  File "/hpc/scratch/project.hca_integration/mambaforge/envs/sample_representation/lib/python3.11/site-packages/sklearn/base.py", line 1473, in wrapper
    return fit_method(estimator, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/hpc/scratch/project.hca_integration/mambaforge/envs/sample_representation/lib/python3.11/site-packages/sklearn/neighbors/_graph.py", line 434, in fit
    self._fit(X)
  File "/hpc/scratch/project.hca_integration/mambaforge/envs/sample_representation/lib/python3.11/site-packages/sklearn/neighbors/_base.py", line 571, in _fit
    raise ValueError(
ValueError: Precomputed matrix must be square. Input is a 1068x1069 matrix.

Is this something that has already been observed? For most other datasets I don't get this error, so I think this might be something numerical.

Version information

Version info via pip list
Package                  Version     Editable project location
------------------------ ----------- -------------------------------------------------------
absl-py                  2.1.0
aiohappyeyeballs         2.4.3
aiohttp                  3.10.9
aiosignal                1.3.1
anndata                  0.10.9
array_api_compat         1.9
asciitree                0.3.3
attrs                    24.2.0
autograd                 1.7.0
autograd-gamma           0.5.0
beautifulsoup4           4.12.3
blosc                    1.11.2
bokeh                    3.5.2
Brotli                   1.1.0
cached-property          1.5.2
cachetools               5.5.0
causal-learn             0.1.3.8
certifi                  2024.8.30
cffi                     1.17.1
charset-normalizer       3.3.2
chex                     0.1.87
clarabel                 0.9.0
click                    8.1.7
cloudpickle              3.0.0
colorama                 0.4.6
contextlib2              21.6.0
contourpy                1.3.0
cvxpy                    1.5.3
cycler                   0.12.1
Cython                   3.0.11
cytoolz                  1.0.0
dask                     2024.9.1
dask-expr                1.1.15
dask-glm                 0.3.2
dask-ml                  2024.4.4
db-dtypes                1.3.0
decorator                5.1.1
Deprecated               1.2.14
DiffusionEMD             0.5.0
dill                     0.3.9
distributed              2024.9.1
docrep                   0.3.2
dowhy                    0.11.1
ecos                     2.0.14
ehrapy                   0.9.0
et-xmlfile               1.1.0
etils                    1.9.4
exceptiongroup           1.2.2
faiss-cpu                1.8.0.post1
fasteners                0.17.3
fhiry                    4.0.0
filelock                 3.16.1
fknni                    1.1.1
flax                     0.9.0
fonttools                4.54.1
formulaic                1.0.2
frozenlist               1.4.1
fsspec                   2024.9.0
future                   1.0.0
gdown                    5.2.0
get-annotations          0.1.2
google-api-core          2.20.0
google-auth              2.35.0
google-cloud-bigquery    3.26.0
google-cloud-core        2.4.1
google-crc32c            1.6.0
google-resumable-media   2.7.2
googleapis-common-protos 1.65.0
graphtools               1.5.3
graphviz                 0.20.3
grpcio                   1.66.2
grpcio-status            1.66.2
h2                       4.1.0
h5py                     3.10.0
hpack                    4.0.0
humanize                 4.11.0
hyperframe               6.0.1
idna                     3.10
igraph                   0.11.6
imbalanced-learn         0.12.4
importlib_metadata       8.5.0
importlib_resources      6.4.5
interface-meta           1.3.0
jax                      0.4.34
jaxlib                   0.4.34
Jinja2                   3.1.4
joblib                   1.4.2
kiwisolver               1.4.7
lamin_utils              0.13.6
legacy-api-wrap          1.4
leidenalg                0.10.2
lifelines                0.28.0
lightgbm                 4.5.0
lightning                2.4.0
lightning-utilities      0.11.7
llvmlite                 0.43.0
locket                   1.0.0
lz4                      4.3.3
Markdown                 3.7
markdown-it-py           3.0.0
MarkupSafe               2.1.5
matplotlib               3.9.2
mdurl                    0.1.2
miceforest               5.7.0
missingno                0.5.2
ml_collections           0.1.1
ml_dtypes                0.5.0
mpmath                   1.3.0
msgpack                  1.1.0
mudata                   0.3.1
multidict                6.1.0
multipledispatch         0.6.0
munkres                  1.1.4
muon                     0.1.6
natsort                  8.4.0
nest-asyncio             1.6.0
networkx                 3.3
newick                   1.0.0
numba                    0.60.0
numcodecs                0.13.0
numpy                    1.26.4
numpyro                  0.15.3
nvidia-cublas-cu12       12.1.3.1
nvidia-cuda-cupti-cu12   12.1.105
nvidia-cuda-nvrtc-cu12   12.1.105
nvidia-cuda-runtime-cu12 12.1.105
nvidia-cudnn-cu12        9.1.0.70
nvidia-cufft-cu12        11.0.2.54
nvidia-curand-cu12       10.3.2.106
nvidia-cusolver-cu12     11.4.5.107
nvidia-cusparse-cu12     12.1.0.106
nvidia-nccl-cu12         2.20.5
nvidia-nvjitlink-cu12    12.6.77
nvidia-nvtx-cu12         12.1.105
openpyxl                 3.1.5
openTSNE                 1.0.2
opt_einsum               3.4.0
optax                    0.2.3
orbax-checkpoint         0.6.4
osqp                     0.6.7.post1
packaging                24.1
pandas                   1.5.3
partd                    1.4.2
patient_representation   0.1.28      /home/michaela.mueller/workspace/patient_representation
patsy                    0.5.6
phate                    1.0.11
pillow                   10.4.0
pip                      24.2
plottable                0.1.5
POT                      0.9.4
prodict                  0.8.18
proto-plus               1.24.0
protobuf                 5.28.2
psutil                   6.0.0
pyampute                 0.0.3
pyarrow                  17.0.0
pyarrow-hotfix           0.6
pyasn1                   0.6.1
pyasn1_modules           0.4.1
pycparser                2.22
pydot                    3.0.2
Pygments                 2.18.0
PyGSP                    0.5.1
pynndescent              0.5.13
pyparsing                3.1.4
pyro-api                 0.1.2
pyro-ppl                 1.9.1
PySocks                  1.7.1
python-dateutil          2.9.0
pytorch-lightning        2.4.0
pytz                     2024.1
PyYAML                   6.0.2
qdldl                    0.1.7.post4
RapidFuzz                3.10.0
requests                 2.32.3
rich                     13.9.2
rsa                      4.9
s_gd2                    1.8.1
scanpy                   1.10.3
scArches                 0.6.1
scHPL                    1.0.5
scikit-learn             1.5.2
scikit-misc              0.5.1
scipy                    1.14.1
scprep                   1.2.3
scs                      3.2.7
scvi-tools               1.2.0
seaborn                  0.13.2
session-info             1.0.0
setuptools               75.1.0
six                      1.16.0
sortedcontainers         2.4.0
soupsieve                2.6
sparse                   0.15.4
statsmodels              0.14.4
stdlib-list              0.10.0
sympy                    1.13.3
tableone                 0.8.0
tabulate                 0.9.0
tasklogger               1.2.0
tblib                    3.0.0
tensorboard              2.18.0
tensorboard-data-server  0.7.2
tensorstore              0.1.66
texttable                1.7.0
thefuzz                  0.22.1
threadpoolctl            3.5.0
timeago                  1.0.16
toolz                    1.0.0
torch                    2.4.1
torchmetrics             1.4.2
tornado                  6.4.1
tqdm                     4.66.5
triton                   3.0.0
typing_extensions        4.12.2
tzdata                   2024.2
umap-learn               0.5.6
urllib3                  2.2.3
WassersteinTSNE          1.1.1
Werkzeug                 3.0.4
wheel                    0.44.0
wrapt                    1.16.0
xarray                   2024.3.0
xyzservices              2024.9.0
yarl                     1.13.1
zarr                     2.18.3
zict                     3.0.0
zipp                     3.20.2
zstandard                0.23.0

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