Introduction
This vignette provides an overview of the current development status of the anndataR package. It provides details on the current implementation of different features as well as listing known issues.
Objects
These tables show the status of the implementation of different
AnnData back ends.
HDF5AnnData
| Slot | Getter | Getter test | Setter | Setter test |
|---|---|---|---|---|
| layers | ✅ | ✅ | ✅ | ✅ |
| obs | ✅ | ✅ | ✅ | ✅ |
| obs_names | ✅ | ✅ | ✅ | ✅ |
| obsm | ✅ | ✅ | ✅ | ✅ |
| obsp | ✅ | ✅ | ✅ | ✅ |
| raw | ||||
| uns | ✅ | ✅ | ✅ | |
| var | ✅ | ✅ | ✅ | ✅ |
| var_names | ✅ | ✅ | ✅ | ✅ |
| varm | ✅ | ✅ | ✅ | ✅ |
| varp | ✅ | ✅ | ✅ | ✅ |
| X | ✅ | ✅ | ✅ | ✅ |
InMemoryAnnData
| Slot | Getter | Getter test | Setter | Setter test |
|---|---|---|---|---|
| layers | ✅ | ✅ | ✅ | ✅ |
| obs | ✅ | ✅ | ✅ | ✅ |
| obs_names | ✅ | ✅ | ✅ | ✅ |
| obsm | ✅ | ✅ | ||
| obsp | ✅ | ✅ | ||
| raw | ||||
| uns | ✅ | ✅ | ||
| var | ✅ | ✅ | ✅ | ✅ |
| var_names | ✅ | ✅ | ✅ | ✅ |
| varm | ✅ | ✅ | ||
| varp | ✅ | ✅ | ||
| X | ✅ | ✅ | ✅ | ✅ |
Conversion
These tables show the implementation status of conversion between
AnnData and other objects.
Known issues
This section lists current known issues in anndataR. Only certain types of issues are listed here, for additional issues see the GitHub issue tracker.
Issue: converted sce object has dimnames(), whilst the original anndata does not.
- Affected backend:
to_SCE - Affected slot(s):
obsm,varm - Affected dtype(s):
pca - Probable cause: convert
- To investigate: TRUE
- To fix: FALSE
Issue: rhdf5 2.57.12 emits a spurious NA_character_ warning when a numeric dataset containing NA or NaN is written into a pre-created dataset.
- Affected backend:
HDF5AnnData - Affected slot(s):
X,layers,obs,var,obsm,varm,obsp,varp,uns - Affected dtype(s):
numeric_with_nas,numeric_matrix_with_nas,numeric_dense_with_nas,numeric_csparse_with_nas,numeric_rsparse_with_nas,integer_matrix_with_nas,integer_csparse_with_nas,integer_rsparse_with_nas - Probable cause: write
- To investigate: FALSE
- To fix: FALSE
Error message
Writing NA_character_ in fixed-length string datasets is fragile and deprecated.
In particular, it will write NA_character_ as the string 'NA' in the HDF5 file.
Use variable-length strings instead.
Proposed solution
The check in rhdf5’s h5writeDataset.array() lacks a storage.mode(obj) == “character” guard on the existing-dataset branch (https://github.com/Huber-group-EMBL/rhdf5/blob/1682d4b493d0ddc9e46cba78a141b780bb8390e8/R/h5write.R#L405-L417). Reported in Huber-group-EMBL/rhdf5#241 and fixed in Huber-group-EMBL/rhdf5#242; remove this entry and the skips in test-h5ad-fileclosure.R once the fixed rhdf5 is in Bioconductor devel.
Session info
## R version 4.6.1 (2026-06-24)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.5 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8
## [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8
## [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C
## [10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C
##
## time zone: UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] tidyr_1.3.2 dplyr_1.2.1 purrr_1.2.2 stringr_1.6.0
## [5] rprojroot_2.1.1 knitr_1.52 tibble_3.3.1 BiocStyle_2.41.0
##
## loaded via a namespace (and not attached):
## [1] jsonlite_2.0.0 compiler_4.6.1 BiocManager_1.30.27
## [4] tidyselect_1.2.1 jquerylib_0.1.4 systemfonts_1.3.2
## [7] textshaping_1.0.5 yaml_2.3.12 fastmap_1.2.0
## [10] R6_2.6.1 generics_0.1.4 htmlwidgets_1.6.4
## [13] bookdown_0.48 desc_1.4.3 bslib_0.12.0
## [16] pillar_1.11.1 rlang_1.3.0 cachem_1.1.0
## [19] stringi_1.8.9 xfun_0.61 fs_2.1.0
## [22] sass_0.4.10 otel_0.2.0 cli_3.6.6
## [25] pkgdown_2.2.1 withr_3.0.3 magrittr_2.0.5
## [28] digest_0.6.39 lifecycle_1.0.5 vctrs_0.7.3
## [31] evaluate_1.0.5 glue_1.8.1 ragg_1.5.2
## [34] rmarkdown_2.32 tools_4.6.1 pkgconfig_2.0.3
## [37] htmltools_0.5.9