perCellEntropy {TSCAN} | R Documentation

## Compute the per-cell entropy

### Description

Compute the entropy of each cell, using this as a proxy for the differentiation status.

### Usage

    perCellEntropy(x, ...)

    ## S4 method for signature 'ANY'
    perCellEntropy(x, BPPARAM = NULL)

    ## S4 method for signature 'SummarizedExperiment'
    perCellEntropy(x, ..., assay.type = "counts")

### Arguments

`x` | A numeric matrix-like object containing counts for each cell (column) and feature (row). Alternatively, a SummarizedExperiment object containing such a matrix.
`...` | For the generic, further arguments to pass to specific methods. For the SummarizedExperiment method, further arguments to pass to the ANY method.
`BPPARAM` | A BiocParallelParam object from BiocParallel, specifying how calculations should be parallelized.
`assay.type` | An integer or string specifying the assay to use from a SummarizedExperiment `x`.

### Details

Entropy values are computed from the proportion of counts assigned to each feature within a given cell. The central idea is that undifferentiated cells have higher entropies because they are not yet committed to a single lineage, and thus have low but persistent activity of the transcriptional programs for all lineages. The cluster with the highest entropy values can be used to determine the `start` cluster in `orderCells`.

### Value

A numeric vector of entropies for all cells in `x`. Cells with all-zero values in `x` will be assigned `NA` entropies.

### Author(s)

Aaron Lun

### References

Grun D et al. (2016). De novo prediction of stem cell identity using single-cell transcriptome data. Cell Stem Cell 19, 266-77

Gulati GS et al. (2020). Single-cell transcriptional diversity is a hallmark of developmental potential. Science 367, 405-11

Guo M et al. (2017) SLICE: determining cell differentiation and lineage based on single cell entropy. Nucleic Acids Res. 45, e54

### Examples

    sce <- scuttle::mockSCE()
    ent <- perCellEntropy(sce)
    summary(ent)

    # Compute average entropy over mock clusters.
    clusters <- sample(ncol(sce), 5)
    by.cluster <- split(ent, clusters)
    mean.cluster.ent <- vapply(by.cluster, mean, 0)

[Package TSCAN version 1.30.0 Index]