-
Notifications
You must be signed in to change notification settings - Fork 441
Description
When I want to setup anndata, it's error. but no error information.
scvi 1.3.0
AssertionError Traceback (most recent call last)
Cell In[22], line 1
----> 1 scvi.external.RESOLVI.setup_anndata(adata, layer="counts", batch_key="sample",
2 labels_key='coarse_celltype_level2',
3 prepare_data=True,
4 unlabeled_category='Unknown')
5 model = scvi.external.RESOLVI(adata, n_layers=2, n_latent=30, n_hidden=256, gene_likelihood='zinb', semisupervised=True)
6 model.train()
File /rsrch8/scratch/genomic_med/tchu1/conda/envs/rapids_singlecell/lib/python3.12/site-packages/scvi/external/resolvi/_model.py:330, in RESOLVI.setup_anndata(cls, adata, layer, batch_key, labels_key, categorical_covariate_keys, prepare_data, prepare_data_kwargs, unlabeled_category, **kwargs)
328 if prepare_data_kwargs is None:
329 prepare_data_kwargs = {}
--> 330 RESOLVI._prepare_data(adata, batch_key=batch_key, **prepare_data_kwargs)
332 anndata_fields = [
333 LayerField(REGISTRY_KEYS.X_KEY, layer, is_count_data=True),
334 CategoricalObsField(REGISTRY_KEYS.BATCH_KEY, batch_key),
(...)
339 CategoricalJointObsField(REGISTRY_KEYS.CAT_COVS_KEY, categorical_covariate_keys),
340 ]
341 adata_manager = AnnDataManager(fields=anndata_fields, setup_method_args=setup_method_args)
File /rsrch8/scratch/genomic_med/tchu1/conda/envs/rapids_singlecell/lib/python3.12/site-packages/scvi/external/resolvi/_model.py:372, in RESOLVI._prepare_data(adata, n_neighbors, spatial_rep, batch_key, **kwargs)
370 else:
371 method = "umap"
--> 372 scanpy.pp.neighbors(
373 sub_data, n_neighbors=n_neighbors + 5, use_rep=spatial_rep, method=method
374 )
375 distances = sub_data.obsp["distances"] ** 2
377 distance_neighbor[index, :], index_neighbor_batch = _kneighbors_from_graph(
378 distances, n_neighbors, return_distance=True
379 )
File /rsrch8/scratch/genomic_med/tchu1/conda/envs/rapids_singlecell/lib/python3.12/site-packages/scanpy/neighbors/init.py:191, in neighbors(adata, n_neighbors, n_pcs, use_rep, knn, method, transformer, metric, metric_kwds, random_state, key_added, copy)
189 adata._init_as_actual(adata.copy())
190 neighbors = Neighbors(adata)
--> 191 neighbors.compute_neighbors(
192 n_neighbors,
193 n_pcs=n_pcs,
194 use_rep=use_rep,
195 knn=knn,
196 method=method,
197 transformer=transformer,
198 metric=metric,
199 metric_kwds=metric_kwds,
200 random_state=random_state,
201 )
203 if key_added is None:
204 key_added = "neighbors"
File /rsrch8/scratch/genomic_med/tchu1/conda/envs/rapids_singlecell/lib/python3.12/site-packages/scanpy/neighbors/init.py:562, in Neighbors.compute_neighbors(self, n_neighbors, n_pcs, use_rep, knn, method, transformer, metric, metric_kwds, random_state)
555 # default keyword arguments when transformer is not an instance
556 transformer_kwds_default = KwdsForTransformer(
557 n_neighbors=n_neighbors,
558 metric=metric,
559 metric_params=metric_kwds, # most use _params, not _kwds
560 random_state=random_state,
561 )
--> 562 method, transformer, shortcut = self._handle_transformer(
563 method, transformer, knn=knn, kwds=transformer_kwds_default
564 )
566 if self._adata.shape[0] >= 10000 and not knn:
567 logg.warning("Using high n_obs without knn=True takes a lot of memory...")
File /rsrch8/scratch/genomic_med/tchu1/conda/envs/rapids_singlecell/lib/python3.12/site-packages/scanpy/neighbors/init.py:670, in Neighbors._handle_transformer(self, method, transformer, knn, kwds)
667 if shortcut:
668 from sklearn.neighbors import KNeighborsTransformer
--> 670 assert transformer in {None, "sklearn"}
671 n_neighbors = self._adata.n_obs - 1
672 if knn: # only obey n_neighbors arg if knn set
AssertionError: