
Calculate Beta Diversity Indices
Source:R/mStat_calculate_beta_diversity.R
mStat_calculate_beta_diversity.RdCalculates 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_objor importers likemStat_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
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'))
} # }