A wrapper function for autoEstCont and adjustCounts. Identify potential contamination from experimental factors such as ambient RNA. Visit their vignette for better understanding.
runSoupX(
inSCE,
sample = NULL,
useAssay = "counts",
background = NULL,
bgAssayName = NULL,
bgBatch = NULL,
assayName = ifelse(is.null(background), "SoupX", "SoupX_bg"),
cluster = NULL,
reducedDimName = ifelse(is.null(background), "SoupX_UMAP_", "SoupX_bg_UMAP_"),
tfidfMin = 1,
soupQuantile = 0.9,
maxMarkers = 100,
contaminationRange = c(0.01, 0.8),
rhoMaxFDR = 0.2,
priorRho = 0.05,
priorRhoStdDev = 0.1,
forceAccept = FALSE,
adjustMethod = c("subtraction", "soupOnly", "multinomial"),
roundToInt = FALSE,
tol = 0.001,
pCut = 0.01
)
A SingleCellExperiment object.
A single character specifying a name that can be found in
colData(inSCE)
to directly use the cell annotation; or a character
vector with as many elements as cells to indicates which sample each cell
belongs to. SoupX will be run on cells from each sample separately. Default
NULL
.
A single character string specifying which assay in
inSCE
to use. Default 'counts'
.
A numeric matrix of counts or a
SingleCellExperiment object with the matrix in assay
slot. It should have the same structure as inSCE
except it contains
the matrix including empty droplets. Default NULL
.
A single character string specifying which assay in
background
to use when background
is a
SingleCellExperiment object. If NULL
, the function
will use the same value as useAssay
. Default NULL
.
The same thing as sample
but for background
. Can
be a single character only when background
is a
SingleCellExperiment object. Default NULL
.
A single character string of the output corrected matrix.
Default "SoupX"
when not using a background, otherwise,
"SoupX_bg"
.
Prior knowledge of clustering labels on cells. A single
character string for specifying clustering label stored in
colData(inSCE)
, or a character vector with as many elements as cells.
When not supplied, quickCluster
method will be applied.
A single character string of the prefix of output
corrected embedding matrix for each sample. Default "SoupX_UMAP_"
when
not using a background, otherwise, "SoupX_bg_UMAP_"
.
Numeric. Minimum value of tfidf to accept for a marker gene.
Default 1
. See ?SoupX::autoEstCont
.
Numeric. Only use genes that are at or above this
expression quantile in the soup. This prevents inaccurate estimates due to
using genes with poorly constrained contribution to the background. Default
0.9
. See ?SoupX::autoEstCont
.
Integer. If we have heaps of good markers, keep only the
best maxMarkers of them. Default 100
. See ?SoupX::autoEstCont
.
Numeric vector of two elements. This constrains
the contamination fraction to lie within this range. Must be between 0 and 1.
The high end of this range is passed to
estimateNonExpressingCells
as
maximumContamination
. Default c(0.01, 0.8)
. See
?SoupX::autoEstCont
.
Numeric. False discovery rate passed to
estimateNonExpressingCells
, to test if rho is less than
maximumContamination
. Default 0.2
. See
?SoupX::autoEstCont
.
Numeric. Mode of gamma distribution prior on contamination
fraction. Default 0.05
. See ?SoupX::autoEstCont
.
Numeric. Standard deviation of gamma distribution prior
on contamination fraction. Default 0.1
. See
?SoupX::autoEstCont
.
Logical. Should we allow very high contamination fractions
to be used. Passed to setContaminationFraction
. Default
FALSE
. See ?SoupX::autoEstCont
.
Character. Method to use for correction. One of
'subtraction'
, 'soupOnly'
, or 'multinomial'
. Default
'subtraction'
. See ?SoupX::adjustCounts
.
Logical. Should the resulting matrix be rounded to
integers? Default FALSE
. See ?SoupX::adjustCounts
.
Numeric. Allowed deviation from expected number of soup counts.
Don't change this. Default 0.001
. See ?SoupX::adjustCounts
.
Numeric. The p-value cut-off used when
method = 'soupOnly'
. Default 0.01
. See
?SoupX::adjustCounts
.
The input inSCE
object with soupX_nUMIs
,
soupX_clustrers
, soupX_contamination
appended to colData
slot; soupX_{sample}_est
and soupX_{sample}_counts
for each
sample appended to rowData
slot; and other computational metrics at
getSoupX(inSCE)
. Replace "soupX" to "soupX_bg" when background
is used.
plotSoupXResults
if (FALSE) {
# SoupX does not work for toy example,
sce <- importExampleData("pbmc3k")
sce <- runSoupX(sce, sample = "sample")
plotSoupXResults(sce, sample = "sample")
}