aristoteleo / dynamo-release

Inclusive model of expression dynamics with conventional or metabolic labeling based scRNA-seq / multiomics, vector field reconstruction and differential geometry analyses
https://dynamo-release.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
414 stars 58 forks source link

problems of dyn.tl.dynamics and numba #298

Closed Spartanzhao closed 2 years ago

Spartanzhao commented 2 years ago

When I was runing :dyn.tl.dynamics(adata) I got this problem: |-----? Looks like you are using minutes as the time unit. For the purpose of numeric stability, we recommend using hour as the time unit. |-----> calculating first/second moments begins...

AttributeError Traceback (most recent call last)

in ----> 1 dyn.tl.dynamics(adata) /anaconda3/envs/py37/lib/python3.7/site-packages/dynamo/tools/dynamics.py in dynamics(adata, filter_gene_mode, use_smoothed, assumption_mRNA, assumption_protein, model, est_method, NTR_vel, group, protein_names, concat_data, log_unnormalized, one_shot_method, fraction_for_deg, re_smooth, sanity_check, del_2nd_moments, cores, **est_kwargs) 348 moments(adata, genes=valid_bools, group=group) 349 else: --> 350 moments(adata, genes=valid_bools, group=tkey) 351 elif tkey is not None: 352 main_warning( /anaconda3/envs/py37/lib/python3.7/site-packages/dynamo/tools/moments.py in moments(adata, X_data, genes, group, conn, use_gaussian_kernel, normalize, use_mnn, layers, n_pca_components, n_neighbors, copy) 160 cur_X, 161 n_neighbors=np.min((n_neighbors, sum(cur_cells) - 1)), --> 162 return_mapper=False, 163 ) 164 /anaconda3/envs/py37/lib/python3.7/site-packages/dynamo/tools/connectivity.py in umap_conn_indices_dist_embedding(X, n_neighbors, n_components, metric, min_dist, spread, n_epochs, alpha, gamma, negative_sample_rate, init_pos, random_state, densmap, dens_lambda, dens_frac, dens_var_shift, output_dens, return_mapper, verbose, **umap_kwargs) 198 from sklearn.utils import check_random_state 199 from sklearn.metrics import pairwise_distances --> 200 from umap.umap_ import ( 201 nearest_neighbors, 202 fuzzy_simplicial_set, /anaconda3/envs/py37/lib/python3.7/site-packages/umap/__init__.py in 1 from warnings import warn, catch_warnings, simplefilter ----> 2 from .umap_ import UMAP 3 4 try: 5 with catch_warnings(): /anaconda3/envs/py37/lib/python3.7/site-packages/umap/umap_.py in 45 ) 46 ---> 47 from pynndescent import NNDescent 48 from pynndescent.distances import named_distances as pynn_named_distances 49 from pynndescent.sparse import sparse_named_distances as pynn_sparse_named_distances /anaconda3/envs/py37/lib/python3.7/site-packages/pynndescent/__init__.py in 1 import pkg_resources 2 import numba ----> 3 from .pynndescent_ import NNDescent, PyNNDescentTransformer 4 5 # Workaround: https://github.com/numba/numba/issues/3341 /anaconda3/envs/py37/lib/python3.7/site-packages/pynndescent/pynndescent_.py in 14 import heapq 15 ---> 16 import pynndescent.sparse as sparse 17 import pynndescent.sparse_nndescent as sparse_nnd 18 import pynndescent.distances as pynnd_dist /anaconda3/envs/py37/lib/python3.7/site-packages/pynndescent/sparse.py in 8 import numba 9 ---> 10 from pynndescent.utils import norm, tau_rand 11 from pynndescent.distances import ( 12 kantorovich, /anaconda3/envs/py37/lib/python3.7/site-packages/pynndescent/utils.py in 131 132 @structref.register --> 133 class HeapType(types.StructRef): 134 pass 135 AttributeError: module 'numba.core.types' has no attribute 'StructRef' I am using python3.7, and these are my dependency version: dyn.get_all_dependencies_version() My environment 👍 package cvxopt pre-commit colorcet dynamo-release hdbscan loompy matplotlib networkx numba numdifftools numpy pandas pynndescent python-igraph scikit-learn scipy seaborn setuptools statsmodels tqdm trimap umap-learn version 1.2.5 2.17.0 2.0.1 1.0.0 0.8.28 3.0.6 3.5.1 2.5 0.50.1 0.9.40 1.19.0 1.0.5 0.5.6 0.9.9 0.23.1 1.5.1 0.11.0 49.2.0.post20200714 0.12.0 4.48.0 1.1.2 0.5.2
Spartanzhao commented 2 years ago

PS: I am using the data you provided in dropbox:: scNT_seq.h5ad

Spartanzhao commented 2 years ago

Which version of numba is work for this package? anyone can answer me ?

Xiaojieqiu commented 2 years ago

dear @Spartanzhao, this is a umap issue. please update umap to a higher version (pip install -U umap-learn)

Also please update our dynamo package too since we recently upgrade it to 1.1.0 (pip install -U dynamo-release)