jrSiCKLSNMF {jrSiCKLSNMF}R Documentation

Run jrSiCKLSNMF outside of a SickleJr object

Description

Perform joint non-negative matrix factorization (NMF) across multiple modalities of single-cell data. To measure the discrepancy between two distributions, one can use the Poisson Kullback-Leibler divergence (\mathtt{diffFunc}=\mathtt{"klp"}) or the Frobenius norm (\mathtt{diffFunc}=\mathtt{"fr"}). It is also possible to set graph regularization constraints on \mathbf{W}^v and either a sparsity constraint on \mathbf{H} or an L2 norm constraint on the rows of \mathbf{H}. This function passes by reference and updates the variables \mathtt{WL} and \mathtt{H} and does not require data to be in an object of type SickleJr. \mathtt{RunjrSiCKLSNMF} calls this function. If your data are in an object of class SickleJr, please use the \mathtt{RunjrSiCKLSNMF} function instead.

Usage

jrSiCKLSNMF(
  datamatL,
  WL,
  H,
  AdjL,
  DL,
  lambdaWL,
  lambdaH,
  initsamp,
  suppress_warnings,
  diffFunc = "klp",
  Hconstraint = "None",
  differr = 1e-06,
  rounds = 1000L,
  display_progress = TRUE,
  minibatch = TRUE,
  batchsize = 100L,
  random_W_updates = TRUE,
  minrounds = 100L
)

Arguments

datamatL

An R list where each entry contains a normalized, sparse \mathbf{X}^v matrix corresponding to single-cell modality v

WL

An R list containing initialized values of the \mathbf{W}^v within each modality v

H

A matrix containing initialized values for the shared \mathbf{H}

AdjL

An R list containing all of the adjacency matrices for the feature-feature similarity graphs in sparse format; note that \mathtt{D-Adj} is the graph Laplacian

DL

An R list containing all of the degree matrices of the feature-feature similarity graphs; note that \mathtt{D-Adj} is the graph Laplacian

lambdaWL

A list of the \lambda_{\mathbf{W}^v} corresponding to modality v

lambdaH

A double containing the desired value for \lambda_{\mathbf{H}}

initsamp

A vector of randomly selected rows of \mathtt{H} on which to run the objective function

suppress_warnings

A Boolean that indicates whether warnings should be suppressed

diffFunc

A string indicating what type of divergence to use; set to the Poisson Kullback-Leibler divergence (\mathtt{``klp"}) by default, but the Frobenius norm (\mathtt{``fr"}) is also available

Hconstraint

A string that indicates whether you want to set an L2 norm constraint on the rows of \mathbf{H}. Enter 'None' for no constraints or 'L2Norm' to set the L2 norm of each row of \mathbf{H} to 1

differr

A double containing the tolerance

rounds

A double containing the number of rounds

display_progress

A Boolean indicating whether to display the progress bar

minibatch

A Boolean indicating whether to use the mini-batch version of the algorithm

batchsize

Number of batches for mini-batch updates

random_W_updates

A Boolean indicating whether to update \mathbf{W}^v once per epoch (TRUE) or after every update of the subset of \mathbf{H} (FALSE) for the mini-batch algorithm.

minrounds

A minimum number of rounds for the algorithm to run: most useful for the mini-batch algorithm

Value

An R list containing values for the objective function.

References

Cai D, He X, Wu X, Han J (2008). “Non-negative matrix factorization on manifold.” Proceedings - IEEE International Conference on Data Mining, ICDM, 63–72. ISSN 15504786, doi:10.1109/ICDM.2008.57.

Greene D, Cunningham P (2009). “A matrix factorization approach for integrating multiple data views.” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 5781 LNAI(PART 1), 423–438. ISSN 03029743, doi:10.1007/978-3-642-04180-8_45/COVER, https://link.springer.com/chapter/10.1007/978-3-642-04180-8_45.

Eddelbuettel D, François R (2011). “Rcpp: Seamless R and C++ Integration.” Journal of Statistical Software, 40(8), 1–18. doi:10.18637/jss.v040.i08.

Eddelbuettel D, Sanderson C (2014). “RcppArmadillo: Accelerating R with high-performance C++ linear algebra.” Computational Statistics and Data Analysis, 71, 1054–1063. http://dx.doi.org/10.1016/j.csda.2013.02.005.

Elyanow R, Dumitrascu B, Engelhardt BE, Raphael BJ (2020). “NetNMF-SC: Leveraging gene-gene interactions for imputation and dimensionality reduction in single-cell expression analysis.” Genome Research, 30(2), 195–204. ISSN 15495469, doi:10.1101/gr.251603.119, https://pubmed.ncbi.nlm.nih.gov/31992614/.

Le Roux J, Weniger F, Hershey JR (2015). “Sparse NMF: half-baked or well done?” Mitsubishi Electric Research Laboratories (MERL), Cambridge.

Lee DD, Seung HS (2000). “Algorithms for Non-negative Matrix Factorization.” In Leen T, Dietterich T, Tresp V (eds.), Advances in Neural Information Processing Systems, volume 13. https://proceedings.neurips.cc/paper/2000/file/f9d1152547c0bde01830b7e8bd60024c-Paper.pdf.

Liu J, Wang C, Gao J, Han J (2013). “Multi-view clustering via joint nonnegative matrix factorization.” Proceedings of the 2013 SIAM International Conference on Data Mining, 252–260. doi:10.1137/1.9781611972832.28.


[Package jrSiCKLSNMF version 1.2.1 Index]