Introduction

Data once uploaded and filtered through the preceding tabs can be normalized and corrected for batch-effect. This guide particularly focuses on normalization of data for downstream analysis which can be achieved through a single runNormalization wrapper function. A detailed list of available normalization methods, transformation options and usage of this function is described below.

Additional Options

Option Description
Log2 Log base 2 transformation
Log1p Natural log + 1 transformation
Z.Score Standard z.score scaling
Pseudocounts Add a specified pseudo value to matrices before or after normalization/transformation
Trim Trim values based on an upper and lower limits (can be applied with all of the above methods)

Workflow Guide

The singleCellTK allows the users to run all normalization and transformation methods on the input data by using a single runNormalization function. The runNormalization function takes in input a SingleCellExperiment object and a series of parameters that define the normalization/transformation options to run on the specified assay. The output of this function is a SingleCellExperiment object which now contains the normalized/transformed assay.

The runNormalization function specifies the following parameters:

Parameter Description
inSCE Input SingleCellExperiment object.
useAssay Specify the input assay to use for normalization/transformation.
outAssayName A character value indicating the name of the new output assay.
normalizationMethod Specify a normalization method from "LogNormalize", "CLR", "RC", "SCTransform", "logNormCounts" or "CPM". If no method is specified, normalization will not be performed.
scale Logical value indicating if Z.Score scaling should be performed or not.
seuratScaleFactor Specify the scaleFactor parameter if any of the seurat normalization method is selected.
transformation Specify if a transformation should be applied to the input assay (if normalization is selected, this transformation is applied after normalization). Available transformation options include "log2", "log1p", "sqrt".
pseudocountsBeforeNorm A numeric value to add to the input assay before performing normalization.
pseudocountsBeforeTransform A numeric value to add to the input assay before performing a transformation.
trim A numeric(2) vector that specifies the upper and the lower trim values between (exclusive) which the input assay should be trimmed.
verbose A logical value indicating if informative/progress messages should be displayed on the console.

To use the function, input a SingleCellExperiment object that contains the data assay and specify the required parameters:

sce <- runNormalization(
  inSCE = sce, 
  normalizationMethod = "RC", 
  useAssay = "counts", 
  outAssayName = "RCLogScaledCounts", 
  scale = TRUE, 
  transformation = "log2", 
  pseudocountsBeforeTransform = 1, 
  trim = c(10, -10))