Skip to content

The versions of Scanpy, AnnData, or H5py that STCAT depends on contain a bug, which makes them unable to read .h5ad files generated with more recent versions of Scanpy. #8

@Constantine-mty

Description

@Constantine-mty

The versions of Scanpy, AnnData, or H5py that STCAT depends on contain a bug, which makes them unable to read .h5ad files generated with more recent versions of Scanpy.

Traceback (most recent call last):
  File "/media/desk16/MaTianyu/Project/Scanpy/run_stcat.py", line 34, in <module>
    main(args.input, args.output)
  File "/media/desk16/MaTianyu/Project/Scanpy/run_stcat.py", line 12, in main
    adata = sc.read_h5ad(input_path)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/h5ad.py", line 258, in read_h5ad
    adata = read_dispatched(f, callback=callback)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/experimental/_dispatch_io.py", line 42, in read_dispatched
    return reader.read_elem(elem)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/utils.py", line 211, in func_wrapper
    return func(*args, **kwargs)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/registry.py", line 275, in read_elem
    return self.callback(read_func, elem.name, elem, iospec=iospec)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/h5ad.py", line 239, in callback
    **{
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/h5ad.py", line 242, in <dictcomp>
    k: read_dispatched(elem[k], callback)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/experimental/_dispatch_io.py", line 42, in read_dispatched
    return reader.read_elem(elem)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/utils.py", line 211, in func_wrapper
    return func(*args, **kwargs)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/registry.py", line 275, in read_elem
    return self.callback(read_func, elem.name, elem, iospec=iospec)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/h5ad.py", line 256, in callback
    return func(elem)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/methods.py", line 335, in read_mapping
    return {k: _reader.read_elem(v) for k, v in elem.items()}
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/methods.py", line 335, in <dictcomp>
    return {k: _reader.read_elem(v) for k, v in elem.items()}
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/utils.py", line 211, in func_wrapper
    return func(*args, **kwargs)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/registry.py", line 275, in read_elem
    return self.callback(read_func, elem.name, elem, iospec=iospec)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/h5ad.py", line 256, in callback
    return func(elem)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/methods.py", line 335, in read_mapping
    return {k: _reader.read_elem(v) for k, v in elem.items()}
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/methods.py", line 335, in <dictcomp>
    return {k: _reader.read_elem(v) for k, v in elem.items()}
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/utils.py", line 211, in func_wrapper
    return func(*args, **kwargs)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/registry.py", line 272, in read_elem
    read_func = self.registry.get_read(type(elem), iospec, modifiers, reader=self)
  File "/media/desk16/MaTianyu/anaconda3/envs/STCAT/lib/python3.9/site-packages/anndata/_io/specs/registry.py", line 167, in get_read
    raise IORegistryError._from_read_parts(
anndata._io.specs.registry.IORegistryError: No read method registered for IOSpec(encoding_type='null', encoding_version='0.1.0') from <class 'h5py._hl.dataset.Dataset'>. You may need to update your installation of anndata.
Error raised while reading key 'base' of <class 'h5py._hl.dataset.Dataset'> from /uns/log1p

test version:

scanpy                    1.11.4
anndata                   0.12.2
h5py                      3.14.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions