qc_filter: _filter_object(): filter parameter not working with list of cells or genes.
When calling filter_genes()
or filter_cells
with a list of cells/genes following error occurs:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In [28], line 1
----> 1 qc.filter_cells(adata, ["AACGTCAAGATCACTC", "AACGGGATCGCTTACC"])
File /mnt/workspace/rwiegan/conda_envs/sctoolbox/lib/python3.10/site-packages/sctoolbox/utils/decorator.py:68, in log_anndata.<locals>.wrapper(*args, **kwargs)
65 run_n = len(adata.uns["sctoolbox"]["log"][funcname]) + 1
66 adata.uns["sctoolbox"]["log"][funcname][f"run_{run_n}"] = d
---> 68 return func(*args, **kwargs)
File /mnt/workspace/rwiegan/conda_envs/sctoolbox/lib/python3.10/site-packages/sctoolbox/tools/qc_filter.py:939, in filter_cells(adata, cells, remove_bool, inplace)
917 @deco.log_anndata
918 def filter_cells(adata, cells, remove_bool=True, inplace=True):
919 """
920 Remove cells from anndata object.
921
(...)
936 If inplace is False, returns the filtered Anndata object. If inplace is True, returns None.
937 """
--> 939 ret = _filter_object(adata, cells, which="obs", remove_bool=remove_bool, inplace=inplace)
941 return ret
File /mnt/workspace/rwiegan/conda_envs/sctoolbox/lib/python3.10/site-packages/sctoolbox/tools/qc_filter.py:895, in _filter_object(adata, filter, which, remove_bool, inplace)
892 if len(not_found) > 0:
893 logger.info(f"{len(not_found)} {element_name} were not found in adata and could therefore not be removed. These genes are: {not_found}")
--> 895 boolean = ~table.index.isin(filter).values
897 # Remove genes from adata
898 if inplace:
AttributeError: 'numpy.ndarray' object has no attribute 'values'