Reticulate Helper Functions for AnnData Conversion
Source:R/reticulate_helpers.R
reticulate-helpers.RdThis file contains helper functions that enable seamless conversion between R and Python AnnData objects using the reticulate package. These functions provide automatic S3 method dispatch for converting AnnData objects across the R-Python boundary.
Usage
# S3 method for class 'collections.abc.Mapping'
py_to_r(x)
# S3 method for class 'anndata._core.anndata.AnnData'
py_to_r(x)
# S3 method for class 'AbstractAnnData'
r_to_py(x, convert = TRUE)Details
The main conversion functions include:
py_to_r.anndata._core.anndata.AnnData: Converts Python AnnData objects to R ReticulateAnnData objectsr_to_py.AbstractAnnData: Converts R AbstractAnnData objects to Python AnnData objectspy_to_r.collections.abc.Mapping: Converts Python mapping objects to R lists
These functions are automatically registered as S3 methods and are called
when using reticulate::py_to_r() and reticulate::r_to_py() on compatible
objects.
See also
Other object converters:
as_AnnData(),
as_HDF5AnnData(),
as_InMemoryAnnData(),
as_ReticulateAnnData(),
as_Seurat(),
as_SingleCellExperiment()
Examples
# \donttest{
# Requires Python anndata to be installed
if (requireNamespace("reticulate", quietly = TRUE) &&
reticulate::py_module_available("anndata")) {
library(reticulate)
# Create Python AnnData object
ad_py <- import("anndata", convert = FALSE)
py_adata <- ad_py$AnnData(X = r_to_py(matrix(1:12, 3, 4)))
# Automatic conversion to R (uses py_to_r.anndata._core.anndata.AnnData)
r_adata <- py_to_r(py_adata)
# Automatic conversion back to Python (uses r_to_py.AbstractAnnData)
py_adata2 <- r_to_py(r_adata)
}
# }