Skip to content
New issue

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

ad.read_zarr doesn't return .uns nor .obsm #1572

Closed
BioinfoTongLI opened this issue Aug 2, 2024 · 3 comments · May be fixed by #1247
Closed

ad.read_zarr doesn't return .uns nor .obsm #1572

BioinfoTongLI opened this issue Aug 2, 2024 · 3 comments · May be fixed by #1247

Comments

@BioinfoTongLI
Copy link

Please describe your wishes and possible alternatives to achieve the desired result.

Hello there, thanks for the great tool!

I've been using read_zarr to accesss anndata.zarr stored on s3 bucket.
And I've noticed that both .uns and .obsm are missing. But if I do read_zarr against the exact same zarr locally, I do have them loaded.
I believe this is part of the reason why uns are not there?

But I don't know why obsm is missing as well. Or do I missed a doc somewhere?
Many thanks!

Best,

@ilan-gold
Copy link
Contributor

ilan-gold commented Aug 7, 2024

@BioinfoTongLI Can you provide a code sample? I actually think this makes sense because unless you consolidate your metadata (and then open the underlying store using open_consolidated), there is no way of knowing that there even is an obsm. I could confirm this with your data specifically, but see here for what will come to remedy this. Even if we opened obsm we'd have no way of knowing what is inside at the moment. You probably have listing on already for your bucket, otherwise you'd get 403s for very simple operations, so I don't think that will help. The fact that you can get obs and var is sort of an accident, actually, since we store the column order for other reasons.

You're also no the first to raise this: #951

I am hoping to have the PR for resolving this issue merged by end of September, but you are welcome to try it out now. Here is a notebook that should help you out with getting started. You'll need to consolidate the metadata on the existing store, though.

Lastly, if you have some way outside of zarr of resolving the contents of the obsm store from s3, you can always jsut manually do

adata.obsm['foo'] = my_dask_array_from_s3

or the like.

@flying-sheep
Copy link
Member

as Ilan said, duplicate

@flying-sheep flying-sheep closed this as not planned Won't fix, can't repro, duplicate, stale Aug 8, 2024
@BioinfoTongLI
Copy link
Author

Many thanks both! I will follow the instruction above for uns and obsm! and sorry for the duplicates! Didn't seem that thread!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants