NMFDoubletsDetermineCells: NMF Doublets: Identify cells that express non-overlapping NMF...

Description Usage Arguments Details Value

View source: R/NMFDoublets.R

Description

This identifies which cells express multiple NMF modules that the user has determined should probably not be co-expressed in single-cells, as a way of identifying potential doublets in the data.

Usage

1
2
3
4
5
6
7
NMFDoubletsDetermineCells(
  object,
  module.combos,
  module.expressed.thresh,
  frac.overlap.max,
  frac.overlap.diff.max
)

Arguments

object

An URD object

module.combos

(List) Output from NMFDoubletsDefineModules

module.expressed.thresh

(Numeric) Threshold for considering a module 'expressed' in a cell

frac.overlap.max

(Numeric) Only pairs of NMF modules where the maximum portion of cells that express both is less than frac.overlap.max are used.

frac.overlap.diff.max

(Numeric) Only pairs of NMF modules where the portion of co-expressing cells increases less than frac.overlap.diff.max when the detection threshold is lowered are used. (See NMFDoubletsDefineModules for more information.)

Details

Expression of NMF modules are considered pairwise in NMFDoubletsDefineModules. Thresholds for pairs of NMF modules that probably define doublets (versus ones that might define legitimate developmental transitions) can be determined by using the NMFDoubletsPlotModuleThresholds and NMFDoubletsPlotModuleCombos functions. Two thresholds are used to determine whether a cell 'expresses' a module – this helps differentiate between totally distinct modules (in which case the number of co-expressing cells is similar with either threshold) from pairs of modules expressed in an overlapping gradient (in which case the number of cells that co-express them increases dramatically as the threshold is lowered).

Cells that express a pair of modules that are totally distinct are often useful for identifying doublets – where one detected cell contains cells that are highly expressing two cell type programs that don't usually occur together. Excluding module pairs that are expressed in an overlapping gradient is important, however, as these often identify cells that are participating in a developmental transition and should not be excluded.

This function requires that a matrix of NMF modules expression per cell is put into slot @nmf.c1. It should be a sparse matrix of class dgCMatrix (object@nmf.c1 <- as(as.matrix(nmf.modules), 'dgCMatrix')), where rows are cells and columns are modules. In general, we generally normalize each module from 0-1 across all cells.

Value

(Character Vector) Cell Names that express multiple distinct NMF modules


farrellja/URD documentation built on June 17, 2020, 4:48 a.m.