scverse / squidpy

Spatial Single Cell Analysis in Python
https://squidpy.readthedocs.io/en/stable/
BSD 3-Clause "New" or "Revised" License
401 stars 72 forks source link

`sq.pl.spatial_segment`: wrong cells selected by `groups` parameter #770

Open colganwi opened 8 months ago

colganwi commented 8 months ago

Description

When the groupsparameter is specified in sq.pl.spatial_segment the cells that are plotted are not the cells where adata.obs[color].isin(groups). For example with the mibitof dataset below, when groups = ["Epithelial","Tcell_CD4"] mostly cells on the left side of the image are plotted and these are not the location of these cell types when groups = None.

...

Minimal reproducible example

import squidpy as sq
import anndata as ad

adata = sq.datasets.mibitof()
sq.pl.spatial_segment(adata,seg_cell_id = "cell_id",library_key  = "library_id",
                      color = "Cluster",library_id = "point23")

all_cells

sq.pl.spatial_segment(adata,seg_cell_id = "cell_id",library_key  = "library_id",
                      color = "Cluster",library_id = "point23",
                      groups = ["Epithelial","Tcell_CD4"])

selected_cells

Traceback

No errors raised

Version

1.3.1

...

colganwi commented 8 months ago

Name Version Build Channel

_libgcc_mutex 0.1 main
_openmp_mutex 5.1 1_gnu
aiobotocore 2.5.4 pypi_0 pypi aiohttp 3.8.6 pypi_0 pypi aioitertools 0.11.0 pypi_0 pypi aiosignal 1.3.1 pypi_0 pypi anndata 0.10.3 pypi_0 pypi annotated-types 0.6.0 pypi_0 pypi array-api-compat 1.4 pypi_0 pypi asciitree 0.3.3 pypi_0 pypi asttokens 2.0.5 pyhd3eb1b0_0
async-timeout 4.0.3 pypi_0 pypi attrs 23.1.0 pypi_0 pypi backcall 0.2.0 pyhd3eb1b0_0
blas 1.0 mkl
botocore 1.31.17 pypi_0 pypi bottleneck 1.3.5 py39h7deecbd_0
ca-certificates 2023.08.22 h06a4308_0
certifi 2023.7.22 pypi_0 pypi charset-normalizer 3.3.2 pypi_0 pypi click 8.1.7 pypi_0 pypi click-plugins 1.1.1 pypi_0 pypi cligj 0.7.2 pypi_0 pypi cloudpickle 3.0.0 pypi_0 pypi colorcet 3.0.1 pypi_0 pypi comm 0.1.2 py39h06a4308_0
contourpy 1.2.0 pypi_0 pypi cycler 0.12.1 pypi_0 pypi dask 2023.10.1 pypi_0 pypi dask-image 2023.8.1 pypi_0 pypi datashader 0.16.0 pypi_0 pypi debugpy 1.6.7 py39h6a678d5_0
decorator 5.1.1 pyhd3eb1b0_0
distributed 2023.10.1 pypi_0 pypi docrep 0.3.2 pypi_0 pypi exceptiongroup 1.1.3 pypi_0 pypi executing 0.8.3 pyhd3eb1b0_0
fasteners 0.19 pypi_0 pypi fiona 1.9.5 pypi_0 pypi fonttools 4.44.0 pypi_0 pypi frozenlist 1.4.0 pypi_0 pypi fsspec 2023.6.0 pypi_0 pypi geopandas 0.14.0 pypi_0 pypi get-annotations 0.1.2 pypi_0 pypi h5py 3.10.0 pypi_0 pypi idna 3.4 pypi_0 pypi igraph 0.10.8 pypi_0 pypi imageio 2.32.0 pypi_0 pypi importlib-metadata 6.8.0 pypi_0 pypi importlib-resources 6.1.0 pypi_0 pypi importlib_metadata 6.0.0 hd3eb1b0_0
inflect 7.0.0 pypi_0 pypi intel-openmp 2023.1.0 hdb19cb5_46305
ipykernel 6.25.0 py39h2f386ee_0
ipython 8.15.0 py39h06a4308_0
jedi 0.18.1 py39h06a4308_1
jinja2 3.1.2 pypi_0 pypi jmespath 1.0.1 pypi_0 pypi joblib 1.3.2 pypi_0 pypi jupyter_client 8.5.0 py39h06a4308_0
jupyter_core 5.5.0 py39h06a4308_0
kiwisolver 1.4.5 pypi_0 pypi lazy-loader 0.3 pypi_0 pypi ld_impl_linux-64 2.38 h1181459_1
leidenalg 0.10.1 pypi_0 pypi libffi 3.4.4 h6a678d5_0
libgcc-ng 11.2.0 h1234567_1
libgomp 11.2.0 h1234567_1
libsodium 1.0.18 h7b6447c_0
libstdcxx-ng 11.2.0 h1234567_1
llvmlite 0.41.1 pypi_0 pypi locket 1.0.0 pypi_0 pypi markdown-it-py 3.0.0 pypi_0 pypi markupsafe 2.1.3 pypi_0 pypi matplotlib 3.8.1 pypi_0 pypi matplotlib-inline 0.1.6 py39h06a4308_0
matplotlib-scalebar 0.8.1 pypi_0 pypi mdurl 0.1.2 pypi_0 pypi mkl 2023.1.0 h213fc3f_46343
mkl-service 2.4.0 py39h5eee18b_1
mkl_fft 1.3.8 py39h5eee18b_0
mkl_random 1.2.4 py39hdb19cb5_0
msgpack 1.0.7 pypi_0 pypi multidict 6.0.4 pypi_0 pypi multipledispatch 1.0.0 pypi_0 pypi multiscale-spatial-image 0.11.2 pypi_0 pypi natsort 8.4.0 pypi_0 pypi ncurses 6.4 h6a678d5_0
nest-asyncio 1.5.6 py39h06a4308_0
networkx 3.2.1 pypi_0 pypi numba 0.58.1 pypi_0 pypi numcodecs 0.12.1 pypi_0 pypi numexpr 2.8.7 py39h85018f9_0
numpy 1.23.4 pypi_0 pypi numpy-base 1.26.0 py39hb5e798b_0
ome-zarr 0.8.2 pypi_0 pypi omnipath 1.0.7 pypi_0 pypi openssl 3.0.12 h7f8727e_0
packaging 23.2 pypi_0 pypi pandas 2.1.1 py39h1128e8f_0
param 2.0.0 pypi_0 pypi parso 0.8.3 pyhd3eb1b0_0
partd 1.4.1 pypi_0 pypi patsy 0.5.3 pypi_0 pypi pexpect 4.8.0 pyhd3eb1b0_3
pickleshare 0.7.5 pyhd3eb1b0_1003
pillow 10.0.1 pypi_0 pypi pims 0.6.1 pypi_0 pypi pip 23.3 py39h06a4308_0
platformdirs 3.10.0 py39h06a4308_0
prompt-toolkit 3.0.36 py39h06a4308_0
psutil 5.9.6 pypi_0 pypi ptyprocess 0.7.0 pyhd3eb1b0_2
pure_eval 0.2.2 pyhd3eb1b0_0
pyarrow 14.0.0 pypi_0 pypi pyct 0.5.0 pypi_0 pypi pydantic 2.4.2 pypi_0 pypi pydantic-core 2.10.1 pypi_0 pypi pygeos 0.14 pypi_0 pypi pygments 2.16.1 pypi_0 pypi pynndescent 0.5.10 pypi_0 pypi pyparsing 3.1.1 pypi_0 pypi pyproj 3.6.1 pypi_0 pypi python 3.9.18 h955ad1f_0
python-dateutil 2.8.2 pyhd3eb1b0_0
python-tzdata 2023.3 pyhd3eb1b0_0
pytz 2023.3.post1 py39h06a4308_0
pywavelets 1.4.1 pypi_0 pypi pyyaml 6.0.1 pypi_0 pypi pyzmq 25.1.0 py39h6a678d5_0
readline 8.2 h5eee18b_0
requests 2.31.0 pypi_0 pypi rich 13.6.0 pypi_0 pypi s3fs 2023.6.0 pypi_0 pypi scanpy 1.9.6 pypi_0 pypi scikit-image 0.20.0 pypi_0 pypi scikit-learn 1.3.2 pypi_0 pypi scipy 1.9.1 pypi_0 pypi seaborn 0.12.2 pypi_0 pypi session-info 1.0.0 pypi_0 pypi setuptools 68.0.0 py39h06a4308_0
shapely 2.0.2 pypi_0 pypi six 1.16.0 pyhd3eb1b0_1
slicerator 1.1.0 pypi_0 pypi sortedcontainers 2.4.0 pypi_0 pypi spatial-image 0.3.0 pypi_0 pypi spatialdata 0.0.15 pypi_0 pypi sqlite 3.41.2 h5eee18b_0
squidpy 1.3.1 pypi_0 pypi stack_data 0.2.0 pyhd3eb1b0_0
statsmodels 0.14.0 pypi_0 pypi stdlib-list 0.9.0 pypi_0 pypi tbb 2021.10.0 pypi_0 pypi tblib 3.0.0 pypi_0 pypi texttable 1.7.0 pypi_0 pypi threadpoolctl 3.2.0 pypi_0 pypi tifffile 2023.9.26 pypi_0 pypi tk 8.6.12 h1ccaba5_0
toolz 0.12.0 pypi_0 pypi tornado 6.3.3 py39h5eee18b_0
tqdm 4.66.1 pypi_0 pypi traitlets 5.7.1 py39h06a4308_0
typing-extensions 4.8.0 pypi_0 pypi typing_extensions 4.7.1 py39h06a4308_0
tzdata 2023c h04d1e81_0
umap-learn 0.5.4 pypi_0 pypi urllib3 1.26.18 pypi_0 pypi validators 0.22.0 pypi_0 pypi wcwidth 0.2.5 pyhd3eb1b0_0
wheel 0.41.2 py39h06a4308_0
wrapt 1.15.0 pypi_0 pypi xarray 2023.10.1 pypi_0 pypi xarray-dataclasses 1.7.0 pypi_0 pypi xarray-datatree 0.0.13 pypi_0 pypi xarray-schema 0.0.3 pypi_0 pypi xarray-spatial 0.3.7 pypi_0 pypi xz 5.4.2 h5eee18b_0
yarl 1.9.2 pypi_0 pypi zarr 2.16.1 pypi_0 pypi zeromq 4.3.4 h2531618_0
zict 3.0.0 pypi_0 pypi zipp 3.17.0 pypi_0 pypi zlib 1.2.13 h5eee18b_0