There is a newer version of the record available.

Published October 31, 2025 | Version v1.0.0

scverse/anndataR: Version 1.0.0 (Bioconductor 3.22)

  • 1. Data Intuitive
  • 2. Ghent University
  • 3. CZI
  • 4. Stanford
  • 5. European Molecular Biology Laboratory

Description

{anndataR} brings the AnnData object to R. It enables native reading and writing of H5AD files and conversion to/from SingleCellExperiment and Seurat objects.

Features

  • An **{R6}(( class to work with AnnData objects in R (either in-memory or on-disk)
  • Natively read/write H5AD files without needing a Python environment
  • Convert to/from SingleCellExperiment objects
  • Convert to/from Seurat objects

Changes from v0.99.0

New features

  • Implemented an AnnDataView class, which provides a lazy view of an AnnData object without copying data (PR #324)
  • Implemented S3 methods for AbstractAnnData objects: dim, nrow, ncol, dimnames, rownames, colnames, and [ (PR #324)
  • Add a ReticulateAnnData class for seamless Python integration via {reticulate} (PR #322, PR #372)
  • Add a get_generator_types() function that returns allowed/example types for generate_dataset() (PR #354)

Major changes

  • Refactor obs_names/var_names handling for improved data consistency (PR #328)
    • InMemoryAnnData now stores obs_names and var_names as separate private fields instead of relying on rownames of obs/var `data frames
    • HDF5AnnData maintains separate obs/var names management to ensure consistency between obs/var data frames and dim names
    • All matrix data (X, layers, obsm, varm, obsp, varp) is now stored internally without dim names for consistency
    • Dim names are added on-the-fly when users access data, ensuring proper obs/var` name display

Minor changes

  • Handle slots that may have incomplete dimensions when converting from Seurat. These are now skipped with a warning instead of indirectly raising an error. (PR #369)
  • Add a compression parameter to additional write operations in HDF5AnnData for consistency (PR #328)
  • Refactor setter methods in HDF5AnnData and InMemoryAnnData to use pipe operators for cleaner code (PR #328)
  • Generalise the layers created by generate_dataset() when format = "Seurat" (PR #354)
  • Add checks for type arguments to generate_dataset() (PR #354)

Bug fixes

  • Avoid writing character datasets to H5AD files with LZF compression as it causes R to crash (PR #356)
  • Fix Seurat conversion for PCA loadings with variable feature subsets (PR #328)
    • Seurat PCA loadings only contain variable features, not all genes
    • {anndataR} now properly expands loadings matrix to include all genes with zeros for non-variable features
    • Adds a warning when rownames don't match var_names during conversion
  • Directly use obs_names and var_names properties instead of corresponding indirect S3 methods rownames and colnames inside the package (PR #328)
  • Fix the error message variable name in .validate_aligned_array() method (expected_colnamesexpected_rownames) (PR #328)

Documentation

  • Add a citation file, citation("anndataR") now returns details of the {anndataR} preprint (PR #351)
  • Update vignettes to clarify and expand text and improve formatting, including adding mapping figures to conversion vignettes (PR #360, PR #372)
  • Minor updates to function documentation (PR #319)
  • Add explanatory comments for matrix generation alignment with Python dummy-anndata (PR #328)
  • Replace \donttrun with \donttest in man pages (PR #371)

Development

  • Add an AGENTS.md with instructions for AI agents used during development (PR #367)

Full Changelog: https://github.com/scverse/anndataR/compare/v0.99.0...v1.0.0

Files

scverse/anndataR-v1.0.0.zip

Files (904.8 kB)

Name Size Download all
md5:48fb03d04b7dbebbcc8fae0192f5c024
904.8 kB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/scverse/anndataR/tree/v1.0.0 (URL)

Software