Description Usage Arguments Details Value Examples
Automatically annotate cells to known types based on the expression patterns of a priori known marker genes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | cellassign(
exprs_obj,
marker_gene_info,
s = NULL,
min_delta = 2,
X = NULL,
B = 10,
shrinkage = TRUE,
n_batches = 1,
dirichlet_concentration = 0.01,
rel_tol_adam = 1e-04,
rel_tol_em = 1e-04,
max_iter_adam = 1e+05,
max_iter_em = 20,
learning_rate = 0.1,
verbose = TRUE,
sce_assay = "counts",
return_SCE = FALSE,
num_runs = 1,
threads = 0
)
|
exprs_obj |
Either a matrix representing gene
expression counts or a |
marker_gene_info |
Information relating marker genes to cell types. See details. |
s |
Numeric vector of cell size factors |
min_delta |
The minimum log fold change a marker gene must be over-expressed by in its cell type |
X |
Numeric matrix of external covariates. See details. |
B |
Number of bases to use for RBF dispersion function |
shrinkage |
Logical - should the delta parameters have hierarchical shrinkage? |
n_batches |
Number of data subsample batches to use in inference |
dirichlet_concentration |
Dirichlet concentration parameter for cell type abundances |
rel_tol_adam |
The change in Q function value (in pct) below which each optimization round is considered converged |
rel_tol_em |
The change in log marginal likelihood value (in pct) below which the EM algorithm is considered converged |
max_iter_adam |
Maximum number of ADAM iterations to perform in each M-step |
max_iter_em |
Maximum number of EM iterations to perform |
learning_rate |
Learning rate of ADAM optimization |
verbose |
Logical - should running info be printed? |
sce_assay |
The |
return_SCE |
Logical - should a SingleCellExperiment be returned with the cell type annotations added? See details. |
num_runs |
Number of EM optimizations to perform (the one with the maximum log-marginal likelihood value will be used as the final). |
threads |
Maximum number of threads used by the algorithm (defaults to the number of cores available on the machine) |
Input format
exprs_obj
should be either a
SummarizedExperiment
(we recommend the
SingleCellExperiment
package) or a
cell (row) by gene (column) matrix of
raw RNA-seq counts (do not
log-transform or otherwise normalize).
marker_gene_info
should either be
A gene by cell type binary matrix, where a 1 indicates that a gene is a marker for a cell type, and 0 otherwise
A list with names corresponding to cell types, where each entry is a
vector of marker gene names. These are converted to the above matrix using
the marker_list_to_mat
function.
Cell size factors
If the cell size factors s
are
not provided they are computed using the
computeSumFactors
function from
the scran
package.
Covariates
If X
is not NULL
then it should be
an N
by P
matrix
of covariates for N
cells and P
covariates.
Such a matrix would typically
be returned by a call to model.matrix
with no intercept. It is also highly
recommended that any numerical (ie non-factor or one-hot-encoded)
covariates be standardized
to have mean 0 and standard deviation 1.
cellassign
A call to cellassign
returns an object
of class cellassign
. To access the
MLE estimates of cell types, call fit$cell_type
.
To access all MLE parameter
estimates, call fit$mle_params
.
Returning a SingleCellExperiment
If return_SCE
is true, a call to cellassign
will return
the input SingleCellExperiment, with the following added:
A column cellassign_celltype
to colData(sce)
with the MAP
estimate of the cell type
A slot sce@metadata$cellassign
containing the cellassign fit.
Note that a SingleCellExperiment
must be provided as exprs_obj
for this option to be valid.
An object of class cellassign
. See details
1 2 3 4 5 6 7 8 9 | data(example_sce)
data(example_marker_mat)
fit <- em_result <- cellassign(example_sce[rownames(example_marker_mat),],
marker_gene_info = example_marker_mat,
s = colSums(SummarizedExperiment::assay(example_sce, "counts")),
learning_rate = 1e-2,
shrinkage = TRUE,
verbose = FALSE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.