Skip to contents

Calculates various beta diversity distance matrices from feature abundance data.

Usage

mStat_calculate_beta_diversity(
  data.obj,
  dist.name = c("BC", "Jaccard", "UniFrac", "GUniFrac", "WUniFrac", "JS")
)

Arguments

data.obj

A MicrobiomeStat data object, which is a list containing at minimum the following components:

  • feature.tab: A matrix of feature abundances (taxa/genes as rows, samples as columns)

  • meta.dat: A data frame of sample metadata (samples as rows)

Optional components include:

  • feature.ann: A matrix/data frame of feature annotations (e.g., taxonomy)

  • tree: A phylogenetic tree object (class "phylo")

  • feature.agg.list: Pre-aggregated feature tables by taxonomy

Data objects can be created using converters like mStat_convert_phyloseq_to_data_obj or importers like mStat_import_qiime2_as_data_obj.

dist.name

Character vector specifying which distance metrics to use. Options depend on available methods:

  • "BC": Bray-Curtis dissimilarity

  • "Jaccard": Jaccard distance

  • "UniFrac": Unweighted UniFrac (requires tree)

  • "GUniFrac": Generalized UniFrac (requires tree)

  • "WUniFrac": Weighted UniFrac (requires tree)

  • "JS": Jensen-Shannon divergence

Value

A named list of distance matrices (class "dist").

Examples

if (FALSE) { # \dontrun{
library(vegan) # Used for community ecology analyses
library(GUniFrac) # For generalized UniFrac distances
# library(phyloseq) # For handling and analyzing phylogenetic sequencing data
# Load example data
# data(GlobalPatterns) # An example dataset from the phyloseq package
# Convert the phyloseq object to a MicrobiomeStat data object
# This step is crucial for making the dataset compatible with MicrobiomeStat functions
# GlobalPatterns.obj <- mStat_convert_phyloseq_to_data_obj(GlobalPatterns)
# Calculate various beta diversity indices
# Beta diversity measures the difference in microbial communities across samples
# Bray-Curtis dissimilarity (BC)
# A commonly used measure of dissimilarity based on counts
# dist.obj <- mStat_calculate_beta_diversity(GlobalPatterns.obj, dist.name = c('BC'))
# Jaccard index
# A measure based on presence/absence, useful for binary data
# dist.obj <- mStat_calculate_beta_diversity(GlobalPatterns.obj, dist.name = c("Jaccard"))
# UniFrac distance
# A phylogenetic measure of community dissimilarity
# Requires a phylogenetic tree as part of the input
# dist.obj <- mStat_calculate_beta_diversity(GlobalPatterns.obj, dist.name = c('UniFrac'))
# Weighted UniFrac distance (WUniFrac)
# A variation of UniFrac that accounts for relative abundance
# Also requires a phylogenetic tree
# dist.obj <- mStat_calculate_beta_diversity(GlobalPatterns.obj, dist.name = c('WUniFrac'))
# Jensen-Shannon divergence (JS)
# A symmetric and smoothed version of the Kullback-Leibler divergence
# Useful for comparing probability distributions
# dist.obj <- mStat_calculate_beta_diversity(GlobalPatterns.obj, dist.name = c('JS'))
} # }