JSD: Calculate the Jensen-Shannon Divergence (distance)

JSDR Documentation

Calculate the Jensen-Shannon Divergence (distance)

Description

This is a phyloseq-specific implementation of the Jensen-Shannon Divergence for comparing pairs of microbial communities (samples) in an experiment. The expectation is that you have many samples (say. more than two) and you want a distance matrix on which will perform further analysis. JSD is intended to be “wrapped” by the more general distance function in phyloseq, and it can be invoked using "jsd" as the argument to the method parameter of distance.

Usage

JSD(physeq)

Arguments

physeq

(Required). phyloseq-class. The phyloseq data on which to compute the pairwise sample distance matrix.

Details

One of the motivations for providing JSD in phyloseq was its recent use in the analysis of the enterotype dataset.

Value

An object of class “dist” suitable for certain ordination methods and other distance-based analyses. See distance.

Author(s)

Susan Holmes susan@stat.stanford.edu. Adapted for phyloseq by Paul J. McMurdie.

References

Jensen-Shannon Divergence and Hilbert space embedding. Bent Fuglede and Flemming Topsoe University of Copenhagen, Department of Mathematics http://www.math.ku.dk/~topsoe/ISIT2004JSD.pdf

See Also

distance

enterotype

http://en.wikipedia.org/wiki/Jensen-Shannon_divergence

Examples

# library(doParallel)  # Do this and next line only if you have multi-cores
# registerDoParallel(cores=6)
# data(enterotype)
# # ent.jsd <- JSD(enterotype, TRUE) # internal only
# ent.jsd <- distance(enterotype, "jsd", parallel=TRUE)
# ent.PCoA <- ordinate(enterotype, "PCoA", ent.jsd) # Perform principle coordinate analysis
# p <- plot_ordination(enterotype, ent.PCoA, color="Enterotype", shape="SeqTech") 
# (p <- p + geom_point(size=5, alpha=0.5))

joey711/phyloseq documentation built on Nov. 4, 2022, 1:16 a.m.