Skip to contents

A quick PMF estimation based on alternating Poisson regressions across multiple matrices with the same dimensionality

Usage

asap_fit_pmf_delta(
  y_ref,
  y_dn_vec,
  maxK,
  max_iter = 100L,
  verbose = TRUE,
  a0 = 1,
  b0 = 1,
  do_log1p = FALSE,
  rseed = 1337L,
  svd_init = FALSE,
  do_degree_correction = FALSE,
  normalize_cols = FALSE,
  EPS = 1e-08,
  jitter = 1,
  NUM_THREADS = 0L
)

Arguments

y_ref

reference data matrix (gene x sample)

y_dn_vec

a list of non-negative data matrices (gene x sample)

maxK

maximum number of factors

max_iter

max number of optimization steps

verbose

verbosity

a0

gamma(a0, b0) default: a0 = 1

b0

gamma(a0, b0) default: b0 = 1

do_log1p

do log(1+y) transformation

rseed

random seed (default: 1337)

svd_init

initialize by SVD (default: FALSE)

normalize_cols

normalize columns by col_norm (default: FALSE)

EPS

(default: 1e-8)

jitter

(default: 1)

min_iter

min number of optimization steps

Value

a list that contains:

  • log.likelihood log-likelihood trace

  • theta loading (sample x factor)

  • log.theta log-loading (sample x factor)

  • log.theta.sd sd(log-loading) (sample x factor)

  • beta dictionary (gene x factor)

  • log.beta log dictionary (gene x factor)

  • log.beta.sd sd(log-dictionary) (gene x factor)

  • delta a list of dictionary matrices (gene x factor)

  • log.delta a list of log dictionary (gene x factor)

  • log.delta.sd a list of standard deviations (gene x factor)