Algorithms ssKL and ssFrobenius are modified versions of the original NMF algorithm from Brunet et al. (2004) and Lee et al. (2001), that use a set of known marker genes for each cell type, to enforce the expected block expression pattern on the estimated signatures, as proposed in Gaujoux et al. (2011).
gedAlgorithm.ssKL(..., maxIter = 3000L, seed = "rprop", eps = 2.22044604925031e-16, .stop = NULL, data = NULL, markers = c("prior+semi", "semi"), log = NULL, ratio = NULL, copy = FALSE, sscale = FALSE, alpha = 0, stationary.th = .Machine$double.eps, check.interval = 5 * check.niter, check.niter = 10L) gedAlgorithm.ssFrobenius(..., maxIter = 3000L, seed = "rprop", .stop = NULL, data = NULL, markers = c("prior+semi", "semi"), log = NULL, ratio = NULL, eps = NULL, sscale = TRUE, copy = FALSE, alpha = 0, stationary.th = .Machine$double.eps, check.interval = 5 * check.niter, check.niter = 10L)
TRUE
, each signature is mean-centered separately.
If 2
, then each signature is mean-centered
separately and the inverse linear transformation
proportions is applied to the proportions (i.e. on the
rows of the mixture coefficient matrix), so that the
fitted matrix does not change. If FALSE
, no
re-scaling is performed at all.NULL,
no
constraint is applied.objective
, which computes the objective
value between x
and y
.maxIter
. nmf.stop.stationary
;
(object="NMFStrategy", i="integer", y="matrix",
x="NMF", ...)
, where object
is the
NMFStrategy
object that describes the algorithm
being run, i
is the current iteration, y
is
the target matrix and x
is the current value of
the NMF model. FALSE
) or
on a copy (TRUE
- default). With copy=FALSE
the memory footprint is very small, and some speed-up may
be achieved in the case of big matrices. However, greater
care should be taken due the side effect. We recommend
that only experienced users use copy=TRUE
.DSA
proportion estimation method
from Zhong2013 to compute sensible initial
proportions from average marker expression profiles in
the mixed sample data. NULL
, then data's scale is detected by
link{is_logscale}
and conversion to linear-scale
is performed if necessary. If TRUE
the data is
exponentialised (using log base 2). If FALSE
the
data is left unchanged (the detected log scale is
displayed in verbose mode). If a number, then it is used
as the log base to exponentialise the data.These algorithms simultaneously estimates both the cell-specific signature and mixture proportion matrices, using block-descent method that alternately estimates each matrix. Both re-scale the final proportion estimates so that they sum-up to one.
The functions gedAlgorithm.ssKL
and
gedAlgorithm.ssFrobenius
are wrapper functions to
the underlying NMF algorithms. They are primiraly defined
to enable correct listing their specific arguments on
this help page. The recommend way of applying these
algorithms is via ged
interface (e.g.,
ged(..., method='ssKL')
).
Brunet J, Tamayo P, Golub TR and Mesirov JP (2004).
"Metagenes and molecular pattern discovery using matrix
factorization." _Proceedings of the National Academy of
Sciences of the United States of America_, *101*(12), pp.
4164-9. ISSN 0027-8424,
Lee DD and Seung H (2001). "Algorithms for non-negative
matrix factorization." _Advances in neural information
processing systems_.
Gaujoux R and Seoighe C (2011). "Semi-supervised
Nonnegative Matrix Factorization for gene expression
deconvolution: A case study." _Infection, genetics and
evolution : journal of molecular epidemiology and
evolutionary genetics in infectious diseases_. ISSN
1567-7257,