Details
This package is superseded by anndataR.
anndataR provides a pure R implementation of the AnnData data structure
with native h5ad file reading/writing and conversion to/from
SingleCellExperiment and Seurat objects. Please consider migrating;
see vignette("migration_to_anndataR", package = "anndata") for guidance.
If you already have Python anndata installed, anndataR's ReticulateAnnData
backend lets you keep using your existing Python environment while gaining access
to anndataR's unified interface. The native InMemoryAnnData and HDF5AnnData
backends (no Python required) are preferred for new workflows.
anndata provides a scalable way of keeping track of data
and learned annotations, and can be used to read from and write to the h5ad
file format. AnnData() stores a data matrix X together with annotations
of observations obs (obsm, obsp), variables var (varm, varp),
and unstructured annotations uns.
This package is an R wrapper for the similarly named Python package
anndata, with some added functionality
to support more R-like syntax.
Check out ?anndata for a full list of the functions provided by this package.
Author
Maintainer: Robrecht Cannoodt rcannood@gmail.com (ORCID) [copyright holder]
Other contributors:
Philipp Angerer phil.angerer@gmail.com (ORCID) [conceptor]
Alex Wolf f.alex.wolf@gmx.de (ORCID) [conceptor]
Isaac Virshup (ORCID) [conceptor]
Sergei Rybakov (ORCID) [conceptor]
Examples
if (FALSE) { # \dontrun{
ad <- AnnData(
X = matrix(1:6, nrow = 2),
obs = data.frame(group = c("a", "b"), row.names = c("s1", "s2")),
var = data.frame(type = c(1L, 2L, 3L), row.names = c("var1", "var2", "var3")),
layers = list(
spliced = matrix(4:9, nrow = 2),
unspliced = matrix(8:13, nrow = 2)
),
obsm = list(
ones = matrix(rep(1L, 10), nrow = 2),
rand = matrix(rnorm(6), nrow = 2),
zeros = matrix(rep(0L, 10), nrow = 2)
),
varm = list(
ones = matrix(rep(1L, 12), nrow = 3),
rand = matrix(rnorm(6), nrow = 3),
zeros = matrix(rep(0L, 12), nrow = 3)
),
uns = list(
a = 1,
b = data.frame(i = 1:3, j = 4:6, value = runif(3)),
c = list(c.a = 3, c.b = 4)
)
)
ad$X
ad$obs
ad$var
ad$obsm["ones"]
ad$varm["rand"]
ad$layers["unspliced"]
ad$layers["spliced"]
ad$uns["b"]
ad[, c("var1", "var2")]
ad[-1, , drop = FALSE]
ad[, 2] <- 10
} # }