jyyulab / scMINER

Single-cell Mutual Information-based Network Engineering Ranger
https://jyyulab.github.io/scMINER/
Apache License 2.0
9 stars 3 forks source link

Unable to mount MICA after prior pre-processing #15

Open geogav opened 1 year ago

geogav commented 1 year ago

Hello! I am trying to run the tutorial of scMINER using the typical 10x format files (matrix, features or genes, barcodes) that are included in the MICA package (\MICA\test_data\inputs\10x\PBMC\3k\filtered_gene_bc_matrices\hg19) and everything runs smoothly until I get to the step:

Prepare MICA input

library(anndata) generateMICAinput(eset = pbmc.14k.eset.log2, filepath = "./MICA_input.h5ad")

Next, when I am trying to process this file in MICA (Ubuntu, app in Windows) I am getting the following error:

(py376) geogav@ws-70-68:~/MICA$ mica ge -i ./test_data/inputs/10x/PBMC/3k/pre-processed/MICAexample.h5ad -o ./test_data/
outputs -nw 12
INFO:root:Start GE mode...
INFO:root:Read preprocessed expression matrix ...
Traceback (most recent call last):
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/site-packages/anndata/_io/utils.py", line 156, in func_wrapper
    return func(elem, *args, **kwargs)
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/site-packages/anndata/_io/h5ad.py", line 532, in read_group
    EncodingVersions[encoding_type].check(
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/enum.py", line 352, in __getitem__
    return cls._member_map_[name]
KeyError: 'dict'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/geogav/anaconda3/envs/py376/bin/mica", line 8, in <module>
    sys.exit(main())
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/site-packages/MICA/mica.py", line 91, in main
    mica_ge.mica_ge(args)
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/site-packages/MICA/mica_ge.py", line 93, in mica_ge
    adata = pp.read_preprocessed_mat(args.input_file)
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/site-packages/MICA/lib/preprocessing.py", line 21, in read_preprocessed_mat
    adata = anndata.read_h5ad(in_file)
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/site-packages/anndata/_io/h5ad.py", line 426, in read_h5ad
    d[k] = read_attribute(f[k])
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/functools.py", line 840, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/home/geogav/anaconda3/envs/py376/lib/python3.7/site-packages/anndata/_io/utils.py", line 163, in func_wrapper
    f"Above error raised while reading key {elem.name!r} of "
anndata._io.utils.AnnDataReadError: Above error raised while reading key '/layers' of type <class 'h5py._hl.group.Grou

Interestingly, MICA works smoothly with the toy dataset that MICA contains (pbmc3k_preprocessed.h5ad) (MICA\test_data\inputs\10x\PBMC\3k\pre-processed) and with several unprocessed .h5ad files.

I am quite buffled on what could be the problem with the scMINER pipeline so any help would be much appreciated! :)

QingfeiPan commented 1 month ago

Hi @geogav ,

Thanks for your feedback. This issue has been fixed in the updated version of MICA (version: 1.0.0) which is available at https://github.com/jyyulab/MICA.

Best, Qingfei