This function is a wrapper for SCnorm: robust normalization of single-cell RNA-seq data (Bacher et al. Nature Methods 2017, 14:584–586)

scnorm(
  group = c("sudo", "docker"),
  file,
  conditions = NULL,
  outputName,
  nCores = 8,
  filtercellNum = 10,
  ditherCount = FALSE,
  PropToUse = 0.1,
  PrintProgressPlots = FALSE,
  FilterExpression = 0
)

Arguments

group,

a character string. Two options: sudo or docker, depending to which group the user belongs

file,

a character string indicating the path of the file. IMPORTANT: full path to the file MUST be included. Only tab delimited files are supported

conditions,

vector of condition labels, this should correspond to the columns of the un-normalized expression matrix. If not provided data is assumed to come from same condition/batch.

outputName,

specify the path and/or name of output files.

nCores,

number of cores to use, default is detectCores() - 1.

filtercellNum,

the number of non-zero expression estimate required to include the genes into the SCnorm fitting (default = 10). The initial grouping fits a quantile regression to each gene, making this value too low gives unstable fits.

ditherCount,

FALSE of TRUE. Setting to TRUE might improve results with UMI data.

PropToUse,

as default is set to 0.25, but to increase speed with large data set could be reduced, e.g. 0.1

PrintProgressPlots,

produces a plot as SCnorm determines the optimal number of groups

FilterExpression,

a value indicating exclude genes having median of non-zero expression below this threshold from count-depth plots

Value

a tab delimited file containing the normalized data and a list of the discarded genes.

Examples

if (FALSE) {
    #downloading fastq files
    system("wget http://130.192.119.59/public/example_UMI.txt.zip")
    unzip("example_UMI.txt.zip")
    conditions=rep(1,12)
    scnorm(group="docker", file=paste(getwd(), "example_UMI.txt", sep="/"),
    conditions=conditions,outputName="example_UMI", nCores=8, filtercellNum=10,
    ditherCount=TRUE, PropToUse=0.1, PrintProgressPlots=FALSE, FilterExpression=1)
}