We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Attempted label transfer using ingest, using the example code on the docs page
ingest
The fix is trivial (you must run sc.pp.pca(adata_ref) as well), but the error message is cryptic so I got stuck for a bit! I'll create the PR too.
sc.pp.pca(adata_ref)
import scanpy as sc import pandas as pd sc.settings.verbosity = 1 # verbosity: errors (0), warnings (1), info (2), hints (3) sc.logging.print_versions() sc.settings.set_figure_params(dpi=80, frameon=False, figsize=(3, 3), facecolor="white") adata_ref = sc.datasets.pbmc3k_processed() adata = sc.datasets.pbmc68k_reduced() var_names = adata_ref.var_names.intersection(adata.var_names) adata_ref = adata_ref[:, var_names] adata = adata[:, var_names] # start from scratch del adata.obs["louvain"] adata.uns = {} adata_ref.uns = {} # example code for ingest function: sc.pp.neighbors(adata_ref) sc.tl.umap(adata_ref) sc.tl.ingest(adata, adata_ref, obs="louvain")
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Cell In[11], line 23 21 sc.pp.neighbors(adata_ref) 22 sc.tl.umap(adata_ref) ---> 23 sc.tl.ingest(adata, adata_ref, obs="louvain") File ~/miniconda3/envs/sc/lib/python3.12/site-packages/legacy_api_wrap/__init__.py:80, in legacy_api.<locals>.wrapper.<locals>.fn_compatible(*args_all, **kw) 77 @wraps(fn) 78 def fn_compatible(*args_all: P.args, **kw: P.kwargs) -> R: 79 if len(args_all) <= n_positional: ---> 80 return fn(*args_all, **kw) 82 args_pos: P.args 83 args_pos, args_rest = args_all[:n_positional], args_all[n_positional:] File ~/miniconda3/envs/sc/lib/python3.12/site-packages/scanpy/tools/_ingest.py:141, in ingest(adata, adata_ref, obs, embedding_method, labeling_method, neighbors_key, inplace, **kwargs) 138 labeling_method = labeling_method * len(obs) 140 ing = Ingest(adata_ref, neighbors_key) --> 141 ing.fit(adata) 143 for method in embedding_method: 144 ing.map_embedding(method) File ~/miniconda3/envs/sc/lib/python3.12/site-packages/scanpy/tools/_ingest.py:404, in Ingest.fit(self, adata_new) 401 self._obsm = _DimDict(adata_new.n_obs, axis=0) 403 self._adata_new = adata_new --> 404 self._obsm["rep"] = self._same_rep() File ~/miniconda3/envs/sc/lib/python3.12/site-packages/scanpy/tools/_ingest.py:371, in Ingest._same_rep(self) 369 adata = self._adata_new 370 if self._n_pcs is not None: --> 371 return self._pca(self._n_pcs) 372 if self._use_rep == "X": 373 return adata.X File ~/miniconda3/envs/sc/lib/python3.12/site-packages/scanpy/tools/_ingest.py:361, in Ingest._pca(self, n_pcs) 359 X = self._adata_new.X 360 X = X.toarray() if issparse(X) else X.copy() --> 361 if self._pca_use_hvg: 362 X = X[:, self._adata_ref.var["highly_variable"]] 363 if self._pca_centered: AttributeError: 'Ingest' object has no attribute '_pca_use_hvg'
----- anndata 0.10.7 scanpy 1.10.1 ----- PIL 10.3.0 anyio NA arrow 1.3.0 asttokens NA attr 23.2.0 attrs 23.2.0 babel 2.14.0 brotli 1.1.0 certifi 2024.02.02 cffi 1.16.0 charset_normalizer 3.3.2 colorama 0.4.6 comm 0.2.2 cycler 0.12.1 cython_runtime NA dateutil 2.9.0 debugpy 1.8.1 decorator 5.1.1 defusedxml 0.7.1 executing 2.0.1 fastjsonschema NA fqdn NA h5py 3.11.0 idna 3.7 igraph 0.10.8 ipykernel 6.29.3 ipywidgets 8.1.2 isoduration NA jedi 0.19.1 jinja2 3.1.3 joblib 1.4.0 json5 0.9.25 jsonpointer 2.4 jsonschema 4.21.1 jsonschema_specifications NA jupyter_events 0.10.0 jupyter_server 2.14.0 jupyterlab_server 2.27.0 kiwisolver 1.4.5 legacy_api_wrap NA leidenalg 0.10.2 llvmlite 0.42.0 markupsafe 2.1.5 matplotlib 3.8.4 matplotlib_inline 0.1.7 mpl_toolkits NA natsort 8.4.0 nbformat 5.10.4 numba 0.59.1 numpy 1.26.4 overrides NA packaging 24.0 pandas 1.5.3 parso 0.8.4 pickleshare 0.7.5 platformdirs 4.2.0 prometheus_client NA prompt_toolkit 3.0.42 psutil 5.9.8 pure_eval 0.2.2 pycparser 2.22 pydev_ipython NA pydevconsole NA pydevd 2.9.5 pydevd_file_utils NA pydevd_plugins NA pydevd_tracing NA pygments 2.17.2 pynndescent 0.5.12 pyparsing 3.1.2 pythonjsonlogger NA pytz 2024.1 referencing NA requests 2.31.0 rfc3339_validator 0.1.4 rfc3986_validator 0.1.1 rpds NA scipy 1.13.0 send2trash NA session_info 1.0.0 six 1.16.0 sklearn 1.4.2 sniffio 1.3.1 socks 1.7.1 stack_data 0.6.2 texttable 1.7.0 threadpoolctl 3.4.0 tornado 6.4 tqdm 4.66.2 traitlets 5.14.3 umap 0.5.5 uri_template NA urllib3 2.2.1 wcwidth 0.2.13 webcolors 1.13 websocket 1.7.0 yaml 6.0.1 zmq 26.0.2 ----- IPython 8.22.2 jupyter_client 8.6.1 jupyter_core 5.7.2 jupyterlab 4.1.6 notebook 7.1.3 ----- Python 3.12.3 | packaged by conda-forge | (main, Apr 15 2024, 18:38:13) [GCC 12.3.0] Linux-5.4.0-150-generic-x86_64-with-glibc2.27 ----- Session information updated at 2024-05-22 17:19
The text was updated successfully, but these errors were encountered:
AttributeError: 'Ingest' object has no attribute '_pca_use_hvg'
ilan-gold
Successfully merging a pull request may close this issue.
Please make sure these conditions are met
What happened?
Attempted label transfer using
ingest
, using the example code on the docs pageThe fix is trivial (you must run
sc.pp.pca(adata_ref)
as well), but the error message is cryptic so I got stuck for a bit! I'll create the PR too.Minimal code sample
Error output
Versions
The text was updated successfully, but these errors were encountered: