Write a SingleCellExperiment object to a SOMA
Source: R/write_bioc.R
write_soma.SingleCellExperiment.RdWrite a SingleCellExperiment
object to a SOMA
Usage
# S3 method for class 'SingleCellExperiment'
write_soma(
x,
uri,
ms_name = NULL,
...,
ingest_mode = "write",
platform_config = NULL,
tiledbsoma_ctx = NULL
)Arguments
- x
An object.
- uri
URI for resulting SOMA object.
- ms_name
Name for resulting measurement; defaults to
mainExpName(x).- ...
Arguments passed to other methods
- ingest_mode
Ingestion mode when creating the SOMA; choose from:
“
write”: create a new SOMA and error if it already exists.“
resume”: attempt to create a new SOMA; if it already exists, simply open it for writing.
- platform_config
Optional platform configuration.
- tiledbsoma_ctx
Optional
SOMATileDBContext.
Value
The URI to the resulting SOMAExperiment generated from
the data contained in x.
Writing Reduced Dimensions
Reduced dimensions are written out as
sparse matrices within the obsm
group of measurement
named ms_name.
Writing Column Pairs
Column-wise relationship matrices are written out as
sparse matrices within the
obsp group of measurement
named ms_name.
Writing Row Pairs
Row-wise relationship matrices are written out as
sparse matrices within the
varp group of measurement
named ms_name.
Writing colData
colData is written out as a
data frame called “obs” at
the experiment level.
Writing Assay Matrices
Each assay matrix is written out as a
sparse matrix within the X group
of measurement named
ms_name. Names for assay matrices within X are taken from the
assay names. Assay matrices are
transposed (samples as rows) prior to writing.
Writing rowData
rowData is written out as a
data frame called “var” at
the measurement level.
Examples
if (FALSE) { # requireNamespace("withr", quietly = TRUE) && requireNamespace("SingleCellExperiment", quietly = TRUE)
# \donttest{
uri <- withr::local_tempfile(pattern = "single-cell-experiment")
mat <- abs(Matrix::rsparsematrix(
230L,
80L,
0.3,
dimnames = list(paste0("feature_", seq_len(230)), paste0("cell_", seq_len(80)))
))
(sce <- SingleCellExperiment::SingleCellExperiment(
assays = list(counts = mat, logcounts = log2(mat + 1L)),
reducedDims = list(
pca = matrix(stats::runif(80 * 5L), nrow = 80),
tsne = matrix(stats::rnorm(80 * 2L), nrow = 80)
),
mainExpName = "RNA"
))
uri <- write_soma(sce, uri)
(exp <- SOMAExperimentOpen(uri))
exp$close()
# }
}