aertslab/SCopeLoomR

Adding new embedding can fail when new embedding has as id the total number of embeddings

dweemx opened this issue · 1 comments

If there is already an embedding with an ID that is equal to the number of existing embeddings in the Embeddings_X slot then add_embedding will fail with:

Error in .subset2(public_bind_env, "initialize")(...) : HDF5-API Errors:
  error #000: H5Tcompound.c in H5Tinsert(): line 349: unable to insert member
class: HDF5
major: Datatype
minor: Unable to insert object

error #001: H5Tcompound.c in H5T__insert(): line 427: member name is not unique
class: HDF5
major: Datatype
minor: Unable to insert object
6.
.subset2(public_bind_env, "initialize")(...)
5.
H5T_COMPOUND$new(labels = names(x), dtypes = dtypes)
4.
guess_dtype(x = value) at loom.R#2265
3.
add_col_attr(loom = loom, key = key, value = value) at loom.R#2232
2.
update_col_attr(loom = loom, key = CA_EXTRA_EMBEDDINGS_NAMES[i],
                value = as.data.frame(x = ca.embeddings)) at loom.R#987
1.
add_embedding(loom = loom, embedding = umap, name = "UMAP")

Hello,
I have exactly the same error (unable to insert member and member name is not unique) how do you fix that ? I reinstalled hdf5-1.10.1 and ScopeLoomR version 0.13.0. Thanks!