norm_edgeR | R Documentation |
Calculate normalization factors from a phyloseq or TreeSummarizedExperiment
object. Inherited from edgeR calcNormFactors
function.
norm_edgeR( object, assay_name = "counts", method = c("TMM", "TMMwsp", "RLE", "upperquartile", "posupperquartile", "none"), refColumn = NULL, logratioTrim = 0.3, sumTrim = 0.05, doWeighting = TRUE, Acutoff = -1e+10, p = 0.75, verbose = TRUE, ... )
object |
a phyloseq or TreeSummarizedExperiment object. |
assay_name |
the name of the assay to extract from the
TreeSummarizedExperiment object (default |
method |
normalization method to be used. Choose between |
refColumn |
column to use as reference for |
logratioTrim |
the fraction (0 to 0.5) of observations to be trimmed from each tail of the distribution of log-ratios (M-values) before computing the mean. Used by |
sumTrim |
the fraction (0 to 0.5) of observations to be trimmed from each tail of the distribution of A-values before computing the mean. Used by |
doWeighting |
logical, whether to use (asymptotic binomial precision) weights when computing the mean M-values. Used by |
Acutoff |
minimum cutoff applied to A-values. Count pairs with lower A-values are ignored. Used by |
p |
numeric value between 0 and 1 specifying which quantile of the counts should be used by |
verbose |
an optional logical value. If |
... |
other arguments are not currently used. |
A new column containing the chosen edgeR-based normalization factors
is added to the sample_data
slot of the phyloseq object or the
colData
slot of the TreeSummarizedExperiment object.
calcNormFactors
for details.
setNormalizations
and runNormalizations
to fastly set and run normalizations.
set.seed(1) # Create a very simple phyloseq object counts <- matrix(rnbinom(n = 60, size = 3, prob = 0.5), nrow = 10, ncol = 6) metadata <- data.frame("Sample" = c("S1", "S2", "S3", "S4", "S5", "S6"), "group" = as.factor(c("A", "A", "A", "B", "B", "B"))) ps <- phyloseq::phyloseq(phyloseq::otu_table(counts, taxa_are_rows = TRUE), phyloseq::sample_data(metadata)) # Calculate the normalization factors ps_NF <- norm_edgeR(object = ps, method = "TMM") # The phyloseq object now contains the normalization factors: normFacts <- phyloseq::sample_data(ps_NF)[, "NF.TMM"] head(normFacts) # VERY IMPORTANT: edgeR uses normalization factors to normalize library sizes # not counts. They are used internally by a regression model. To make edgeR # normalization factors available for other methods, such as DESeq2 or other # DA methods based on scaling or size factors, we need to transform them into # size factors. This is possible by multiplying the factors for the library # sizes and renormalizing. normLibSize = normFacts * colSums(phyloseq::otu_table(ps_stool_16S)) # Renormalize: multiply to 1 sizeFacts = normLibSize/exp(colMeans(log(normLibSize)))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.