runCCA: Canonical Correspondence Analysis and Redundancy Analysis

runCCAR Documentation

Canonical Correspondence Analysis and Redundancy Analysis

Description

These functions perform Canonical Correspondence Analysis on data stored in a SummarizedExperiment.

Usage

calculateCCA(x, ...)

runCCA(x, ...)

calculateRDA(x, ...)

runRDA(x, ...)

## S4 method for signature 'ANY'
calculateCCA(x, ...)

## S4 method for signature 'SummarizedExperiment'
calculateCCA(
  x,
  formula,
  variables,
  test.signif = TRUE,
  assay.type = assay_name,
  assay_name = exprs_values,
  exprs_values = "counts",
  scores = "wa",
  ...
)

## S4 method for signature 'SingleCellExperiment'
runCCA(x, formula, variables, altexp = NULL, name = "CCA", ...)

## S4 method for signature 'ANY'
calculateRDA(x, ...)

## S4 method for signature 'SummarizedExperiment'
calculateRDA(
  x,
  formula,
  variables,
  test.signif = TRUE,
  assay.type = assay_name,
  assay_name = exprs_values,
  exprs_values = "counts",
  scores = "wa",
  ...
)

## S4 method for signature 'SingleCellExperiment'
runRDA(x, formula, variables, altexp = NULL, name = "RDA", ...)

Arguments

x

For calculate* a SummarizedExperiment or a numeric matrix with columns as samples

For run* a SingleCellExperiment or a derived object.

...

additional arguments passed to vegan::cca or vegan::dbrda and other internal functions.

  • method a dissimilarity measure to be applied in dbRDA and possible following homogeneity test. (By default: method="euclidean")

  • scale a logical scalar, should the expression values be standardized? scale is disabled when using *RDA functions. Please scale before performing RDA. (By default: scale=TRUE)

  • full a logical scalar, should all the results from the significance calculations be returned. When full=FALSE, only summary tables are returned. (By default: full=FALSE)

  • homogeneity.test a single character value for specifying the significance test used to analyse vegan::betadisper results. Options include 'permanova' (vegan::permutest), 'anova' (stats::anova) and 'tukeyhsd' (stats::TukeyHSD). (By default: homogeneity.test="permanova")

formula

If x is a SummarizedExperiment a formula can be supplied. Based on the right-hand side of the given formula colData is subset to variables.

variables and formula can be missing, which turns the CCA analysis into a CA analysis and dbRDA into PCoA/MDS.

variables

When x is a SummarizedExperiment, variables can be used to specify variables from colData.

When x is a matrix, variables is a data.frame or an object coercible to one containing the variables to use.

All variables are used. Please subset, if you want to consider only some of them. variables and formula can be missing, which turns the CCA analysis into a CA analysis and dbRDA into PCoA/MDS.

test.signif

a logical scalar, should the PERMANOVA and analysis of multivariate homogeneity of group dispersions be performed. (By default: test.signif = TRUE)

assay.type

a single character value for specifying which assay to use for calculation.

assay_name

a single character value for specifying which assay to use for calculation. (Please use assay.type instead. At some point assay_name will be disabled.)

exprs_values

a single character value for specifying which assay to use for calculation. (Please use assay.type instead.)

scores

A string specifying scores to be returned. Must be 'wa' (site scores found as weighted averages (cca) or weighted sums (rda) of v with weights Xbar, but the multiplying effect of eigenvalues removed) or 'u' ((weighted) orthonormal site scores). (By default: scores='wa')

altexp

String or integer scalar specifying an alternative experiment containing the input data.

name

String specifying the name to be used to store the result in the reducedDims of the output.

Details

*CCA functions utilize vegan:cca and *RDA functions vegan:dbRDA. By default dbRDA is done with euclidean distances which equals to RDA.

Significance tests are done with vegan:anova.cca (PERMANOVA). Group dispersion, i.e., homogeneity within groups is analyzed with vegan:betadisper (multivariate homogeneity of groups dispersions (variances)) and statistical significance of homogeneity is tested with a test specified by homogeneity.test parameter.

Value

For calculateCCA a matrix with samples as rows and CCA dimensions as columns. Attributes include calculated cca/rda object and significance analysis results.

For runCCA a modified x with the results stored in reducedDim as the given name.

See Also

For more details on the actual implementation see cca and dbrda

Examples

library(scater)
data(GlobalPatterns)
GlobalPatterns <- runCCA(GlobalPatterns, data ~ SampleType)
plotReducedDim(GlobalPatterns,"CCA", colour_by = "SampleType")

# Fetch significance results
attr(reducedDim(GlobalPatterns, "CCA"), "significance")

GlobalPatterns <- runRDA(GlobalPatterns, data ~ SampleType)
plotReducedDim(GlobalPatterns,"CCA", colour_by = "SampleType")

# Specify dissimilarity measure
GlobalPatterns <- transformAssay(GlobalPatterns, method = "relabundance")
GlobalPatterns <- runRDA(
    GlobalPatterns, data ~ SampleType, assay.type = "relabundance",  method = "bray")

# To scale values when using *RDA functions, use transformAssay(MARGIN = "features", ...) 
tse <- GlobalPatterns
tse <- transformAssay(tse, MARGIN = "features", method = "z")
# Data might include taxa that do not vary. Remove those because after z-transform
# their value is NA
tse <- tse[ rowSums( is.na( assay(tse, "z") ) ) == 0, ]
# Calculate RDA
tse <- runRDA(tse, formula = data ~ SampleType,
              assay.type = "z", name = "rda_scaled", na.action = na.omit)
# Plot
plotReducedDim(tse,"rda_scaled", colour_by = "SampleType")
# A common choice along with PERMANOVA is ANOVA when statistical significance
# of homogeneity of groups is analysed. Moreover, full signficance test results
# can be returned.
 tse <- runRDA(tse, data ~ SampleType, homogeneity.test = "anova", full = TRUE)


microbiome/mia documentation built on April 27, 2024, 4:04 a.m.