Description Usage Arguments Details Value Author(s) References Examples

View source: R/tensorDecomposition.R

Generate weight-averaged denoised gene regulatory networks using CANDECOMP/PARAFAC (CP) Tensor Decomposition. The `tensorDecomposition`

function takes one or two lists of gene regulatory matrices, if two list are provided, the shared genes are selected and the CP tensor decomposition is performed independently for each list (3d-tensor). The tensor decomposed matrices are then averaged to generate weight-averaged denoised networks.

1 2 3 4 5 6 7 8 | ```
tensorDecomposition(
xList,
yList = NULL,
nDecimal = 1,
K = 5,
maxError = 1e-05,
maxIter = 1000
)
``` |

`xList` |
A list of gene regulatory networks. |

`yList` |
Optional. A list of gene regulatory networks. |

`nDecimal` |
An integer value indicating the number of decimal places to be used. |

`K` |
The number of rank-one tensors used to approximate the data using CANDECOMP/PARAFAC (CP) Tensor Decomposition, |

`maxError` |
A decimal value between 0 and 1. Defines the relative Frobenius norm error tolerance |

`maxIter` |
An integer value. Defines the maximum number of iterations if error stay above |

CANDECOMP/PARAFRAC (CP) tensor decomposition approximate a K-Tensor using a sum of `K`

rank-1 K-Tensors. A rank-1 K-Tensor can be written as an outer product of K vectors. This is an iterative algorithm, with two possible stopping conditions: either relative error in Frobenius norm has gotten below `maxError`

, or the `maxIter`

number of iterations has been reached. For more details on CP decomposition, consult Kolda and Bader (2009) and Morup (2011).

A list of weight-averaged denoised gene regulatory networks.

This is an adaptation of the code provided by Li, J., Bien, J., & Wells, M. T. (2018)

Li, J., Bien, J., & Wells, M. T. (2018). rTensor: An R Package for Multidimensional Array (Tensor) Unfolding, Multiplication, and Decomposition. Journal of Statistical Software, 87(10), 1-31.

Kolda, Tamara G., and Brett W. Bader. "Tensor decompositions and applications." SIAM review 51.3 (2009): 455-500.

Morup, Morten. "Applications of tensor (multiway array) factorizations and decompositions in data mining." Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery 1.1 (2011): 24-40.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | ```
library(scTenifoldNet)
# Simulating of a dataset following a negative binomial distribution with high sparcity (~67%)
nCells = 2000
nGenes = 100
set.seed(1)
X <- rnbinom(n = nGenes * nCells, size = 20, prob = 0.98)
X <- round(X)
X <- matrix(X, ncol = nCells)
rownames(X) <- c(paste0('ng', 1:90), paste0('mt-', 1:10))
# Performing Single cell quality control
qcOutput <- scQC(
X = X,
minLibSize = 30,
removeOutlierCells = TRUE,
minPCT = 0.05,
maxMTratio = 0.1
)
# Computing 3 single-cell gene regulatory networks each one from a subsample of 500 cells
mnOutput <- makeNetworks(X = X,
nNet = 3,
nCells = 500,
nComp = 3,
scaleScores = TRUE,
symmetric = FALSE,
q = 0.95
)
# Computing a K = 3 CANDECOMP/PARAFAC (CP) Tensor Decomposition
tdOutput <- tensorDecomposition(mnOutput, K = 3, maxError = 1e5, maxIter = 1e3)
# Verifying the number of networks
length(tdOutput)
# Veryfying the dimention of the networks
lapply(tdOutput,dim)
# Weight-averaged denoised single-cell gene regulatory networks
tdOutput[[1]][1:10,1:10]
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.