Skip to contents

This 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)

Arguments

x

An AbstractAnnData object (any anndataR implementation)

convert

Whether to convert the result (passed to reticulate)

Value

A ReticulateAnnData object wrapping the Python object

A Python AnnData object

Details

The main conversion functions include:

  • py_to_r.anndata._core.anndata.AnnData: Converts Python AnnData objects to R ReticulateAnnData objects

  • r_to_py.AbstractAnnData: Converts R AbstractAnnData objects to Python AnnData objects

  • py_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.

Examples

if (FALSE) { # \dontrun{
# Requires Python anndata to be installed
library(reticulate)
library(anndataR)

# 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)
} # }