sc_DimensionalityReductionObj {sincell} | R Documentation

## Dimensionality reduction of an expression matrix

### Description

Function to perform a dimensionality reduction upon the original gene expression matrix data through a method of choice, either linear or no-linear, among the following: Principal Component Analysis (PCA), Independent Component Analysis (ICA), t-Distributed Stochastic Neighbor Embedding (tSNE), classical Multidimensional Scaling (MDS) and non-metric Multidimensional Scaling.

### Usage

    sc_DimensionalityReductionObj(SincellObject, method="PCA", dim=2,
    MDS.distance="spearman", bins=c(-Inf,0,1,2,Inf),tsne.perplexity=1,tsne.theta=0.25)

### Arguments

`SincellObject` | A SincellObject named list as created by function sc_InitializingSincellObject with a named member "expressionmatrix" containing a numeric matrix that represents a gene expression matrix gathering the expression levels of each single-cell in the experiment (displayed by columns) for each detected gene (displayed by rows).
`method` | Dimensionality reduction algorithm to be used. Options are: Principal Component Analysis (method="PCA"), Independent Component Analysis (method="ICA"; using fastICA() function in fastICA package), t-Distributed Stochastic Neighbor Embedding (method="tSNE"; using Rtsne() function in Rtsne package with parameters tsne.perplexity=1 and tsne.theta=0.25), classical Multidimensional Scaling (method="classical-MDS"; using the cmdscale() function) and non-metric Multidimensional Scaling (method="nonmetric-MDS";using the isoMDS() function in MASS package). if method="PCA" is chosen, the proportion of variance explained by each of the principal axes is plotted. We note that Sincell makes use of the Rtsne implementation of the Barnes-Hut algorithm, which approximates the likelihood. The user should be aware that this is a less accurate version of t-SNE than e.g. the one used as basis of viSNE (Amir,E.D. et al. 2013, Nat Biotechnol 31, 545–552).
`dim` | Number of dimensions in low-dimensional space to be retained. Default is dim=2.
`MDS.distance` | Distance method to be used if method="classical-MDS" or method="nonmetric-MDS" is selected. The available distances are the Euclidean distance (method="euclidean"), Manhattan distance (also called L1 distance, method="L1"), distance based on Pearson (method="pearson") or Spearman (method="spearman") correlation coefficients, and distance based on Mutual Information (method="MI"). Intervals used to assess Mutual Information are indicated in the parameter “bins” (see below).
`bins` | Intervals used to discretize the data in the case that Mutual Information distance (MDS.distance="MI") is selected.
`tsne.perplexity` | perplexity parameter for tSNE algorithm. We refer the reader to the Frequently Asked Questions in http://homepage.tudelft.nl/19j49/t-SNE.html
`tsne.theta` | tradeoff between speed and accuracy. We refer the reader to the Frequently Asked Questions in http://homepage.tudelft.nl/19j49/t-SNE.html

### Value

A SincellObject named list whose members are: expressionmatrix=SincellObject[["expressionmatrix"]], cellsLowDimensionalSpace=cellsLowDimensionalSpace, cell2celldist=distance,method=method, dim=dim, MDS.distance=MDS.distance, bins=bins, where cellsLowDimensionalSpace contains the coordinates of each cell (by columns) in each low dimensional axis (by rows), and "cell2celldist" contains the numeric matrix representing the cell-to-cell distance matrix assessed in low dimensional space

### Examples

    ## Generate some random data
    Data <- matrix(abs(rnorm(3000, sd=2)),ncol=10,nrow=300)

    ## Initializing SincellObject named list
    mySincellObject <- sc_InitializingSincellObject(Data)

    ## To access the gene expression matrix
    expressionmatrix<-mySincellObject[["expressionmatrix"]]

    ## Dimensionality reduction
    # Principal Component Analysis (PCA)
    mySincellObject <- sc_DimensionalityReductionObj(mySincellObject, method="PCA",dim=2)
    # Independent Component Analysis (ICA)
    mySincellObject <- sc_DimensionalityReductionObj(mySincellObject, method="ICA",dim=2)
    # t-Distributed Stochastic Neighbor Embedding (t-SNE)
    mySincellObject <- sc_DimensionalityReductionObj(mySincellObject, method="tSNE",dim=2)
    # Classic Multidimensional Scaling (classic-MDS).
    mySincellObject <- sc_DimensionalityReductionObj(mySincellObject, method="classical-MDS",dim=2)
    # Non-metric Multidimensional Scaling (nonmetric-MDS).
    mySincellObject <- sc_DimensionalityReductionObj(mySincellObject, method="nonmetric-MDS",dim=2)

    ## To access the coordinates of cells (by columns) in low dimensional space (axes by rows)
    cellsLowDimensionalSpace<-mySincellObject[["cellsLowDimensionalSpace"]]

    ## To access the cell-to-cell distance matrix assessed on low dimensional space
    cell2celldist<-mySincellObject[["cell2celldist"]]

[Package sincell version 1.12.0 Index]