NormalizeSamples: scaling RNA-seq count table

Description Usage Arguments Value Author(s)

View source: R/normalize_count_table.R

Description

normalisation of RNA-seq count table. More precisely this function runs a sample-wise scaling so that all the samples have the same value for a user-defined scaling parameter. By default, we use the quantile 0.75 as scaling factor.

Usage

1
2
3
4
5
6
7
8
NormalizeSamples(
  self,
  method = "quantile",
  quantile = 0.75,
  log2 = FALSE,
  epsilon = 0.1,
  detailed.sample.stats = FALSE
)

Arguments

self

an object belonging to the class DataTableWithClasses This input object contains a count table, with one column per sample and one row per gene + a phenoTable + sample class specifications.

The phenoTable of the input object may be filtered out adapted it in case samples would be suppressed because they have a scaling factor of 0.

classLabels

the class labels associated each sample of the count table. Should be provided in order to adapt it in case samples would be suppressed because they have a scaling factor of 0.

method="quantile"

normalization method. Supported normalization methods: sum, mean, median, quantile, TMM, RLE, DESeq2.

Sum and mean are really not recommended because very sensitive to outliers. They are implemented only for the sake of comparison.

Quantile: Preferred quantile = 0.75. Quantiles are more robust to outliers than the mean or sum. The median is sometimes weak in RNA-seq data, the 75th percentile (quantile 0.75) seems a good tradeoff between robustness and representativity (taking into account a representative proportion of the total counts per samples).

Median: actually runs quantile-based scaling factor with quantile=0.5.

TMM: trimmed mean of M-values proposed by Robinson and Oshlack (2010), computed via edgeR::calcNormFactors().

RLE: relative log expression proposed by Anders and Huber (2010), computed via edgeR::calcNormFactors().

DESeq2: compute size factors via DESeq2::estimateSizeFactors()

quantile=0.75

quantile used as scaling factor when quantile method is selected.

log2=FALSE

apply a log2 transformation

epsilon=0.1

value added to all counts before applying the log2 transformation in order to avoid zero counts.

detailed.sample.stats=FALSE

compute detailed sample stats (takes some seconds)

Value

the function returns an object of class DataTableWithClasses, where the dataTable contains the normalised counts. Note that the normalized count table may have a smaller number of samples than the input count table because if some samples have a scaling factor of 0 they will be filtered out. In such case, the phenoTable and classLabels will be filtered out in the same way to ensure consistency of the attributes of the returned DataTableWithClass object.

Author(s)

Jacques van Helden and Mustafa AbuElqumsan


elqumsan/RNAseqMVA documentation built on March 10, 2021, 8:10 a.m.