Releases: scverse/anndataR
Releases · scverse/anndataR
Version 1.1.1 (Bioconductor 3.23 - Development)
- Fix CI (PR #418).
- Add continuous benchmarking using bencher (PR #423, PR #425).
- Handle unnamed
SingleCellExperimentassays inas_AnnData()by automatically assigning names with a warning (PR #420). - Optimise sparse matrix reading performance by avoiding
Matrix::sparseMatrixand constructing objects manually (PR #417). - Allow manually setting chunk size for HDF5 writes (PR #424).
- Add auto-chunking for HDF5 writes to improve performance (PR #424).
Version 1.0.1 (Bioconductor 3.22)
Version 1.1.0 (Bioconductor 3.23 - Development)
First release for Bioconductor 3.23 (devel)
Version 1.0.0 (Bioconductor 3.22)
{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
AnnDataobjects in R (either in-memory or on-disk) - Natively read/write H5AD files without needing a Python environment
- Convert to/from
SingleCellExperimentobjects - Convert to/from
Seuratobjects
Changes from v0.99.0
New features
- Implemented an
AnnDataViewclass, which provides a lazy view of anAnnDataobject without copying data (PR #324) - Implemented S3 methods for
AbstractAnnDataobjects:dim,nrow,ncol,dimnames,rownames,colnames, and[(PR #324) - Add a
ReticulateAnnDataclass for seamless Python integration via {reticulate} (PR #322, PR #372) - Add a
get_generator_types()function that returns allowed/example types forgenerate_dataset()(PR #354)
Major changes
- Refactor
obs_names/var_nameshandling for improved data consistency (PR #328)InMemoryAnnDatanow storesobs_namesandvar_namesas separate private fields instead of relying on rownames ofobs/var`data framesHDF5AnnDatamaintains separate obs/var names management to ensure consistency betweenobs/vardata 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
HDF5AnnDatafor consistency (PR #328) - Refactor setter methods in
HDF5AnnDataandInMemoryAnnDatato use pipe operators for cleaner code (PR #328) - Generalise the layers created by
generate_dataset()whenformat = "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
rownamesdon't matchvar_namesduring conversion
- Directly use
obs_namesandvar_namesproperties instead of corresponding indirect S3 methodsrownamesandcolnamesinside the package (PR #328) - Fix the error message variable name in
.validate_aligned_array()method (expected_colnames→expected_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
\donttrunwith\donttestin man pages (PR #371)
Development
- Add an
AGENTS.mdwith instructions for AI agents used during development (PR #367)
Full Changelog: v0.99.0...v1.0.0
Version 0.99.0
- Bump required R version to 4.5 in preparation for Bioconductor submission (PR #309)
- Remove deprecated functions and arguments (PR #311, PR #313)
- Minor cleanups and improvements (PR #312, PR #313).
- Add more tests to increase coverage (PR #315)
- Clean up test output (PR #316)
- Minor updates to documentation (PR #310)
Full Changelog: v0.2.0...v0.99.0
Version 0.2.0
Breaking changes
- Switch the HDF5 back end to use the {rhdf5} package instead of {hdf5r} (PR #283, Fixes #272, #175, #299)
- This addresses various issues related to H5AD files and allows better integration with Bioconductor. Most of the previous known issues have now been resolved.
- It also greatly improves compatibility with H5AD files written by Python anndata
- NOTE: Make sure to install {rhdf5} instead of {hdf5r} to be able to read and write H5AD files!
Major changes
- Updates for compatibility with Python anndata >= 0.12.0 (PR #305, Fixes #304)
- Add helpers for reading/writing
NULLvalues to/from H5AD files - Writing of
NULLvalues can be disabled by settingoption(anndataR.write_null = FALSE)to allow the files to be read by Python anndata < 0.12.0
- Add helpers for reading/writing
- A
countsordatalayer is no longer required duringSeuratconversion (PR #284)- There will still be a warning if neither of this is present as it may affect compatibility with {Seurat} functions
Minor changes
- Use accessor functions/methods instead of direct slot access where possible (PR #291)
- Refactor superfluous for loops (PR #298)
- Change uses of
sapply()tovapply()(PR #294) - Ignore
development_status.Rmdvignette when building package (PR #296) - Remove
anndataR.Rprojfile from repository (PR #292)
Bug fixes
- Fix a bug where string arrays were not transposed correctly when writing to H5AD files (PR #305)
- Fix a bug where the dimensions of dense arrays were not properly conserved when reading from H5AD (PR #305)
Documentation
- Simplify and update vignettes (PR #282)
- Add Bioconductor installation instructions in preparation for submission (PR #297)
Testing
- Improvements to round trip testing (PR #283, PR #293, PR #305)
- Most round trip tests are now enabled and pass successfully
- Conversion helpers have been added to assist with {reticulate} tests
Full Changelog: v0.1.0...v0.2.0
Version 0.1.0
Initial release candidate of {anndataR} including:
- Native reading and writing of H5AD files
- R implementations of
InMemoryAnnDataandHDF5AnnDataobjects - Conversion between
AnnDataandSingleCellExperimentorSeuratobjects - Extensive function documentation and vignettes demonstrating usage
- Comprehensive unit testing and identification of known issues
Contributors
- @rcannood
- @LouiseDck
- @lazappi
- @mtmorgan
- @csangara
- @ivirshup
- @melonora
- @SZhengP
- @dorien-er
- @gtca
- @bschilder
Full Changelog: https://github.com/scverse/anndataR/commits/v0.1.0