scanpy 1.4.1和1.4.3报错: 1.5.1和1.8.1问题消失 (低版本不行)
f_mtx_dir = '/Users/yangl/Documents/work/python/filtered_feature_bc_matrix' adata = sc.read_10x_mtx( f_mtx_dir , # the directory with the `.mtx` file var_names='gene_symbols', # use gene symbols for the variable names (variables-axis index) cache=False)
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) /var/folders/1_/cs50ltcn0zl1h2b3xgkt8pd00000gn/T/ipykernel_25497/3803800128.py in <module> 1 f_mtx_dir = '/Users/yangl/Documents/work/python/filtered_feature_bc_matrix' 2 ----> 3 adata = sc.read_10x_mtx( 4 f_mtx_dir , # the directory with the `.mtx` file 5 var_names='gene_symbols', # use gene symbols for the variable names (variables-axis index) ~/Library/Python/3.8/lib/python/site-packages/scanpy/readwrite.py in read_10x_mtx(path, var_names, make_unique, cache, gex_only) 241 genefile_exists = (path / 'genes.tsv').is_file() 242 read = _read_legacy_10x_mtx if genefile_exists else _read_v3_10x_mtx --> 243 adata = read( 244 str(path), 245 var_names=var_names, ~/Library/Python/3.8/lib/python/site-packages/scanpy/readwrite.py in _read_v3_10x_mtx(path, var_names, make_unique, cache) 287 if make_unique: 288 var_names = anndata.utils.make_index_unique(pd.Index(var_names)) --> 289 adata.var_names = var_names 290 adata.var['gene_ids'] = genes[0].values 291 elif var_names == 'gene_ids': ~/Library/Python/3.8/lib/python/site-packages/anndata/_core/anndata.py in var_names(self, names) 889 @var_names.setter 890 def var_names(self, names: Sequence[str]): --> 891 names = self._prep_dim_index(names, "var") 892 self._set_dim_index(names, "var") 893 ~/Library/Python/3.8/lib/python/site-packages/anndata/_core/anndata.py in _prep_dim_index(self, value, attr) 810 value.name, (str, type(None)) 811 ): --> 812 raise ValueError( 813 f"AnnData expects .{attr}.index.name to be a string or None, " 814 f"but you passed a name of type {type(value.name).__name__!r}" ValueError: AnnData expects .var.index.name to be a string or None, but you passed a name of type 'int64'
numpy 1.20.3报错:低版本numpy==1.15.0以下不行,1.15.1好像可以(见链接) 1.17.3 1.17.5不行,这个不重要,保证其正常会导致其他包冲突,遂放弃
nGenesDetectedPerCell = np.sum(adata.X>0, axis=1) percentiles = nGenesDetectedPerCell.quantile([.01, .05, .10, .50, 1]) print(percentiles)
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /var/folders/1_/cs50ltcn0zl1h2b3xgkt8pd00000gn/T/ipykernel_42667/3438945105.py in <module> 1 nGenesDetectedPerCell = np.sum(adata.X>0, axis=1) ----> 2 percentiles = nGenesDetectedPerCell.quantile([.01, .05, .10, .50, 1]) 3 print(percentiles) AttributeError: 'matrix' object has no attribute 'quantile'
from scanpy.plotting._tools.scatterplots import plot_scatter命令报错
importerror: cannot import name 'plot_scatter' from 'scanpy.plotting._tools.scatterplots'
解决办法: pip install scanpy==1.4.2 (高版本1.4.5.1后scanpy.plotting._tools.scatterplots中没有plot_scatter函数)
报错:AttributeError: module 'igraph' has no attribute 'Graph'
,解决办法(来源):
pip install python-igraph #如果安装了igraph or jgraph (pip install igraph / pip install jgraph) ,先卸载
尊重他人劳动成果,转载请注明出处:Bluesky's blog » pySCENIC PBMC10k_SCENIC-protocol-CLI 版本冲突导致的报错记录