Closed denvercal1234GitHub closed 9 months ago
It looks like there may be a column in adata.raw.var
named "_index"
. Removing, or renaming it, should fix the issue.
Hi, I believe this is a common issue encountered by anndata users, as various software and operations can inadvertently alter the index of var, leading to save errors even when the object remains in memory. In my opinion, this contradicts most programmers' intuition: if an object is valid in memory, it should be allowed to persist or at least trigger a warning during saving instead of outright failure. This situation often proves frustrating, particularly when encountering a fatal error at the end result where one must exercise caution by checking or setting breakpoints before saving.
Thank you.
if an object is valid in memory, it should be allowed to persist or at least trigger a warning during saving instead of outright failure.
Oh I wish it was that easy. But attempting to make sure that all those nested objects trigger some kind of hook in their parent AnnData object when modified (which would allow us to catch incompatibilities before they end up in the AnnData object) is sadly very hard.
We can certainly work on making messages friendlier, like e.g. the borked second one here:
ValueError: '_index' is a reserved name for dataframe columns.
Above error raised while writing key 'var' of to /
What does of to
mean? Clearly something should be between these spaces. I’m confused how that can be an empty string. Which type
returns ''
when stringified?
This issue has been automatically marked as stale because it has not had recent activity. Please add a comment if you want to keep the issue open. Thank you for your contributions!
OK, the poor error messages should be fixed since https://github.com/scverse/anndata/pull/1273
Hi there,
I was trying to write my adata with
write_h5ad
but it threw an error as below.Would you mind helping me fix this issue?
Thank you.
My AnnData object: