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
.
Details
This package is, in essense, an R wrapper for the similarly named Python package
anndata
, with some added functionality
to support more R-like syntax.
The version number of the anndata R package is synced
with the version number of the python version.
Check out ?anndata
for a full list of the functions provided by this package.
Author
Maintainer: Robrecht Cannoodt rcannood@gmail.com (ORCID) (rcannood) [copyright holder]
Other contributors:
Philipp Angerer phil.angerer@gmail.com (ORCID) (flying-sheep) [conceptor]
Alex Wolf f.alex.wolf@gmx.de (ORCID) (falexwolf) [conceptor]
Isaac Virshup (ivirshup) [conceptor]
Sergei Rybakov (Koncopd) [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
} # }