Remove, or flag wells that are outliers in discrete or continuous space.

mast_filter(sc, groups = NULL, filt_control = NULL, apply_filter = TRUE)

burdenOfFiltering(sc, groups, byGroup = FALSE, filt_control = NULL)

Arguments

sc

The SingleCellAssay object

groups

An optional character naming the grouping variable

filt_control

The list with configuration parameters for the filter.

apply_filter

logical should the filter be applied, or should a matrix of booleans giving if a well would be subject to a filtering criteria be returned?

byGroup

in the case of burdenOfFiltering should the filter be stratified by groups, or only the plotting.

Value

A filtered result

Details

The function filters wells that don't pass filtering criteria described in filt_control. filt_control is a list with named elements nOutlier (minimum nmber of outlier cells for a cell to be filtered [default = 2] sigmaContinuous (the z-score outlier threshold for the continuous part of the signal) [default = 7] and sigmaProportion (the z-score outlier threshold for the discrete part of the signal) [default = 7].

If groups is provided, the filtering is calculated within each level of the group, then combined again as output.

Functions

  • burdenOfFiltering: plot the proportions of wells are filtered due to different criteria

See also

burdenOfFiltering

Author

Andrew McDavid

Examples

data(vbetaFA)
## Split by 'ncells', apply to each component, then recombine
vbeta.filtered <- mast_filter(vbetaFA, groups='ncells')
## Returned as boolean matrix
was.filtered <- mast_filter(vbetaFA, apply_filter=FALSE)
## Wells filtered for being discrete outliers
head(subset(was.filtered, pctout))
#>             intout null pctout
#> Sub01 1 D05  FALSE TRUE   TRUE
#> Sub01 1 D06  FALSE TRUE   TRUE
#> Sub01 1 D07  FALSE TRUE   TRUE
#> Sub01 1 D08  FALSE TRUE   TRUE
#> Sub01 1 D10  FALSE TRUE   TRUE
#> Sub01 1 D11  FALSE TRUE   TRUE
burdenOfFiltering(vbetaFA, groups='ncells', byGroup=TRUE)

burdenOfFiltering(vbetaFA, groups='ncells')