Calculate pearson residuals of a negative binomial sctransform model.
Normalized values are calculated as (X - mu) / sqrt(mu + mu^2/theta)
.
mu is calculated as cell_read_counts * gene_beta
.
Usage
sctransform_pearson(
mat,
gene_theta,
gene_beta,
cell_read_counts,
min_var = -Inf,
clip_range = c(-10, 10),
columns_are_cells = TRUE,
slow = FALSE
)
Arguments
- mat
IterableMatrix (raw counts)
- gene_theta
Vector of per-gene thetas (overdispersion values)
- gene_beta
Vector of per-gene betas (expression level values)
- cell_read_counts
Vector of total reads per (umi count for RNA)
- min_var
Minimum value for clipping variance
- clip_range
Length 2 vector of min and max clipping range
- columns_are_cells
Whether the columns of the matrix correspond to cells (default) or genes
- slow
If TRUE, use a 10x slower but more precise implementation (default FALSE)
Details
The parameterization used is somewhat simplified compared to the original SCTransform paper, in particular it uses a linear-scale rather than log-scale to represent the cell_read_counts and gene_beta variables. It also does not support the addition of arbitrary cell metadata (e.g. batch) to add to the negative binomial regression.