DA_edgeR {benchdamic} | R Documentation |
Fast run for edgeR differential abundance detection method.
DA_edgeR( object, pseudo_count = FALSE, group_name = NULL, design = NULL, robust = FALSE, coef = 2, norm = c("TMM", "TMMwsp", "RLE", "upperquartile", "posupperquartile", "none", "ratio", "poscounts", "iterate", "TSS", "CSSmedian", "CSSdefault"), weights, verbose = TRUE )
object |
phyloseq object. |
pseudo_count |
add 1 to all counts if TRUE (default
|
group_name |
character giving the name of the column containing information about experimental group/condition for each sample/library. |
design |
character or formula to specify the model matrix. |
robust |
logical, should the estimation of |
coef |
integer or character index vector indicating which coefficients of the linear model are to be tested equal to zero. |
norm |
name of the normalization method used to compute the
scaling factors to use in the differential abundance analysis. If |
weights |
an optional numeric matrix giving observational weights. |
verbose |
an optional logical value. If |
A list object containing the matrix of p-values pValMat
,
the dispersion estimates dispEsts
, the matrix of summary statistics
for each tag statInfo
, and a suggested name
of the final object
considering the parameters passed to the function.
DGEList
for the edgeR DEG object creation,
estimateDisp
and
estimateGLMRobustDisp
for dispersion estimation, and
glmQLFit
and glmQLFTest
for the
quasi-likelihood negative binomial model fit.
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 TMM scaling factors ps_NF <- norm_edgeR(object = ps, method = "TMM") # The phyloseq object now contains the scaling factors: scaleFacts <- phyloseq::sample_data(ps_NF)[, "NF.TMM"] head(scaleFacts) # Differential abundance DA_edgeR(object = ps_NF, pseudo_count = FALSE, group_name = "group", design = ~ group, coef = 2, robust = FALSE, norm = "TMM")