phyloseq: An R Package for Reproducible Interactive Analysis and Graphics of Microbiome Census Data — TEI-tagged view

Paul J. McMurdie, Susan Holmes · 2013 · ecology · doi:10.1371/journal.pone.0061217 · TEI xml · tagged edition · index · concepts · authors
Where this record's text came from. 2026-08-31 schema-0.3 pass: every quote verified as an exact substring of the staged text and anchored at merge time; concept terms verified present; every edge endpoint an existing node.
Other fields define these differently the same word, defined another way in another discipline
operational taxonomic units 5 fields · reproducible research 4 fields · OTUs 3 fields · R 3 fields · Bioconductor 2 fields · loss of information 2 fields · and 3 more →
Tags on this paper every tag the record carries, whether or not the words occur in the text below — a number is how many papers in the corpus carry that tag; a tag with no number is unique to this paper
phyloseq2 open-source software package object-oriented representation microbiome census data phylogenetic sequencing contingency table taxonomic units experimental observations amplicon sequencing shotgun operational taxonomic units7 OTUs5 taxa 16S rRNA3 PCR amplification OTU-clustering applications post-clustering stage R4 Bioconductor2 OTUbase QIIME2 mothur object-oriented programming infrastructure ecological distances dimensional reduction literate-programming framework roxygen2 phyloseq class experiment-level data storage class otu_table beta diversity2 pairwise ecological distances ordination distance5 Fast UniFrac distance matrix ordinate correspondence analysis non-metric multidimensional scaling ggplot2 aesthetic attributes plot_heatmap hierarchical clustering2 plot_network distance threshold plot_tree rarefaction2 loss of information2 Bray-Curtis distances raw abundance counts nonparametric2 Family Wise Error Rate FWER minP reproducible research6 complete code and data Sweave2 knitr R flavored markdown phyloseq-constructor method updated phyloseq-class originally-proposed phyloseq-class structure accessors system-or-tool-building173
Method, as described: software design description with worked analyses, graphics, comparison of statistical options and fully released reproduction materials

Colour legend

PLoS ONE<title level="j">A work — the journal / venue title.
2013<date>A year or date.

Paul J. McMurdiepersName, Susan HolmespersName (2013date). “phyloseq: An R Package for Reproducible Interactive Analysis and Graphics of Microbiome Census Data.” PLoS ONEtitle·j.

Object of study — the representation, analysis, visualization and reproducibility of microbiome census dataterm in Rterm

Research question — how to provide an integrated, extensible and reproducible post-clustering workflow for heterogeneous phylogenetic sequencing dataterm·def

Contribution — the open-source phyloseqterm package, its experiment-level data class, analysis interfaces, graphics and reproducible examples

Cross-disciplinary analysis
content-tags & facets: phenomenon · claim-type · cross-domain-transfer · mechanism · claim-relation · replication-status · limitation — grounded in the full text
phenomenonthe interaction between integrated data representation, project-specific microbiome analysis and reproducibility — “In this article we describe the conceptual framework and toolbox of a substantially enhanced phyloseq codebase, including especially some advanced ordination and graphics capabilities. We further note that data imported by phyloseq is also accessible to analyses encoded by a large number of freely available R packages, in addition to the capabilities directly supported by phyloseq itself. We will end by discussing the notion of “reproducible research” in the context of phylogenetic sequencing data, and how phyloseq and R can be used in analyses that are more open and reproducible than those found in recent common practice”
claim-typemethod — “The phyloseq project for R is a new open-source software package, freely available on the web from both GitHub and Bioconductor”
method — evidence — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”
object of study — evidence — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”
research question — evidence — “The analysis of microbial communities through DNA sequencing brings many challenges: the integration of different types of data with methods from ecology, genetics, phylogenetics, multivariate statistics, visualization and testing. With the increased breadth of experimental designs now being pursued, project-specific statistical analyses are often needed, and these analyses are often difficult (or impossible) for peer researchers to independently reproduce. The vast majority of the requisite tools for performing these analyses reproducibly are already implemented in R and its extensions (packages), but with limited support for high throughput microbiome census data”
contribution — evidence — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”
mechanismintegrated experiment object A single phyloseq-class instance stores heterogeneous sequencing, taxonomy, tree and sample components. — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”mechanisms[0]
mechanismdimension propagation Removing samples or OTUs from one slot automatically updates every relevant slot. — “Figure 3 summarizes the structure of the phyloseq-class and its components. Each of the slots are empty (NULL) by default, although an instance missing an otu_table component is invalid. Tools in phyloseq that truncate dimensions of one component (that is, remove samples or OTUs) automatically propagate the change across all relevant components. In general, researchers only need to manipulate their “experiment-level” object, making data (pre)processing less prone to mistakes, and often simplifying analysis commands to just one data argument”mechanisms[1]
mechanismdistance interface One function selects among more than forty ecological distances and returns a standard dist object. — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”mechanisms[2]
mechanismordination interface One function selects an ordination method and consumes either abundances or a distance matrix as required. — “The interface for performing ordination methods is also a single function, called ordinate, that takes a phyloseq object as its primary data argument and a character string indicating the desired ordination method. For example, the following would perform (unconstrained) correspondence analysis on the included “Global Patterns” dataset [47] . The ordinate function currently supports correspondence analysis (CA) [48] , constrained correspondence analysis (CCA) [49] , detrended correspondence analysis (DCA) [50] , redundancy analysis (RDA) [51] , principal components analysis (PCA) [52] , double principle coordinates analysis (DPCoA) [53] , multidimensional scaling (MDS, PCoA) [54] , and non-metric multidimensional scaling (NMDS) [55] . For CA, CCA, DCA, RDA, and DPCoA, the ordination is based upon an evaluation of abundance values (in the case of DPCoA, the patristic distances between OTUs on the phylogenetic tree is also used), but not an ecological distance. For MDS and NMDS, the ordinate function requires a pre-calculated distance matrix (“dist” object) or the name of a supported ecological distance method. For example, PCoA/MDS can be calculated on an unweighted UniFrac distance matrix [46] , using the following command”mechanisms[3]
mechanismgraphics grammar Plot functions return ggplot2 objects with variables mapped to color, size and shape. — “One of the key features of the phyloseq package is a set of graphics functions custom-tailored for phylogenetic sequencing analysis, built using the ggplot2 package [57] . The ggplot2 package is an implementation of Wilkinson's The Grammar of Graphics , which provides an object-oriented description of analytical graphics that emphasizes the separation of data and its mapping to aesthetic attributes [58] . In the phyloseq package, functions having names beginning with “plot_” require a phyloseq object as input data, and return a ggplot2 graphics object. These plot_ functions support optional mapping of color, size, and shape aesthetics to sample or OTU variables — usually by providing the name of the variable or taxonomic rank as a character string (E.g. color = “SampleType”). Legends are automatically generated based on the data and aesthetic mappings (not true of the base R graphics), and all features of these graphics can be further modified in R via functions/options in the ggplot2 package”mechanisms[4]
mechanismordination-organized heat map Radial coordinates from ordination reorder samples and optionally OTUs before tile rendering. — “plot_heatmap. This is a special implementation of the ordination-organized heat map similar to the NeatMap package [59] . Briefly, the abundance matrix is represented as a grid of colored tiles, with the color of the tiles mapped to the (usually transformed) abundance value. The ordering of the OTUs and sample indices in this representation is critical for discriminating any patterns. Traditionally, hierarchical clustering methods have been used for this organization; but, as Rajaram and Oono recently pointed out [59] , this has the potential to misrepresent the data when deeply-branching elements are placed next to one another arbitrarily. Instead, the samples (and optionally, OTUs) are reordered based on their radial coordinate angle in the first two axes of an ordination. For the plot_heatmap function, any of the distances/ordinations supported by the distance and ordinate functions can be used, with the default being non-metric multidimensional scaling. Any arbitrary color scale can be selected, as well as any choice of numerical transformation for scaling the mapping of color shades to abundance”mechanisms[5]
mechanismpermutation error control Repeated analyses on permuted data support minP control of family-wise error. — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”mechanisms[6]
mechanismliterate analysis Sweave, knitr and R-flavored markdown bind code, data, figures and explanatory text. — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”mechanisms[7]
introduces phyloseq software package — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”claim_relations[0]
unifies microbiome census data, phylogenies, sample data, analysis and graphics — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”claim_relations[1]
extends R and Bioconductor ecology-analysis ecosystem — “The phyloseq package provides an object-oriented programming infrastructure that simplifies many of the common data management and preprocessing tasks required during analysis of phylogenetic sequencing data. This simplified syntax helps mitigate inconsistency errors and encourages interaction with the data during preprocessing. The phyloseq package also provides a set of powerful analysis and graphics functions, building upon related packages available in R and Bioconductor. It includes or supports some of the most commonly-needed ecology and phylogenetic tools, including a consistent interface for calculating ecological distances and performing dimensional reduction (ordination). The graphics functions allow users to interactively produce annotated publication-quality graphics in just one or two lines of code. The phyloseq package includes extensive documentation in the form of function- and package-level manuals embedded in the package's documentation interface and in a PDF version on Bioconductor [38] , as well as extended reproducible examples on the phyloseq homepage [39] , and open collaborative development on GitHub”claim_relations[2]
demonstrates fully reproducible article analysis and figures — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”claim_relations[3]
argues flexible method-independent post-clustering analysis — “As the complexity and sophistication of phylogenetic sequencing experiments continues to increase, it is clear that a “one-analysis fits all” approach is not sufficient. While it is often useful and convenient to have common analyses coupled within the application that decodes the sequences and clusters OTUs, we posit that a separate set of flexible open-source analytical tools is also needed that can be reproduced consistently by peers, and easily applied to new datasets and data sources. It should include a large library of statistical functions, and be independent of the choice of OTU-clustering method or sequencing technology. The phyloseq package helps satisfy this need by reducing the effort necessary to analyze OTU-clustered phylogenetic sequencing data via the R language and interactive computing environment”claim_relations[4]
sensephylogenetic sequencing as a method-agnostic taxon-by-sample census integrated with auxiliary observations — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”senses[0]
sensephyloseq as both an experiment-level class and a toolbox of analysis and graphics functions — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”senses[1]
sensebeta diversity as between-sample comparison of observed OTU composition and quantity — “Comparisons of the type and quantity of OTUs observed between microbiome samples (“beta diversity”) is often approached through the calculation of pairwise ecological distances [42] , [43] , and through dimensional reduction (ordination) methods. The phyloseq package provides a consistent interface for the most common approaches to distance calculations and ordination. This interface is also the foundation for the custom ordination and heatmap graphics functions”senses[2]
senseecological distance as a pairwise dissimilarity input to clustering or ordination — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”senses[3]
sensereproducibility as exact recreation of analyses, tables and figures from published data and software — “In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible research can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and data used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundance data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parameters and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible research [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductor/R. The emphasis of preprocessing tools in phyloseq is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable”senses[4]
senserarefaction as random subsampling of over-abundant columns to the smallest sequencing effort — “In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundance tables, such a procedure is inappropriate as the disparities in column sums can be 100-fold. Methods based on chi-squared distances rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTU within a column, with the overall column sum retained as a weighting factor. However, chi-square distances are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distances can be a useful alternative, as it is based on the distance between profiles, as long as the differences in actual column sums are also accounted for in the final study. The other approach to the problem of disparities between column sums has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of information, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefaction in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUs is beneficial, especially in the latter multiple testing adjustments”senses[5]
senseFWER as the probability of one or more false rejections among simultaneous hypotheses — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”senses[6]
senseplot-network connectivity as ecological distance falling below a user-selected threshold — “plot_network. This function plots an igraph-class network [60] representing binary relationships between samples or OTUs. The network is calculated using the make_network function with phyloseq data as input and a desired ecological distance and threshold value. Unlike ordination, where most of the data structure is summarized by the relative position in two or more axes, the data is instead summarized by connections between samples (or OTUs) drawn with straight lines. Two samples are considered “connected” if the distance between them is less than a user-defined threshold. The relative position of points is optimized for the visual display of network properties, but is otherwise arbitrary. Any of the ecological distances supported by the distance function can be selected, and this can be a powerful representation of major clusters among samples or OTUs, provided the value of the distance threshold has been chosen carefully”senses[7]
controlautomatic propagation of sample and OTU truncation — rules out inconsistent dimensions across components — “Figure 3 summarizes the structure of the phyloseq-class and its components. Each of the slots are empty (NULL) by default, although an instance missing an otu_table component is invalid. Tools in phyloseq that truncate dimensions of one component (that is, remove samples or OTUs) automatically propagate the change across all relevant components. In general, researchers only need to manipulate their “experiment-level” object, making data (pre)processing less prone to mistakes, and often simplifying analysis commands to just one data argument”controls[0]
controlvalidity checks consolidated in the phyloseq constructor — rules out duplicated downstream class-validity checks — “It is important to note that the new phyloseq-class is a significant departure from the originally-proposed phyloseq-class structure [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencing experiment as a single object. The updated phyloseq-class is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-class do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor method”controls[1]
controlpublication of article source, data and figure commands — held — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq” — rules out hidden analytic steps in the paper's worked example — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”controls[2]
notephyloseq software package — The paper describes and releases the package. — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”claim_relations[0]
notemicrobiome census data, phylogenies, sample data, analysis and graphics — One experiment-level object integrates heterogeneous components. — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”claim_relations[1]
weightmicrobiome census data, phylogenies, sample data, analysis and graphics — 0.95 — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”claim_relations[1]
noteR and Bioconductor ecology-analysis ecosystem — The package builds on related packages and their methods. — “The phyloseq package provides an object-oriented programming infrastructure that simplifies many of the common data management and preprocessing tasks required during analysis of phylogenetic sequencing data. This simplified syntax helps mitigate inconsistency errors and encourages interaction with the data during preprocessing. The phyloseq package also provides a set of powerful analysis and graphics functions, building upon related packages available in R and Bioconductor. It includes or supports some of the most commonly-needed ecology and phylogenetic tools, including a consistent interface for calculating ecological distances and performing dimensional reduction (ordination). The graphics functions allow users to interactively produce annotated publication-quality graphics in just one or two lines of code. The phyloseq package includes extensive documentation in the form of function- and package-level manuals embedded in the package's documentation interface and in a PDF version on Bioconductor [38] , as well as extended reproducible examples on the phyloseq homepage [39] , and open collaborative development on GitHub”claim_relations[2]
weightR and Bioconductor ecology-analysis ecosystem — 0.95 — “The phyloseq package provides an object-oriented programming infrastructure that simplifies many of the common data management and preprocessing tasks required during analysis of phylogenetic sequencing data. This simplified syntax helps mitigate inconsistency errors and encourages interaction with the data during preprocessing. The phyloseq package also provides a set of powerful analysis and graphics functions, building upon related packages available in R and Bioconductor. It includes or supports some of the most commonly-needed ecology and phylogenetic tools, including a consistent interface for calculating ecological distances and performing dimensional reduction (ordination). The graphics functions allow users to interactively produce annotated publication-quality graphics in just one or two lines of code. The phyloseq package includes extensive documentation in the form of function- and package-level manuals embedded in the package's documentation interface and in a PDF version on Bioconductor [38] , as well as extended reproducible examples on the phyloseq homepage [39] , and open collaborative development on GitHub”claim_relations[2]
notefully reproducible article analysis and figures — The source and output materials are made available. — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”claim_relations[3]
noteflexible method-independent post-clustering analysis — The authors state that one-analysis-fits-all is insufficient. — “As the complexity and sophistication of phylogenetic sequencing experiments continues to increase, it is clear that a “one-analysis fits all” approach is not sufficient. While it is often useful and convenient to have common analyses coupled within the application that decodes the sequences and clusters OTUs, we posit that a separate set of flexible open-source analytical tools is also needed that can be reproduced consistently by peers, and easily applied to new datasets and data sources. It should include a large library of statistical functions, and be independent of the choice of OTU-clustering method or sequencing technology. The phyloseq package helps satisfy this need by reducing the effort necessary to analyze OTU-clustered phylogenetic sequencing data via the R language and interactive computing environment”claim_relations[4]
weightflexible method-independent post-clustering analysis — 0.9 — “As the complexity and sophistication of phylogenetic sequencing experiments continues to increase, it is clear that a “one-analysis fits all” approach is not sufficient. While it is often useful and convenient to have common analyses coupled within the application that decodes the sequences and clusters OTUs, we posit that a separate set of flexible open-source analytical tools is also needed that can be reproduced consistently by peers, and easily applied to new datasets and data sources. It should include a large library of statistical functions, and be independent of the choice of OTU-clustering method or sequencing technology. The phyloseq package helps satisfy this need by reducing the effort necessary to analyze OTU-clustered phylogenetic sequencing data via the R language and interactive computing environment”claim_relations[4]
notephyloseq —is-a→ open-source software package — Direct categorical statement. — “The phyloseq project for R is a new open-source software package, freely available on the web from both GitHub and Bioconductor”concept_edges[0]
relationphyloseq —is-a→ open-source software package — The phyloseq project for R is a new open-source software package. — “The phyloseq project for R is a new open-source software package, freely available on the web from both GitHub and Bioconductor”concept_edges[0]
noteOTUs —same-as→ taxa — Direct naming equivalence. — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concept_edges[1]
relationOTUs —same-as→ taxa — Operational taxonomic units are sometimes referred to as taxa. — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concept_edges[1]
notephyloseq class —is-a→ experiment-level data storage class — Direct class statement. — “The “phyloseq” class. The phyloseq class is an experiment-level data storage class defined by the phyloseq package for representing phylogenetic sequencing data. Most functions in the phyloseq package expect an instance of this class as their primary argument. See the phyloseq manual [38] for a complete list of functions”concept_edges[2]
relationphyloseq class —is-a→ experiment-level data storage class — The phyloseq class is an experiment-level data storage class. — “The “phyloseq” class. The phyloseq class is an experiment-level data storage class defined by the phyloseq package for representing phylogenetic sequencing data. Most functions in the phyloseq package expect an instance of this class as their primary argument. See the phyloseq manual [38] for a complete list of functions”concept_edges[2]
auditdistance —part-of→ Fast UniFrac — Audit 2026-09-28: DOUBTFUL - read against its span and kept, but Fast UniFrac is one method WITHIN the distance function; part-of runs the wrong way. — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”concept_edges[3]
notedistance —part-of→ Fast UniFrac — Direct inclusion statement. — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”concept_edges[3]
relationdistance —part-of→ Fast UniFrac — The distance interface includes an R-native Fast UniFrac implementation. — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”concept_edges[3]
noteFamily Wise Error Rate —same-as→ FWER — Direct acronym equivalence. — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”concept_edges[4]
relationFamily Wise Error Rate —same-as→ FWER — Family Wise Error Rate is parenthetically abbreviated FWER. — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”concept_edges[4]
noteupdated phyloseq-class —contrasted-with→ originally-proposed phyloseq-class structure — Direct structural contrast. — “It is important to note that the new phyloseq-class is a significant departure from the originally-proposed phyloseq-class structure [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencing experiment as a single object. The updated phyloseq-class is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-class do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor method”concept_edges[6]
relationupdated phyloseq-class —contrasted-with→ originally-proposed phyloseq-class structure — The updated class is described as a significant departure from the original nested-inheritance structure. — “It is important to note that the new phyloseq-class is a significant departure from the originally-proposed phyloseq-class structure [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencing experiment as a single object. The updated phyloseq-class is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-class do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor method”concept_edges[6]
weightupdated phyloseq-class —contrasted-with→ originally-proposed phyloseq-class structure — 0.95 — “It is important to note that the new phyloseq-class is a significant departure from the originally-proposed phyloseq-class structure [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencing experiment as a single object. The updated phyloseq-class is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-class do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor method”concept_edges[6]
outcomecontrol — held — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”controls[2]
relationphyloseq → object-oriented representation — Phyloseq is dedicated to object-oriented representation and analysis of microbiome census data. — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”unhoused_relations[0]
relationphylogenetic sequencing → contingency table — Phylogenetic sequencing data can be represented as a taxonomic-unit by sample contingency table integrated with other data. — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”unhoused_relations[1]
weightphylogenetic sequencing → contingency table — 0.95 — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”unhoused_relations[1]
relationamplicon sequencing → shotgun — Shotgun sequencing is presented after amplicon sequencing as the alternative experimental method. — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”unhoused_relations[2]
weightamplicon sequencing → shotgun — 0.95 — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”unhoused_relations[2]
relationbeta diversity → pairwise ecological distances — Beta diversity is commonly approached through pairwise ecological distances and ordination. — “Comparisons of the type and quantity of OTUs observed between microbiome samples (“beta diversity”) is often approached through the calculation of pairwise ecological distances [42] , [43] , and through dimensional reduction (ordination) methods. The phyloseq package provides a consistent interface for the most common approaches to distance calculations and ordination. This interface is also the foundation for the custom ordination and heatmap graphics functions”unhoused_relations[3]
weightbeta diversity → pairwise ecological distances — 0.9 — “Comparisons of the type and quantity of OTUs observed between microbiome samples (“beta diversity”) is often approached through the calculation of pairwise ecological distances [42] , [43] , and through dimensional reduction (ordination) methods. The phyloseq package provides a consistent interface for the most common approaches to distance calculations and ordination. This interface is also the foundation for the custom ordination and heatmap graphics functions”unhoused_relations[3]
relationphyloseq project → heterogeneous components — The phyloseq project's object-oriented class integrates heterogeneous components of OTU-clustered sequencing data. — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”unhoused_relations[4]
relationtruncate dimensions → relevant components — Removing samples or OTUs from one component automatically propagates the change across relevant components. — “Figure 3 summarizes the structure of the phyloseq-class and its components. Each of the slots are empty (NULL) by default, although an instance missing an otu_table component is invalid. Tools in phyloseq that truncate dimensions of one component (that is, remove samples or OTUs) automatically propagate the change across all relevant components. In general, researchers only need to manipulate their “experiment-level” object, making data (pre)processing less prone to mistakes, and often simplifying analysis commands to just one data argument”unhoused_relations[5]
relationphyloseq → open source analysis techniques — Phyloseq-represented data can be passed to functions from other R packages. — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”unhoused_relations[6]
relationcomplete code and data → reproducibility standard — A public pipeline meets the reproducibility standard only when its complete code and data are published. — “In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible research can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and data used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundance data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parameters and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible research [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductor/R. The emphasis of preprocessing tools in phyloseq is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable”unhoused_relations[7]
relationphyloseq → reproducible research — Phyloseq used with documentation tools helps close the reproducible-research gap after pipeline output. — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”unhoused_relations[8]
weightphyloseq → reproducible research — 0.95 — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”unhoused_relations[8]
relationaccessors → Analysis tools — Accessors make phyloseq components available to analysis tools not explicitly wrapped by the package. — “Analysis tools available in R but not explicitly wrapped in phyloseq are nevertheless available to users and developers via accessors and other data infrastructure tools. This leverages the fact that phyloseq data components are based on standard R data classes and easily used in other package settings in R. For example, we have included example code that illustrates the use of the bioenv function from the vegan package, starting with data represented by the phyloseq-class (See File S2 for code, and the phyloseq demo [86] ). Similarly, as an open-source package in an open language/framework (R), phyloseq can be easily included at the relevant steps in pipelines, workbenches, and GUIs now under active development (E.g. ClovR [15] , MG-RAST [19] , QIIME [11] , mcaGUI [88] ). This represents a means for investigators with limited programming literacy to still benefit from some of the tools included in, or facilitated by, phyloseq”unhoused_relations[9]
relationdistance threshold → connections between samples — The threshold determines whether two samples are connected in the displayed network. — “plot_network. This function plots an igraph-class network [60] representing binary relationships between samples or OTUs. The network is calculated using the make_network function with phyloseq data as input and a desired ecological distance and threshold value. Unlike ordination, where most of the data structure is summarized by the relative position in two or more axes, the data is instead summarized by connections between samples (or OTUs) drawn with straight lines. Two samples are considered “connected” if the distance between them is less than a user-defined threshold. The relative position of points is optimized for the visual display of network properties, but is otherwise arbitrary. Any of the ecological distances supported by the distance function can be selected, and this can be a powerful representation of major clusters among samples or OTUs, provided the value of the distance threshold has been chosen carefully”unhoused_relations[10]
no type for thisphyloseq → object-oriented representation — Phyloseq is dedicated to object-oriented representation and analysis of microbiome census data. — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”unhoused_relations[0]
no type for thisphylogenetic sequencing → contingency table — Phylogenetic sequencing data can be represented as a taxonomic-unit by sample contingency table integrated with other data. — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”unhoused_relations[1]
no type for thisamplicon sequencing → shotgun — Shotgun sequencing is presented after amplicon sequencing as the alternative experimental method. — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”unhoused_relations[2]
no type for thisbeta diversity → pairwise ecological distances — Beta diversity is commonly approached through pairwise ecological distances and ordination. — “Comparisons of the type and quantity of OTUs observed between microbiome samples (“beta diversity”) is often approached through the calculation of pairwise ecological distances [42] , [43] , and through dimensional reduction (ordination) methods. The phyloseq package provides a consistent interface for the most common approaches to distance calculations and ordination. This interface is also the foundation for the custom ordination and heatmap graphics functions”unhoused_relations[3]
no type for thisphyloseq project → heterogeneous components — The phyloseq project's object-oriented class integrates heterogeneous components of OTU-clustered sequencing data. — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”unhoused_relations[4]
no type for thistruncate dimensions → relevant components — Removing samples or OTUs from one component automatically propagates the change across relevant components. — “Figure 3 summarizes the structure of the phyloseq-class and its components. Each of the slots are empty (NULL) by default, although an instance missing an otu_table component is invalid. Tools in phyloseq that truncate dimensions of one component (that is, remove samples or OTUs) automatically propagate the change across all relevant components. In general, researchers only need to manipulate their “experiment-level” object, making data (pre)processing less prone to mistakes, and often simplifying analysis commands to just one data argument”unhoused_relations[5]
no type for thisphyloseq → open source analysis techniques — Phyloseq-represented data can be passed to functions from other R packages. — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”unhoused_relations[6]
no type for thiscomplete code and data → reproducibility standard — A public pipeline meets the reproducibility standard only when its complete code and data are published. — “In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible research can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and data used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundance data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parameters and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible research [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductor/R. The emphasis of preprocessing tools in phyloseq is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable”unhoused_relations[7]
no type for thisphyloseq → reproducible research — Phyloseq used with documentation tools helps close the reproducible-research gap after pipeline output. — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”unhoused_relations[8]
no type for thisaccessors → Analysis tools — Accessors make phyloseq components available to analysis tools not explicitly wrapped by the package. — “Analysis tools available in R but not explicitly wrapped in phyloseq are nevertheless available to users and developers via accessors and other data infrastructure tools. This leverages the fact that phyloseq data components are based on standard R data classes and easily used in other package settings in R. For example, we have included example code that illustrates the use of the bioenv function from the vegan package, starting with data represented by the phyloseq-class (See File S2 for code, and the phyloseq demo [86] ). Similarly, as an open-source package in an open language/framework (R), phyloseq can be easily included at the relevant steps in pipelines, workbenches, and GUIs now under active development (E.g. ClovR [15] , MG-RAST [19] , QIIME [11] , mcaGUI [88] ). This represents a means for investigators with limited programming literacy to still benefit from some of the tools included in, or facilitated by, phyloseq”unhoused_relations[9]
no type for thisdistance threshold → connections between samples — The threshold determines whether two samples are connected in the displayed network. — “plot_network. This function plots an igraph-class network [60] representing binary relationships between samples or OTUs. The network is calculated using the make_network function with phyloseq data as input and a desired ecological distance and threshold value. Unlike ordination, where most of the data structure is summarized by the relative position in two or more axes, the data is instead summarized by connections between samples (or OTUs) drawn with straight lines. Two samples are considered “connected” if the distance between them is less than a user-defined threshold. The relative position of points is optimized for the visual display of network properties, but is otherwise arbitrary. Any of the ecological distances supported by the distance function can be selected, and this can be a powerful representation of major clusters among samples or OTUs, provided the value of the distance threshold has been chosen carefully”unhoused_relations[10]
limitationProject-specific microbiome analyses are often difficult or impossible for peers to reproduce. — “The analysis of microbial communities through DNA sequencing brings many challenges: the integration of different types of data with methods from ecology, genetics, phylogenetics, multivariate statistics, visualization and testing. With the increased breadth of experimental designs now being pursued, project-specific statistical analyses are often needed, and these analyses are often difficult (or impossible) for peer researchers to independently reproduce. The vast majority of the requisite tools for performing these analyses reproducibly are already implemented in R and its extensions (packages), but with limited support for high throughput microbiome census data”limitations[0]
limitationOTU-clustering outputs commonly require porting into other software for investigation-specific analysis. — “Many of the previously mentioned OTU-clustering applications also perform additional downstream analyses (File S1). However, typically an investigator must port the human-unreadable output data files to other software for additional processing and statistical analysis specific to the goals of the investigation. The powerful statistical, ecological, and graphics tools available in R [24] make it an attractive option for this post-clustering stage of analysis. While the computational efficiency of compiled languages like [25] make them appropriate for the expensive but well-defined requirements of the initial sequence-processing, the subsequent analysis is vaguely-defined and project specific; requiring instead a broad set of interactive calculations that is often less computationally expensive and for which R is well-suited [26] . The public repositories of open-source R extensions (“packages” or “libraries”) include many dedicated ecology and phylogenetic packages. For instance, there are several dozen packages listed in the CRAN Ecology Task View [27] , as well as distory [28] , phangorn [29] , picante [30] , and now phyloseq [31] . Furthermore, R includes infrastructure for documenting an analysis in such a way that it can be easily reproduced and modified by peers”limitations[1]
limitationPhyloseq does not decode sequences, process reads or perform OTU clustering. — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”limitations[2]
limitationThe optimal ordination approach depends on the experiment and the data. — “The interface for performing ordination methods is also a single function, called ordinate, that takes a phyloseq object as its primary data argument and a character string indicating the desired ordination method. For example, the following would perform (unconstrained) correspondence analysis on the included “Global Patterns” dataset [47] . The ordinate function currently supports correspondence analysis (CA) [48] , constrained correspondence analysis (CCA) [49] , detrended correspondence analysis (DCA) [50] , redundancy analysis (RDA) [51] , principal components analysis (PCA) [52] , double principle coordinates analysis (DPCoA) [53] , multidimensional scaling (MDS, PCoA) [54] , and non-metric multidimensional scaling (NMDS) [55] . For CA, CCA, DCA, RDA, and DPCoA, the ordination is based upon an evaluation of abundance values (in the case of DPCoA, the patristic distances between OTUs on the phylogenetic tree is also used), but not an ecological distance. For MDS and NMDS, the ordinate function requires a pre-calculated distance matrix (“dist” object) or the name of a supported ecological distance method. For example, PCoA/MDS can be calculated on an unweighted UniFrac distance matrix [46] , using the following command”limitations[3]
limitationThresholded network views depend critically on a carefully chosen distance cutoff. — “plot_network. This function plots an igraph-class network [60] representing binary relationships between samples or OTUs. The network is calculated using the make_network function with phyloseq data as input and a desired ecological distance and threshold value. Unlike ordination, where most of the data structure is summarized by the relative position in two or more axes, the data is instead summarized by connections between samples (or OTUs) drawn with straight lines. Two samples are considered “connected” if the distance between them is less than a user-defined threshold. The relative position of points is optimized for the visual display of network properties, but is otherwise arbitrary. Any of the ecological distances supported by the distance function can be selected, and this can be a powerful representation of major clusters among samples or OTUs, provided the value of the distance threshold has been chosen carefully”limitations[4]
limitationTree graphics can be prohibitively slow or too dense for high-richness data. — “plot_tree. This function facilitates easy graphical rendering/investigation of the phylogenetic tree, with sample data overlaid. In some cases an annotated tree can be a powerful representation of an underlying evolutionary structure. The plot_tree function optionally places successive points next to the tips of the tree, indicating the samples in which each OTU was observed. These points can have their color, shape, and size aesthetics mapped to sample variables, revealing the correspondence of environmental variables on specific regions of the evolutionary tree. Standard ggplot2 customizations are supported, and this is, to our knowledge, the only function for ggplot2-based phylogenetic trees currently available in the CRAN/Bioconductor repositories. For phylogenetic sequencing of samples with large richness, some of the options in this function will be prohibitively slow to render or too dense to be interpretable, a drawback to summarizing phylogenetic sequencing data using trees. One suggestion is to either agglomerate or subset the data such that there are not more than 200 or so OTUs (tree tips) on a given plot, sometimes less depending on the complexity of the additional annotations being mapped to the tree. In many modern datasets 200 OTUs (or less) will be insufficient to summarize the entire dataset, in which case one or more of the other plot methods is suggested”limitations[5]
limitationChi-squared distances can be overly sensitive to outliers and sequencing jackpot effects. — “In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundance tables, such a procedure is inappropriate as the disparities in column sums can be 100-fold. Methods based on chi-squared distances rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTU within a column, with the overall column sum retained as a weighting factor. However, chi-square distances are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distances can be a useful alternative, as it is based on the distance between profiles, as long as the differences in actual column sums are also accounted for in the final study. The other approach to the problem of disparities between column sums has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of information, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefaction in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUs is beneficial, especially in the latter multiple testing adjustments”limitations[6]
limitationExploratory graphics and ordinations are not formal tests of a hypothesis. — “Although useful for exploring and summarizing microbiome data, many of the graphics and ordination methods discussed here are not formal tests of any particular hypothesis. The most common framework for testing in microbiome studies is the comparisons of samples from different categories (e.g. healthy and obese; control and treated; different environments). Standard test statistics include the t-test, the paired permutation t-test, and ANOVA type tests based on F or pseudo-F statistics. However, microbiome data have two particularities. First, the raw abundance counts are never normally distributed, so the preferred methods are nonparametric. Second, there is contiguous information available about the relationships between OTUs, as well as for variables measured on the samples, so testing is sometimes more elaborate than a two-sample test. The hypergeometric test, also known as Fisher's exact test, is used in cases when we have a test statistic for each of the different OTUs. The goal is to confirm that a certain property of these significant OTUs is overrepresented compared to the general population of OTUs, often called “the universe”. For instance in Holmes et al [65] and Nelson et al [68] several phyla were shown to be significantly over-abundant in IBS rats as compared to healthy controls using this hypergeometric test”limitations[7]
limitationPublic pipeline availability alone does not meet the reproducibility standard without the exact code and data. — “In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible research can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and data used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundance data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parameters and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible research [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductor/R. The emphasis of preprocessing tools in phyloseq is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable”limitations[8]
Content tags
content-observations: finding · quantity · variable · definition · key-term — grounded in the full text
findingPhyloseq supplies an integrated object model and a broad analysis and graphics toolbox for microbiome census data. — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”content_tags.findings[0]
findingThe package imports common clustering formats and exposes its represented data to other R packages. — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”content_tags.findings[1]
findingA single experiment-level object reduces mismatch errors by propagating dimension changes across components. — “Figure 3 summarizes the structure of the phyloseq-class and its components. Each of the slots are empty (NULL) by default, although an instance missing an otu_table component is invalid. Tools in phyloseq that truncate dimensions of one component (that is, remove samples or OTUs) automatically propagate the change across all relevant components. In general, researchers only need to manipulate their “experiment-level” object, making data (pre)processing less prone to mistakes, and often simplifying analysis commands to just one data argument”content_tags.findings[2]
findingThe distance interface explicitly supports more than forty ecological distance methods. — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”content_tags.findings[3]
findingThe ordinate interface supports abundance-based and distance-based ordination families. — “The interface for performing ordination methods is also a single function, called ordinate, that takes a phyloseq object as its primary data argument and a character string indicating the desired ordination method. For example, the following would perform (unconstrained) correspondence analysis on the included “Global Patterns” dataset [47] . The ordinate function currently supports correspondence analysis (CA) [48] , constrained correspondence analysis (CCA) [49] , detrended correspondence analysis (DCA) [50] , redundancy analysis (RDA) [51] , principal components analysis (PCA) [52] , double principle coordinates analysis (DPCoA) [53] , multidimensional scaling (MDS, PCoA) [54] , and non-metric multidimensional scaling (NMDS) [55] . For CA, CCA, DCA, RDA, and DPCoA, the ordination is based upon an evaluation of abundance values (in the case of DPCoA, the patristic distances between OTUs on the phylogenetic tree is also used), but not an ecological distance. For MDS and NMDS, the ordinate function requires a pre-calculated distance matrix (“dist” object) or the name of a supported ecological distance method. For example, PCoA/MDS can be calculated on an unweighted UniFrac distance matrix [46] , using the following command”content_tags.findings[4]
findingPhyloseq plot functions return customizable ggplot2 objects. — “One of the key features of the phyloseq package is a set of graphics functions custom-tailored for phylogenetic sequencing analysis, built using the ggplot2 package [57] . The ggplot2 package is an implementation of Wilkinson's The Grammar of Graphics , which provides an object-oriented description of analytical graphics that emphasizes the separation of data and its mapping to aesthetic attributes [58] . In the phyloseq package, functions having names beginning with “plot_” require a phyloseq object as input data, and return a ggplot2 graphics object. These plot_ functions support optional mapping of color, size, and shape aesthetics to sample or OTU variables — usually by providing the name of the variable or taxonomic rank as a character string (E.g. color = “SampleType”). Legends are automatically generated based on the data and aesthetic mappings (not true of the base R graphics), and all features of these graphics can be further modified in R via functions/options in the ggplot2 package”content_tags.findings[5]
findingRandom subsampling to equal depth discards information and is rarely statistically optimal. — “In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundance tables, such a procedure is inappropriate as the disparities in column sums can be 100-fold. Methods based on chi-squared distances rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTU within a column, with the overall column sum retained as a weighting factor. However, chi-square distances are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distances can be a useful alternative, as it is based on the distance between profiles, as long as the differences in actual column sums are also accounted for in the final study. The other approach to the problem of disparities between column sums has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of information, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefaction in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUs is beneficial, especially in the latter multiple testing adjustments”content_tags.findings[6]
findingRaw microbiome abundance counts motivate nonparametric rather than normal-theory tests. — “Although useful for exploring and summarizing microbiome data, many of the graphics and ordination methods discussed here are not formal tests of any particular hypothesis. The most common framework for testing in microbiome studies is the comparisons of samples from different categories (e.g. healthy and obese; control and treated; different environments). Standard test statistics include the t-test, the paired permutation t-test, and ANOVA type tests based on F or pseudo-F statistics. However, microbiome data have two particularities. First, the raw abundance counts are never normally distributed, so the preferred methods are nonparametric. Second, there is contiguous information available about the relationships between OTUs, as well as for variables measured on the samples, so testing is sometimes more elaborate than a two-sample test. The hypergeometric test, also known as Fisher's exact test, is used in cases when we have a test statistic for each of the different OTUs. The goal is to confirm that a certain property of these significant OTUs is overrepresented compared to the general population of OTUs, often called “the universe”. For instance in Holmes et al [65] and Nelson et al [68] several phyla were shown to be significantly over-abundant in IBS rats as compared to healthy controls using this hypergeometric test”content_tags.findings[7]
findingComplete source materials were released to reproduce the paper's analysis and figures. — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”content_tags.findings[8]
findingThe updated class replaced an overly complex nested-inheritance design with centralized validity checks. — “It is important to note that the new phyloseq-class is a significant departure from the originally-proposed phyloseq-class structure [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencing experiment as a single object. The updated phyloseq-class is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-class do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor method”content_tags.findings[9]
quantitymore than 40 ecological distance methods — methods explicitly supported by the distance interface — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”content_tags.quantities[0]
quantityone or two lines of code — reported effort to create annotated publication-quality graphics — “The phyloseq package provides an object-oriented programming infrastructure that simplifies many of the common data management and preprocessing tasks required during analysis of phylogenetic sequencing data. This simplified syntax helps mitigate inconsistency errors and encourages interaction with the data during preprocessing. The phyloseq package also provides a set of powerful analysis and graphics functions, building upon related packages available in R and Bioconductor. It includes or supports some of the most commonly-needed ecology and phylogenetic tools, including a consistent interface for calculating ecological distances and performing dimensional reduction (ordination). The graphics functions allow users to interactively produce annotated publication-quality graphics in just one or two lines of code. The phyloseq package includes extensive documentation in the form of function- and package-level manuals embedded in the package's documentation interface and in a PDF version on Bioconductor [38] , as well as extended reproducible examples on the phyloseq homepage [39] , and open collaborative development on GitHub”content_tags.quantities[1]
quantity100-fold — possible disparity between OTU-table column sums — “In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundance tables, such a procedure is inappropriate as the disparities in column sums can be 100-fold. Methods based on chi-squared distances rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTU within a column, with the overall column sum retained as a weighting factor. However, chi-square distances are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distances can be a useful alternative, as it is based on the distance between profiles, as long as the differences in actual column sums are also accounted for in the final study. The other approach to the problem of disparities between column sums has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of information, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefaction in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUs is beneficial, especially in the latter multiple testing adjustments”content_tags.quantities[2]
quantity200 or so OTUs — suggested upper range for an interpretable phylogenetic-tree plot — “plot_tree. This function facilitates easy graphical rendering/investigation of the phylogenetic tree, with sample data overlaid. In some cases an annotated tree can be a powerful representation of an underlying evolutionary structure. The plot_tree function optionally places successive points next to the tips of the tree, indicating the samples in which each OTU was observed. These points can have their color, shape, and size aesthetics mapped to sample variables, revealing the correspondence of environmental variables on specific regions of the evolutionary tree. Standard ggplot2 customizations are supported, and this is, to our knowledge, the only function for ggplot2-based phylogenetic trees currently available in the CRAN/Bioconductor repositories. For phylogenetic sequencing of samples with large richness, some of the options in this function will be prohibitively slow to render or too dense to be interpretable, a drawback to summarizing phylogenetic sequencing data using trees. One suggestion is to either agglomerate or subset the data such that there are not more than 200 or so OTUs (tree tips) on a given plot, sometimes less depending on the complexity of the additional annotations being mapped to the tree. In many modern datasets 200 OTUs (or less) will be insufficient to summarize the entire dataset, in which case one or more of the other plot methods is suggested”content_tags.quantities[3]
quantitymany thousands — number of resampled analyses used by bootstrap procedures — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”content_tags.quantities[4]
quantity1 or more false positives — event whose probability defines FWER — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”content_tags.quantities[5]
variabledistance method (selector input to the distance function) — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”content_tags.variables[0]
variableordination method (selector input to the ordinate function) — “The interface for performing ordination methods is also a single function, called ordinate, that takes a phyloseq object as its primary data argument and a character string indicating the desired ordination method. For example, the following would perform (unconstrained) correspondence analysis on the included “Global Patterns” dataset [47] . The ordinate function currently supports correspondence analysis (CA) [48] , constrained correspondence analysis (CCA) [49] , detrended correspondence analysis (DCA) [50] , redundancy analysis (RDA) [51] , principal components analysis (PCA) [52] , double principle coordinates analysis (DPCoA) [53] , multidimensional scaling (MDS, PCoA) [54] , and non-metric multidimensional scaling (NMDS) [55] . For CA, CCA, DCA, RDA, and DPCoA, the ordination is based upon an evaluation of abundance values (in the case of DPCoA, the patristic distances between OTUs on the phylogenetic tree is also used), but not an ecological distance. For MDS and NMDS, the ordinate function requires a pre-calculated distance matrix (“dist” object) or the name of a supported ecological distance method. For example, PCoA/MDS can be calculated on an unweighted UniFrac distance matrix [46] , using the following command”content_tags.variables[1]
variabledistance threshold (cutoff determining network edges) — “plot_network. This function plots an igraph-class network [60] representing binary relationships between samples or OTUs. The network is calculated using the make_network function with phyloseq data as input and a desired ecological distance and threshold value. Unlike ordination, where most of the data structure is summarized by the relative position in two or more axes, the data is instead summarized by connections between samples (or OTUs) drawn with straight lines. Two samples are considered “connected” if the distance between them is less than a user-defined threshold. The relative position of points is optimized for the visual display of network properties, but is otherwise arbitrary. Any of the ecological distances supported by the distance function can be selected, and this can be a powerful representation of major clusters among samples or OTUs, provided the value of the distance threshold has been chosen carefully”content_tags.variables[2]
variableOTU abundance (tile-color value in a heat map and input to community analyses) — “plot_heatmap. This is a special implementation of the ordination-organized heat map similar to the NeatMap package [59] . Briefly, the abundance matrix is represented as a grid of colored tiles, with the color of the tiles mapped to the (usually transformed) abundance value. The ordering of the OTUs and sample indices in this representation is critical for discriminating any patterns. Traditionally, hierarchical clustering methods have been used for this organization; but, as Rajaram and Oono recently pointed out [59] , this has the potential to misrepresent the data when deeply-branching elements are placed next to one another arbitrarily. Instead, the samples (and optionally, OTUs) are reordered based on their radial coordinate angle in the first two axes of an ordination. For the plot_heatmap function, any of the distances/ordinations supported by the distance and ordinate functions can be used, with the default being non-metric multidimensional scaling. Any arbitrary color scale can be selected, as well as any choice of numerical transformation for scaling the mapping of color shades to abundance”content_tags.variables[3]
variablecolumn sums (sequencing-depth disparity addressed during normalization) — “In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundance tables, such a procedure is inappropriate as the disparities in column sums can be 100-fold. Methods based on chi-squared distances rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTU within a column, with the overall column sum retained as a weighting factor. However, chi-square distances are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distances can be a useful alternative, as it is based on the distance between profiles, as long as the differences in actual column sums are also accounted for in the final study. The other approach to the problem of disparities between column sums has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of information, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefaction in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUs is beneficial, especially in the latter multiple testing adjustments”content_tags.variables[4]
variabletuning parameters (values evaluated through repeated perturbed analyses) — “In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible research can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and data used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundance data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parameters and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible research [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductor/R. The emphasis of preprocessing tools in phyloseq is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable”content_tags.variables[6]
definitionphylogenetic sequencing data — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”content_tags.definitions[0]
definitionOTUs — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”content_tags.definitions[1]
definitionphyloseq-class — “The phyloseq project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing data. Although Bioconductor provides many utilities for efficient manipulation of DNA sequences, phyloseq does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseq provides tools to read the output files of the most common OTU-clustering applications [7] , [11] , [12] , [14] , and represents this data in R as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseq”, and referred to here as “the phyloseq-class” — is a key design feature of the phyloseq project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseq manual [7] , and are part of a modular workflow summarized in Figure 2”content_tags.definitions[2]
definitionbeta diversity — “Comparisons of the type and quantity of OTUs observed between microbiome samples (“beta diversity”) is often approached through the calculation of pairwise ecological distances [42] , [43] , and through dimensional reduction (ordination) methods. The phyloseq package provides a consistent interface for the most common approaches to distance calculations and ordination. This interface is also the foundation for the custom ordination and heatmap graphics functions”content_tags.definitions[3]
definitionreproducible research — “In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible research can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and data used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundance data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parameters and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible research [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductor/R. The emphasis of preprocessing tools in phyloseq is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable”content_tags.definitions[5]
definitionFWER — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”content_tags.definitions[6]
Concepts
terms this paper carries, each with the sentence it was cut from — the layer that joins one paper to another. Terms with no quote yet are on CONCEPTS.html.
conceptphyloseq — not defined in this paper's own words; R package for representing and analysing phylogenetic sequencing data — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”concepts[0]
conceptopen-source software package — not defined in this paper's own words; software distribution class assigned to phyloseq — “The phyloseq project for R is a new open-source software package, freely available on the web from both GitHub and Bioconductor”concepts[1]
conceptobject-oriented representation — not defined in this paper's own words; integrated software representation of microbiome census data — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”concepts[2]
conceptmicrobiome census data — not defined in this paper's own words; sequencing-derived census of microbial communities — “Here we describe a software project, phyloseq, dedicated to the object-oriented representation and analysis of microbiome census data in R. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFrac, ordination methods, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other R packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseq with tools for reproducible research, a practice common in other fields but still rare in the analysis of highly parallel microbiome census data. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible research”concepts[3]
conceptphylogenetic sequencing — not defined in this paper's own words; microbial census data abstracted as taxon-by-sample data plus linked observations — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”concepts[4]
conceptcontingency table — not defined in this paper's own words; taxonomic-unit by sample representation — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”concepts[5]
concepttaxonomic units — not defined in this paper's own words; rows or entities in a microbial census table — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”concepts[6]
conceptexperimental observations — not defined in this paper's own words; clinical, environmental or metabolomic data integrated with the census — “High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observations (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencing” data if it can be usefully represented as a contingency table of taxonomic units and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing data”concepts[7]
conceptamplicon sequencing — not defined in this paper's own words; targeted barcoded sequencing approach to microbial census — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concepts[8]
conceptshotgun — not defined in this paper's own words; random sequencing of unamplified metagenomic DNA — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concepts[9]
conceptoperational taxonomic units — not defined in this paper's own words; similarity-clustered sequence units — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concepts[10]
conceptOTUs — not defined in this paper's own words; abbreviation for operational taxonomic units — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concepts[11]
concepttaxa — not defined in this paper's own words; alternative name used for OTUs — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concepts[12]
concept16S rRNA — not defined in this paper's own words; small-subunit ribosomal RNA gene targeted by amplicon surveys — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concepts[13]
conceptPCR amplification — not defined in this paper's own words; amplification step whose bias shotgun sequencing avoids — “Barcoded [2] amplicon sequencing of dozens to hundreds of samples [4] is a method of phylogenetic sequencing of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNA) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic units (OTUs, sometimes referred to as taxa ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIME [11] , mothur [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIME EC2 image [17] , n3phele [18] , and MG-RAST [19] . An alternative experimental method is random “shotgun” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTU clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplification is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencing”concepts[14]
conceptOTU-clustering applications — not defined in this paper's own words; upstream sequence-processing pipelines — “Many of the previously mentioned OTU-clustering applications also perform additional downstream analyses (File S1). However, typically an investigator must port the human-unreadable output data files to other software for additional processing and statistical analysis specific to the goals of the investigation. The powerful statistical, ecological, and graphics tools available in R [24] make it an attractive option for this post-clustering stage of analysis. While the computational efficiency of compiled languages like [25] make them appropriate for the expensive but well-defined requirements of the initial sequence-processing, the subsequent analysis is vaguely-defined and project specific; requiring instead a broad set of interactive calculations that is often less computationally expensive and for which R is well-suited [26] . The public repositories of open-source R extensions (“packages” or “libraries”) include many dedicated ecology and phylogenetic packages. For instance, there are several dozen packages listed in the CRAN Ecology Task View [27] , as well as distory [28] , phangorn [29] , picante [30] , and now phyloseq [31] . Furthermore, R includes infrastructure for documenting an analysis in such a way that it can be easily reproduced and modified by peers”concepts[15]
conceptpost-clustering stage — not defined in this paper's own words; project-specific processing and statistical analysis after clustering — “Many of the previously mentioned OTU-clustering applications also perform additional downstream analyses (File S1). However, typically an investigator must port the human-unreadable output data files to other software for additional processing and statistical analysis specific to the goals of the investigation. The powerful statistical, ecological, and graphics tools available in R [24] make it an attractive option for this post-clustering stage of analysis. While the computational efficiency of compiled languages like [25] make them appropriate for the expensive but well-defined requirements of the initial sequence-processing, the subsequent analysis is vaguely-defined and project specific; requiring instead a broad set of interactive calculations that is often less computationally expensive and for which R is well-suited [26] . The public repositories of open-source R extensions (“packages” or “libraries”) include many dedicated ecology and phylogenetic packages. For instance, there are several dozen packages listed in the CRAN Ecology Task View [27] , as well as distory [28] , phangorn [29] , picante [30] , and now phyloseq [31] . Furthermore, R includes infrastructure for documenting an analysis in such a way that it can be easily reproduced and modified by peers”concepts[16]
conceptR — not defined in this paper's own words; interactive statistical language and environment — “Many of the previously mentioned OTU-clustering applications also perform additional downstream analyses (File S1). However, typically an investigator must port the human-unreadable output data files to other software for additional processing and statistical analysis specific to the goals of the investigation. The powerful statistical, ecological, and graphics tools available in R [24] make it an attractive option for this post-clustering stage of analysis. While the computational efficiency of compiled languages like [25] make them appropriate for the expensive but well-defined requirements of the initial sequence-processing, the subsequent analysis is vaguely-defined and project specific; requiring instead a broad set of interactive calculations that is often less computationally expensive and for which R is well-suited [26] . The public repositories of open-source R extensions (“packages” or “libraries”) include many dedicated ecology and phylogenetic packages. For instance, there are several dozen packages listed in the CRAN Ecology Task View [27] , as well as distory [28] , phangorn [29] , picante [30] , and now phyloseq [31] . Furthermore, R includes infrastructure for documenting an analysis in such a way that it can be easily reproduced and modified by peers”concepts[17]
conceptBioconductor — not defined in this paper's own words; repository and ecosystem for R bioinformatics packages — “In spite of all of these highly relevant tools, we recently described the lack of a satisfactory standard within Bioconductor [34] (or R generally) for importing the data files from the most popular OTU-clustering applications, or representing this data in a complete, integrated class [31] . One Bioconductor package, OTUbase [35] , pursues some of these goals, but has no support for phylogenetic trees in its data class, nor support for importing data from popular/recent OTU-clustering output formats [35] , [36] (File S1). We have proposed a new Bioconductor package, phyloseq (from “ phylo genetic seq uencing”), dedicated to the object-oriented representation and analysis of phylogenetic sequencing data in R [31] , and supporting common OTU-clustering output formats like QIIME [11] , mothur [12] , the RDP-pipeline [7] , Pyrotagger [14] , and the biom-format”concepts[18]
conceptOTUbase — not defined in this paper's own words; earlier Bioconductor package with incomplete tree and import support — “In spite of all of these highly relevant tools, we recently described the lack of a satisfactory standard within Bioconductor [34] (or R generally) for importing the data files from the most popular OTU-clustering applications, or representing this data in a complete, integrated class [31] . One Bioconductor package, OTUbase [35] , pursues some of these goals, but has no support for phylogenetic trees in its data class, nor support for importing data from popular/recent OTU-clustering output formats [35] , [36] (File S1). We have proposed a new Bioconductor package, phyloseq (from “ phylo genetic seq uencing”), dedicated to the object-oriented representation and analysis of phylogenetic sequencing data in R [31] , and supporting common OTU-clustering output formats like QIIME [11] , mothur [12] , the RDP-pipeline [7] , Pyrotagger [14] , and the biom-format”concepts[19]
conceptQIIME — not defined in this paper's own words; supported OTU-clustering output format and pipeline — “In spite of all of these highly relevant tools, we recently described the lack of a satisfactory standard within Bioconductor [34] (or R generally) for importing the data files from the most popular OTU-clustering applications, or representing this data in a complete, integrated class [31] . One Bioconductor package, OTUbase [35] , pursues some of these goals, but has no support for phylogenetic trees in its data class, nor support for importing data from popular/recent OTU-clustering output formats [35] , [36] (File S1). We have proposed a new Bioconductor package, phyloseq (from “ phylo genetic seq uencing”), dedicated to the object-oriented representation and analysis of phylogenetic sequencing data in R [31] , and supporting common OTU-clustering output formats like QIIME [11] , mothur [12] , the RDP-pipeline [7] , Pyrotagger [14] , and the biom-format”concepts[20]
conceptmothur — not defined in this paper's own words; supported OTU-clustering output format and pipeline — “In spite of all of these highly relevant tools, we recently described the lack of a satisfactory standard within Bioconductor [34] (or R generally) for importing the data files from the most popular OTU-clustering applications, or representing this data in a complete, integrated class [31] . One Bioconductor package, OTUbase [35] , pursues some of these goals, but has no support for phylogenetic trees in its data class, nor support for importing data from popular/recent OTU-clustering output formats [35] , [36] (File S1). We have proposed a new Bioconductor package, phyloseq (from “ phylo genetic seq uencing”), dedicated to the object-oriented representation and analysis of phylogenetic sequencing data in R [31] , and supporting common OTU-clustering output formats like QIIME [11] , mothur [12] , the RDP-pipeline [7] , Pyrotagger [14] , and the biom-format”concepts[21]
conceptobject-oriented programming infrastructure — not defined in this paper's own words; data-management and preprocessing layer in phyloseq — “The phyloseq package provides an object-oriented programming infrastructure that simplifies many of the common data management and preprocessing tasks required during analysis of phylogenetic sequencing data. This simplified syntax helps mitigate inconsistency errors and encourages interaction with the data during preprocessing. The phyloseq package also provides a set of powerful analysis and graphics functions, building upon related packages available in R and Bioconductor. It includes or supports some of the most commonly-needed ecology and phylogenetic tools, including a consistent interface for calculating ecological distances and performing dimensional reduction (ordination). The graphics functions allow users to interactively produce annotated publication-quality graphics in just one or two lines of code. The phyloseq package includes extensive documentation in the form of function- and package-level manuals embedded in the package's documentation interface and in a PDF version on Bioconductor [38] , as well as extended reproducible examples on the phyloseq homepage [39] , and open collaborative development on GitHub”concepts[22]
conceptecological distances — not defined in this paper's own words; pairwise community dissimilarities — “The phyloseq package provides an object-oriented programming infrastructure that simplifies many of the common data management and preprocessing tasks required during analysis of phylogenetic sequencing data. This simplified syntax helps mitigate inconsistency errors and encourages interaction with the data during preprocessing. The phyloseq package also provides a set of powerful analysis and graphics functions, building upon related packages available in R and Bioconductor. It includes or supports some of the most commonly-needed ecology and phylogenetic tools, including a consistent interface for calculating ecological distances and performing dimensional reduction (ordination). The graphics functions allow users to interactively produce annotated publication-quality graphics in just one or two lines of code. The phyloseq package includes extensive documentation in the form of function- and package-level manuals embedded in the package's documentation interface and in a PDF version on Bioconductor [38] , as well as extended reproducible examples on the phyloseq homepage [39] , and open collaborative development on GitHub”concepts[23]
conceptdimensional reduction — not defined in this paper's own words; ordination of high-dimensional community observations — “The phyloseq package provides an object-oriented programming infrastructure that simplifies many of the common data management and preprocessing tasks required during analysis of phylogenetic sequencing data. This simplified syntax helps mitigate inconsistency errors and encourages interaction with the data during preprocessing. The phyloseq package also provides a set of powerful analysis and graphics functions, building upon related packages available in R and Bioconductor. It includes or supports some of the most commonly-needed ecology and phylogenetic tools, including a consistent interface for calculating ecological distances and performing dimensional reduction (ordination). The graphics functions allow users to interactively produce annotated publication-quality graphics in just one or two lines of code. The phyloseq package includes extensive documentation in the form of function- and package-level manuals embedded in the package's documentation interface and in a PDF version on Bioconductor [38] , as well as extended reproducible examples on the phyloseq homepage [39] , and open collaborative development on GitHub”concepts[24]
conceptliterate-programming framework — not defined in this paper's own words; structured in-source documentation system — “The phyloseq package adheres to the requirements for standard R packages set forth in the official “Writing R Extensions” manual [40] . It also satisfies additional requirements of the Bioconductor Repository [34] , and uses a literate-programming framework based on structured in-source comments, called roxygen2 [41] , for (re)building the R documentation (.Rd) files and the namespace specifications. The phyloseq package can be installed on any system on which R is supported, including Mac OS X, Windows, and most Linux distributions”concepts[25]
conceptroxygen2 — not defined in this paper's own words; literate-programming tool used to build R documentation — “The phyloseq package adheres to the requirements for standard R packages set forth in the official “Writing R Extensions” manual [40] . It also satisfies additional requirements of the Bioconductor Repository [34] , and uses a literate-programming framework based on structured in-source comments, called roxygen2 [41] , for (re)building the R documentation (.Rd) files and the namespace specifications. The phyloseq package can be installed on any system on which R is supported, including Mac OS X, Windows, and most Linux distributions”concepts[26]
conceptphyloseq class — not defined in this paper's own words; integrated experiment-level data class — “The “phyloseq” class. The phyloseq class is an experiment-level data storage class defined by the phyloseq package for representing phylogenetic sequencing data. Most functions in the phyloseq package expect an instance of this class as their primary argument. See the phyloseq manual [38] for a complete list of functions”concepts[27]
conceptexperiment-level data storage class — not defined in this paper's own words; single object integrating heterogeneous experiment components — “The “phyloseq” class. The phyloseq class is an experiment-level data storage class defined by the phyloseq package for representing phylogenetic sequencing data. Most functions in the phyloseq package expect an instance of this class as their primary argument. See the phyloseq manual [38] for a complete list of functions”concepts[28]
conceptotu_table — not defined in this paper's own words; mandatory abundance-table component of a valid phyloseq object — “Figure 3 summarizes the structure of the phyloseq-class and its components. Each of the slots are empty (NULL) by default, although an instance missing an otu_table component is invalid. Tools in phyloseq that truncate dimensions of one component (that is, remove samples or OTUs) automatically propagate the change across all relevant components. In general, researchers only need to manipulate their “experiment-level” object, making data (pre)processing less prone to mistakes, and often simplifying analysis commands to just one data argument”concepts[29]
conceptbeta diversity — not defined in this paper's own words; between-sample difference in observed OTUs — “Comparisons of the type and quantity of OTUs observed between microbiome samples (“beta diversity”) is often approached through the calculation of pairwise ecological distances [42] , [43] , and through dimensional reduction (ordination) methods. The phyloseq package provides a consistent interface for the most common approaches to distance calculations and ordination. This interface is also the foundation for the custom ordination and heatmap graphics functions”concepts[30]
conceptpairwise ecological distances — not defined in this paper's own words; distance representation commonly used for beta diversity — “Comparisons of the type and quantity of OTUs observed between microbiome samples (“beta diversity”) is often approached through the calculation of pairwise ecological distances [42] , [43] , and through dimensional reduction (ordination) methods. The phyloseq package provides a consistent interface for the most common approaches to distance calculations and ordination. This interface is also the foundation for the custom ordination and heatmap graphics functions”concepts[31]
conceptordination — not defined in this paper's own words; dimensional-reduction analysis of community data — “Comparisons of the type and quantity of OTUs observed between microbiome samples (“beta diversity”) is often approached through the calculation of pairwise ecological distances [42] , [43] , and through dimensional reduction (ordination) methods. The phyloseq package provides a consistent interface for the most common approaches to distance calculations and ordination. This interface is also the foundation for the custom ordination and heatmap graphics functions”concepts[32]
conceptdistance — not defined in this paper's own words; single phyloseq function exposing ecological distance methods — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”concepts[33]
conceptFast UniFrac — not defined in this paper's own words; optionally parallel phylogenetic distance implementation — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”concepts[34]
conceptdistance matrix — not defined in this paper's own words; lower-triangle dist-class output used in clustering and ordination — “In phyloseq the interface for ecological distance calculations is a single function, distance, that takes a phyloseq object as its data argument as well as a character string indicating the distance method, with explicit support for more than 40 ecological distance methods. This includes a R -native, optionally-parallel implementation of Fast UniFrac [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrix (lower-triangle) appropriate for standard clustering analysis in core R (e.g. hclust), as well as certain dimensional reduction (ordination) methods”concepts[35]
conceptordinate — not defined in this paper's own words; single interface to supported ordination methods — “The interface for performing ordination methods is also a single function, called ordinate, that takes a phyloseq object as its primary data argument and a character string indicating the desired ordination method. For example, the following would perform (unconstrained) correspondence analysis on the included “Global Patterns” dataset [47] . The ordinate function currently supports correspondence analysis (CA) [48] , constrained correspondence analysis (CCA) [49] , detrended correspondence analysis (DCA) [50] , redundancy analysis (RDA) [51] , principal components analysis (PCA) [52] , double principle coordinates analysis (DPCoA) [53] , multidimensional scaling (MDS, PCoA) [54] , and non-metric multidimensional scaling (NMDS) [55] . For CA, CCA, DCA, RDA, and DPCoA, the ordination is based upon an evaluation of abundance values (in the case of DPCoA, the patristic distances between OTUs on the phylogenetic tree is also used), but not an ecological distance. For MDS and NMDS, the ordinate function requires a pre-calculated distance matrix (“dist” object) or the name of a supported ecological distance method. For example, PCoA/MDS can be calculated on an unweighted UniFrac distance matrix [46] , using the following command”concepts[36]
conceptcorrespondence analysis — not defined in this paper's own words; supported ordination based on abundance values — “The interface for performing ordination methods is also a single function, called ordinate, that takes a phyloseq object as its primary data argument and a character string indicating the desired ordination method. For example, the following would perform (unconstrained) correspondence analysis on the included “Global Patterns” dataset [47] . The ordinate function currently supports correspondence analysis (CA) [48] , constrained correspondence analysis (CCA) [49] , detrended correspondence analysis (DCA) [50] , redundancy analysis (RDA) [51] , principal components analysis (PCA) [52] , double principle coordinates analysis (DPCoA) [53] , multidimensional scaling (MDS, PCoA) [54] , and non-metric multidimensional scaling (NMDS) [55] . For CA, CCA, DCA, RDA, and DPCoA, the ordination is based upon an evaluation of abundance values (in the case of DPCoA, the patristic distances between OTUs on the phylogenetic tree is also used), but not an ecological distance. For MDS and NMDS, the ordinate function requires a pre-calculated distance matrix (“dist” object) or the name of a supported ecological distance method. For example, PCoA/MDS can be calculated on an unweighted UniFrac distance matrix [46] , using the following command”concepts[37]
conceptnon-metric multidimensional scaling — not defined in this paper's own words; supported ordination requiring a distance matrix or method — “The interface for performing ordination methods is also a single function, called ordinate, that takes a phyloseq object as its primary data argument and a character string indicating the desired ordination method. For example, the following would perform (unconstrained) correspondence analysis on the included “Global Patterns” dataset [47] . The ordinate function currently supports correspondence analysis (CA) [48] , constrained correspondence analysis (CCA) [49] , detrended correspondence analysis (DCA) [50] , redundancy analysis (RDA) [51] , principal components analysis (PCA) [52] , double principle coordinates analysis (DPCoA) [53] , multidimensional scaling (MDS, PCoA) [54] , and non-metric multidimensional scaling (NMDS) [55] . For CA, CCA, DCA, RDA, and DPCoA, the ordination is based upon an evaluation of abundance values (in the case of DPCoA, the patristic distances between OTUs on the phylogenetic tree is also used), but not an ecological distance. For MDS and NMDS, the ordinate function requires a pre-calculated distance matrix (“dist” object) or the name of a supported ecological distance method. For example, PCoA/MDS can be calculated on an unweighted UniFrac distance matrix [46] , using the following command”concepts[38]
conceptggplot2 — not defined in this paper's own words; graphics grammar used by phyloseq plotting functions — “One of the key features of the phyloseq package is a set of graphics functions custom-tailored for phylogenetic sequencing analysis, built using the ggplot2 package [57] . The ggplot2 package is an implementation of Wilkinson's The Grammar of Graphics , which provides an object-oriented description of analytical graphics that emphasizes the separation of data and its mapping to aesthetic attributes [58] . In the phyloseq package, functions having names beginning with “plot_” require a phyloseq object as input data, and return a ggplot2 graphics object. These plot_ functions support optional mapping of color, size, and shape aesthetics to sample or OTU variables — usually by providing the name of the variable or taxonomic rank as a character string (E.g. color = “SampleType”). Legends are automatically generated based on the data and aesthetic mappings (not true of the base R graphics), and all features of these graphics can be further modified in R via functions/options in the ggplot2 package”concepts[39]
conceptaesthetic attributes — not defined in this paper's own words; color, size and shape mappings separated from data — “One of the key features of the phyloseq package is a set of graphics functions custom-tailored for phylogenetic sequencing analysis, built using the ggplot2 package [57] . The ggplot2 package is an implementation of Wilkinson's The Grammar of Graphics , which provides an object-oriented description of analytical graphics that emphasizes the separation of data and its mapping to aesthetic attributes [58] . In the phyloseq package, functions having names beginning with “plot_” require a phyloseq object as input data, and return a ggplot2 graphics object. These plot_ functions support optional mapping of color, size, and shape aesthetics to sample or OTU variables — usually by providing the name of the variable or taxonomic rank as a character string (E.g. color = “SampleType”). Legends are automatically generated based on the data and aesthetic mappings (not true of the base R graphics), and all features of these graphics can be further modified in R via functions/options in the ggplot2 package”concepts[40]
conceptplot_heatmap — not defined in this paper's own words; ordination-organized abundance heat-map function — “plot_heatmap. This is a special implementation of the ordination-organized heat map similar to the NeatMap package [59] . Briefly, the abundance matrix is represented as a grid of colored tiles, with the color of the tiles mapped to the (usually transformed) abundance value. The ordering of the OTUs and sample indices in this representation is critical for discriminating any patterns. Traditionally, hierarchical clustering methods have been used for this organization; but, as Rajaram and Oono recently pointed out [59] , this has the potential to misrepresent the data when deeply-branching elements are placed next to one another arbitrarily. Instead, the samples (and optionally, OTUs) are reordered based on their radial coordinate angle in the first two axes of an ordination. For the plot_heatmap function, any of the distances/ordinations supported by the distance and ordinate functions can be used, with the default being non-metric multidimensional scaling. Any arbitrary color scale can be selected, as well as any choice of numerical transformation for scaling the mapping of color shades to abundance”concepts[41]
concepthierarchical clustering — not defined in this paper's own words; traditional heat-map ordering approach — “plot_heatmap. This is a special implementation of the ordination-organized heat map similar to the NeatMap package [59] . Briefly, the abundance matrix is represented as a grid of colored tiles, with the color of the tiles mapped to the (usually transformed) abundance value. The ordering of the OTUs and sample indices in this representation is critical for discriminating any patterns. Traditionally, hierarchical clustering methods have been used for this organization; but, as Rajaram and Oono recently pointed out [59] , this has the potential to misrepresent the data when deeply-branching elements are placed next to one another arbitrarily. Instead, the samples (and optionally, OTUs) are reordered based on their radial coordinate angle in the first two axes of an ordination. For the plot_heatmap function, any of the distances/ordinations supported by the distance and ordinate functions can be used, with the default being non-metric multidimensional scaling. Any arbitrary color scale can be selected, as well as any choice of numerical transformation for scaling the mapping of color shades to abundance”concepts[42]
conceptplot_network — not defined in this paper's own words; network visualization of thresholded sample or OTU relations — “plot_network. This function plots an igraph-class network [60] representing binary relationships between samples or OTUs. The network is calculated using the make_network function with phyloseq data as input and a desired ecological distance and threshold value. Unlike ordination, where most of the data structure is summarized by the relative position in two or more axes, the data is instead summarized by connections between samples (or OTUs) drawn with straight lines. Two samples are considered “connected” if the distance between them is less than a user-defined threshold. The relative position of points is optimized for the visual display of network properties, but is otherwise arbitrary. Any of the ecological distances supported by the distance function can be selected, and this can be a powerful representation of major clusters among samples or OTUs, provided the value of the distance threshold has been chosen carefully”concepts[43]
conceptdistance threshold — not defined in this paper's own words; cutoff defining network connections — “plot_network. This function plots an igraph-class network [60] representing binary relationships between samples or OTUs. The network is calculated using the make_network function with phyloseq data as input and a desired ecological distance and threshold value. Unlike ordination, where most of the data structure is summarized by the relative position in two or more axes, the data is instead summarized by connections between samples (or OTUs) drawn with straight lines. Two samples are considered “connected” if the distance between them is less than a user-defined threshold. The relative position of points is optimized for the visual display of network properties, but is otherwise arbitrary. Any of the ecological distances supported by the distance function can be selected, and this can be a powerful representation of major clusters among samples or OTUs, provided the value of the distance threshold has been chosen carefully”concepts[44]
conceptplot_tree — not defined in this paper's own words; annotated phylogenetic-tree graphics function — “plot_tree. This function facilitates easy graphical rendering/investigation of the phylogenetic tree, with sample data overlaid. In some cases an annotated tree can be a powerful representation of an underlying evolutionary structure. The plot_tree function optionally places successive points next to the tips of the tree, indicating the samples in which each OTU was observed. These points can have their color, shape, and size aesthetics mapped to sample variables, revealing the correspondence of environmental variables on specific regions of the evolutionary tree. Standard ggplot2 customizations are supported, and this is, to our knowledge, the only function for ggplot2-based phylogenetic trees currently available in the CRAN/Bioconductor repositories. For phylogenetic sequencing of samples with large richness, some of the options in this function will be prohibitively slow to render or too dense to be interpretable, a drawback to summarizing phylogenetic sequencing data using trees. One suggestion is to either agglomerate or subset the data such that there are not more than 200 or so OTUs (tree tips) on a given plot, sometimes less depending on the complexity of the additional annotations being mapped to the tree. In many modern datasets 200 OTUs (or less) will be insufficient to summarize the entire dataset, in which case one or more of the other plot methods is suggested”concepts[45]
conceptrarefaction — not defined in this paper's own words; subsampling columns to equal sequencing effort — “In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundance tables, such a procedure is inappropriate as the disparities in column sums can be 100-fold. Methods based on chi-squared distances rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTU within a column, with the overall column sum retained as a weighting factor. However, chi-square distances are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distances can be a useful alternative, as it is based on the distance between profiles, as long as the differences in actual column sums are also accounted for in the final study. The other approach to the problem of disparities between column sums has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of information, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefaction in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUs is beneficial, especially in the latter multiple testing adjustments”concepts[46]
conceptloss of information — not defined in this paper's own words; information discarded by equal-depth subsampling — “In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundance tables, such a procedure is inappropriate as the disparities in column sums can be 100-fold. Methods based on chi-squared distances rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTU within a column, with the overall column sum retained as a weighting factor. However, chi-square distances are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distances can be a useful alternative, as it is based on the distance between profiles, as long as the differences in actual column sums are also accounted for in the final study. The other approach to the problem of disparities between column sums has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of information, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefaction in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUs is beneficial, especially in the latter multiple testing adjustments”concepts[47]
conceptBray-Curtis distances — not defined in this paper's own words; profile-distance alternative to chi-squared distance — “In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundance tables, such a procedure is inappropriate as the disparities in column sums can be 100-fold. Methods based on chi-squared distances rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTU within a column, with the overall column sum retained as a weighting factor. However, chi-square distances are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distances can be a useful alternative, as it is based on the distance between profiles, as long as the differences in actual column sums are also accounted for in the final study. The other approach to the problem of disparities between column sums has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of information, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefaction in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUs is beneficial, especially in the latter multiple testing adjustments”concepts[48]
conceptraw abundance counts — not defined in this paper's own words; non-normally-distributed microbiome measurements — “Although useful for exploring and summarizing microbiome data, many of the graphics and ordination methods discussed here are not formal tests of any particular hypothesis. The most common framework for testing in microbiome studies is the comparisons of samples from different categories (e.g. healthy and obese; control and treated; different environments). Standard test statistics include the t-test, the paired permutation t-test, and ANOVA type tests based on F or pseudo-F statistics. However, microbiome data have two particularities. First, the raw abundance counts are never normally distributed, so the preferred methods are nonparametric. Second, there is contiguous information available about the relationships between OTUs, as well as for variables measured on the samples, so testing is sometimes more elaborate than a two-sample test. The hypergeometric test, also known as Fisher's exact test, is used in cases when we have a test statistic for each of the different OTUs. The goal is to confirm that a certain property of these significant OTUs is overrepresented compared to the general population of OTUs, often called “the universe”. For instance in Holmes et al [65] and Nelson et al [68] several phyla were shown to be significantly over-abundant in IBS rats as compared to healthy controls using this hypergeometric test”concepts[49]
conceptnonparametric — not defined in this paper's own words; preferred testing family for raw microbiome abundance counts — “Although useful for exploring and summarizing microbiome data, many of the graphics and ordination methods discussed here are not formal tests of any particular hypothesis. The most common framework for testing in microbiome studies is the comparisons of samples from different categories (e.g. healthy and obese; control and treated; different environments). Standard test statistics include the t-test, the paired permutation t-test, and ANOVA type tests based on F or pseudo-F statistics. However, microbiome data have two particularities. First, the raw abundance counts are never normally distributed, so the preferred methods are nonparametric. Second, there is contiguous information available about the relationships between OTUs, as well as for variables measured on the samples, so testing is sometimes more elaborate than a two-sample test. The hypergeometric test, also known as Fisher's exact test, is used in cases when we have a test statistic for each of the different OTUs. The goal is to confirm that a certain property of these significant OTUs is overrepresented compared to the general population of OTUs, often called “the universe”. For instance in Holmes et al [65] and Nelson et al [68] several phyla were shown to be significantly over-abundant in IBS rats as compared to healthy controls using this hypergeometric test”concepts[50]
conceptFamily Wise Error Rate — not defined in this paper's own words; probability of at least one false positive across simultaneous tests — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”concepts[51]
conceptFWER — not defined in this paper's own words; abbreviation for Family Wise Error Rate — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”concepts[52]
conceptminP — not defined in this paper's own words; permutation procedure for controlling FWER — “An organizing principle in many nonparametric testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parameters. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rate (FWER). For instance, Westfall and Young's permutation-based minP procedure controls the FWER [71] and is implemented within the multtest package [72] . The phyloseq package interfaces with minP in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWER while simultaneously testing whether each OTU correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors”concepts[53]
conceptreproducible research — not defined in this paper's own words; publication with sufficient data and software to recreate results — “In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible research can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and data used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundance data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parameters and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible research [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductor/R. The emphasis of preprocessing tools in phyloseq is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable”concepts[54]
conceptcomplete code and data — not defined in this paper's own words; materials required for a pipeline analysis to meet the reproducibility standard — “In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible research can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and data used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundance data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parameters and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible research [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductor/R. The emphasis of preprocessing tools in phyloseq is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable”concepts[55]
conceptSweave — not defined in this paper's own words; documentation tool for reproducible R analyses — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”concepts[56]
conceptknitr — not defined in this paper's own words; documentation tool for reproducible R analyses — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”concepts[57]
conceptR flavored markdown — not defined in this paper's own words; source format for reproducible online tutorials — “One of the goals of the phyloseq project is to help close the gap in reproducible research that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseq is used (possibly with other R packages) in conjunction with documentation tools such as Sweave [32] , knitr [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdown” (RFM) [84] . The Sweave-format approach is part of the reproducible research standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweave (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseq”concepts[58]
conceptphyloseq-constructor method — not defined in this paper's own words; centralized validity-checking constructor — “It is important to note that the new phyloseq-class is a significant departure from the originally-proposed phyloseq-class structure [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencing experiment as a single object. The updated phyloseq-class is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-class do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor method”concepts[59]
conceptupdated phyloseq-class — not defined in this paper's own words; simplified replacement class design — “It is important to note that the new phyloseq-class is a significant departure from the originally-proposed phyloseq-class structure [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencing experiment as a single object. The updated phyloseq-class is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-class do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor method”concepts[60]
conceptoriginally-proposed phyloseq-class structure — not defined in this paper's own words; earlier nested-inheritance class design — “It is important to note that the new phyloseq-class is a significant departure from the originally-proposed phyloseq-class structure [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencing experiment as a single object. The updated phyloseq-class is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-class do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor method”concepts[61]
conceptaccessors — not defined in this paper's own words; data-infrastructure interface exposing components to other R packages — “Analysis tools available in R but not explicitly wrapped in phyloseq are nevertheless available to users and developers via accessors and other data infrastructure tools. This leverages the fact that phyloseq data components are based on standard R data classes and easily used in other package settings in R. For example, we have included example code that illustrates the use of the bioenv function from the vegan package, starting with data represented by the phyloseq-class (See File S2 for code, and the phyloseq demo [86] ). Similarly, as an open-source package in an open language/framework (R), phyloseq can be easily included at the relevant steps in pipelines, workbenches, and GUIs now under active development (E.g. ClovR [15] , MG-RAST [19] , QIIME [11] , mcaGUI [88] ). This represents a means for investigators with limited programming literacy to still benefit from some of the tools included in, or facilitated by, phyloseq”concepts[62]

Full text — tagged

The reference list is not part of the text we hold for this paper. Our copy was extracted from the publisher's page and the bibliography did not survive that extraction, so the article below ends before its references. Nothing has been removed by us.

phyloseqterm: An Rterm Package for Reproducible Interactive Analysis and Graphics of Microbiome Census Dataterm Abstract The analysis of microbial communities through DNA sequencing brings many challenges: the integration of different types of data with methods from ecology, genetics, phylogenetics, multivariate statistics, visualization and testing. With the increased breadth of experimental designs now being pursued, project-specific statistical analyses are often needed, and these analyses are often difficult (or impossible) for peer researchers to independently reproduce. The vast majority of the requisite tools for performing these analyses reproducibly are already implemented in Rterm and its extensions (packages), but with limited support for high throughput microbiome census dataterm.

Here we describe a software project, phyloseqterm, dedicated to the object-oriented representationterm and analysis of microbiome census dataterm in Rterm. It supports importing data from a variety of common formats, as well as many analysis techniques. These include calibration, filtering, subsetting, agglomeration, multi-table comparisons, diversity analysis, parallelized Fast UniFracterm, ordination methodsterm·var, and production of publication-quality graphics; all in a manner that is easy to document, share, and modify. We show how to apply functions from other Rterm packages to phyloseq-represented data, illustrating the availability of a large number of open source analysis techniques. We discuss the use of phyloseqterm with tools for reproducible researchterm, a practice common in other fields but still rare in the analysis of highly parallel microbiome census dataterm. We have made available all of the materials necessary to completely reproduce the analysis and figures included in this article, an example of best practices for reproducible researchterm.

The phyloseqterm project for Rterm is a new open-source software packageterm, freely available on the web from both GitHub and Bioconductorterm.

Introduction Phylogenetic Sequencingterm High-throughput (HT) DNA sequencing [1] is allowing major advances in microbial ecology studies [2] , where our understanding of the presence and abundance of microbial species relies heavily on the observation of their nucleic acids in a “culture independent” manner [3] . This nucleic acid sequencing based census of the inhabitants of microbiome samples is very often now accompanied with other experimental observationsterm (e.g. clinical, environmental, metabolomic, etc.), in addition to phylogenetic tree reconstruction and/or taxonomic classification of the sequences. Here we refer to this as “phylogenetic sequencingterm” data if it can be usefully represented as a contingency tableterm of taxonomic unitsterm and samples, and integrated with the other aforementioned data types. Importantly, this term – also the namesake of the software here described – is defined so as to not be specific to the method by which the phylogenetically relevant microbial census data was obtained, reflecting the intended level of data abstraction in the software. The following are two examples of common methods for producing phylogenetic sequencing dataterm·def.

Barcoded [2] amplicon sequencingterm of dozens to hundreds of samples [4] is a method of phylogenetic sequencingterm of microbiomes, often targeting the small subunit ribosomal RNA (16S rRNAterm) gene [3] , for which there are also convenient tools [5] and large reference databases [6] – [8] . The task of decoding the sample source of each sequence read by its barcode, followed by similarity clustering to define operational taxonomic unitsterm (OTUsterm, sometimes referred to as taxaterm ) [9] , [10] can be performed by publicly available packages/pipelines, including QIIMEterm [11] , mothurterm [12] , and PANGEA [13] ; as well as virtual machine (VM) and cloud-based solutions such as the RDP pipeline [7] , Pyrotagger [14] , CLoVR-16S [15] , Genboree [16] , QIIMEterm EC2 image [17] , n3phele [18] , and MG-RAST [19] .

An alternative experimental method is random “shotgunterm” sequencing [20] , [21] of un-amplified metagenomic DNA [22] , in which case OTUterm clustering and counting is based upon one or more detectable phylogenetic markers in the metagenomic sequence fragments, using tools such as phylOTU [23] . It is worth noting that bias from PCR amplificationterm is avoided in this latter approach – at the expense of per-sequence efficiency [23] – and both methods are now commonly used for phylogenetic sequencingterm ( Figure 1 ).

Example of a phylogenetic sequencingterm workflow. A diagram of an experimental and analysis workflow for amplicon or shotgunterm phylogenetic sequencingterm. The intended role for phyloseqterm is indicated.

The phyloseqterm Project Many of the previously mentioned OTU-clustering applicationsterm also perform additional downstream analyses (File S1). However, typically an investigator must port the human-unreadable output data files to other software for additional processing and statistical analysis specific to the goals of the investigation. The powerful statistical, ecological, and graphics tools available in Rterm [24] make it an attractive option for this post-clustering stageterm of analysis. While the computational efficiency of compiled languages like [25] make them appropriate for the expensive but well-defined requirements of the initial sequence-processing, the subsequent analysis is vaguely-defined and project specific; requiring instead a broad set of interactive calculations that is often less computationally expensive and for which Rterm is well-suited [26] . The public repositories of open-source Rterm extensions (“packages” or “libraries”) include many dedicated ecology and phylogenetic packages. For instance, there are several dozen packages listed in the CRAN Ecology Task View [27] , as well as distory [28] , phangorn [29] , picante [30] , and now phyloseqterm [31] . Furthermore, Rterm includes infrastructure for documenting an analysis in such a way that it can be easily reproduced and modified by peers [32] , [33] .

In spite of all of these highly relevant tools, we recently described the lack of a satisfactory standard within Bioconductorterm [34] (or Rterm generally) for importing the data files from the most popular OTU-clustering applicationsterm, or representing this data in a complete, integrated class [31] . One Bioconductorterm package, OTUbaseterm [35] , pursues some of these goals, but has no support for phylogenetic trees in its data class, nor support for importing data from popular/recent OTU-clustering output formats [35] , [36] (File S1). We have proposed a new Bioconductorterm package, phyloseqterm (from “ phylo genetic seq uencing”), dedicated to the object-oriented representationterm and analysis of phylogenetic sequencing dataterm·def in Rterm [31] , and supporting common OTU-clustering output formats like QIIMEterm [11] , mothurterm [12] , the RDP-pipeline [7] , Pyrotagger [14] , and the biom-format [37] .

In this article we describe the conceptual framework and toolbox of a substantially enhanced phyloseqterm codebase, including especially some advanced ordinationterm and graphics capabilities. We further note that data imported by phyloseqterm is also accessible to analyses encoded by a large number of freely available Rterm packages, in addition to the capabilities directly supported by phyloseqterm itself. We will end by discussing the notion of “reproducible researchterm” in the context of phylogenetic sequencing dataterm·def, and how phyloseqterm and Rterm can be used in analyses that are more open and reproducible than those found in recent common practice.

Methods phyloseqterm Project Key Features The phyloseqterm package provides an object-oriented programming infrastructureterm that simplifies many of the common data management and preprocessing tasks required during analysis of phylogenetic sequencing dataterm·def. This simplified syntax helps mitigate inconsistency errors and encourages interaction with the data during preprocessing. The phyloseqterm package also provides a set of powerful analysis and graphics functions, building upon related packages available in Rterm and Bioconductorterm. It includes or supports some of the most commonly-needed ecology and phylogenetic tools, including a consistent interface for calculating ecological distancesterm and performing dimensional reductionterm (ordinationterm). The graphics functions allow users to interactively produce annotated publication-quality graphics in just one or two lines of code. The phyloseqterm package includes extensive documentation in the form of function- and package-level manuals embedded in the package's documentation interface and in a PDF version on Bioconductorterm [38] , as well as extended reproducible examples on the phyloseqterm homepage [39] , and open collaborative development on GitHub [40] .

Implementation The phyloseqterm package adheres to the requirements for standard Rterm packages set forth in the official “Writing Rterm Extensions” manual [40] . It also satisfies additional requirements of the Bioconductorterm Repository [34] , and uses a literate-programming frameworkterm based on structured in-source comments, called roxygen2term [41] , for (re)building the Rterm documentation (.Rd) files and the namespace specifications. The phyloseqterm package can be installed on any system on which Rterm is supported, including Mac OS X, Windows, and most Linux distributions.

Data Availability Rterm packages can include example data that is documented with the same help system as other package objects [58] . This data becomes available in the Rterm session by invoking the data function after the package has been loaded. Unless otherwise noted, the examples provided in this manuscript use example data that is included in the phyloseqterm package.

Data Infrastructure and Design The phyloseqterm project includes an object-oriented class that integrates the heterogeneous components of OTU-clustered phylogenetic sequencing dataterm·def. Although Bioconductorterm provides many utilities for efficient manipulation of DNA sequences, phyloseqterm does not currently re-implement any methods for DNA sequence decoding, processing, or OTU-clustering ( Figure 1 , File S1). Instead, phyloseqterm provides tools to read the output files of the most common OTU-clustering applicationsterm [7] , [11] , [12] , [14] , and represents this data in Rterm as an instance of the main data class. This multi-component “experiment-level” class — named “phyloseqterm”, and referred to here as “the phyloseq-classterm·def” — is a key design feature of the phyloseqterm project, with subsequent user-accessible functions expecting to operate on an instance of this class as their sole or primary input data. These functions are described in detail in the phyloseqterm manual [7] , and are part of a modular workflow summarized in Figure 2 .

Analysis workflow using phyloseqterm. The workflow starts with the results of OTUterm clustering and independently-measured sample data (Input, top left), and ends at various analytic procedures available in Rterm for inference and validation. In between are key functions for preprocessing and graphics. Rounded rectangles and diamond shapes represent functions and data objects, respectively, further described in Figure 3 .

Figure 3 summarizes the structure of the phyloseq-classterm·def and its components. Each of the slots are empty (NULL) by default, although an instance missing an otu_tableterm component is invalid. Tools in phyloseqterm that truncate dimensions of one component (that is, remove samples or OTUsterm) automatically propagate the change across all relevant components. In general, researchers only need to manipulate their “experiment-level” object, making data (pre)processing less prone to mistakes, and often simplifying analysis commands to just one data argument.

The “phyloseqterm” class. The phyloseq classterm is an experiment-level data storage classterm defined by the phyloseqterm package for representing phylogenetic sequencing dataterm·def. Most functions in the phyloseqterm package expect an instance of this class as their primary argument. See the phyloseqterm manual [38] for a complete list of functions.

Analysis Functions Complementing the data infrastructure, the phyloseqterm package provides a set of functions that take a phyloseqterm object as the primary data, and performs an analysis and/or graphics task. Figure 2 summarizes the general workflow within phyloseqterm, and lists some of the main functions/tools.

Comparisons of the type and quantity of OTUsterm observed between microbiome samples (“beta diversityterm”) is often approached through the calculation of pairwise ecological distancesterm [42] , [43] , and through dimensional reductionterm (ordinationterm) methods. The phyloseqterm package provides a consistent interface for the most common approaches to distanceterm calculations and ordinationterm. This interface is also the foundation for the custom ordinationterm and heatmap graphics functions described in the next subsection.

In phyloseqterm the interface for ecological distanceterm calculations is a single function, distanceterm, that takes a phyloseqterm object as its data argument as well as a character string indicating the distance methodterm·var, with explicit support for more than 40 ecological distanceterm methods. This includes a Rterm -native, optionally-parallel implementation of Fast UniFracterm [44] (both weighted [45] and unweighted [46] ). The output is a “dist” class distance matrixterm (lower-triangle) appropriate for standard clustering analysis in core Rterm (e.g. hclust), as well as certain dimensional reductionterm (ordinationterm) methods.

The interface for performing ordination methodsterm·var is also a single function, called ordinateterm, that takes a phyloseqterm object as its primary data argument and a character string indicating the desired ordination methodterm·var. For example, the following would perform (unconstrained) correspondence analysisterm on the included “Global Patterns” dataset [47] .

The ordinateterm function currently supports correspondence analysisterm (CA) [48] , constrained correspondence analysisterm (CCA) [49] , detrended correspondence analysisterm (DCA) [50] , redundancy analysis (RDA) [51] , principal components analysis (PCA) [52] , double principle coordinates analysis (DPCoA) [53] , multidimensional scaling (MDS, PCoA) [54] , and non-metric multidimensional scalingterm (NMDS) [55] . For CA, CCA, DCA, RDA, and DPCoA, the ordinationterm is based upon an evaluation of abundance values (in the case of DPCoA, the patristic distancesterm between OTUsterm on the phylogenetic tree is also used), but not an ecological distanceterm. For MDS and NMDS, the ordinateterm function requires a pre-calculated distance matrixterm (“dist” object) or the name of a supported ecological distanceterm method. For example, PCoA/MDS can be calculated on an unweighted UniFrac distance matrixterm [46] , using the following command: There are many combinations of approaches possible (even extending into time-series of table pairs), and the optimal approach depends on the goals of the experiment and characteristics of the data [56] . The phyloseqterm package also includes a specialized function for displaying ordinationterm results in different ways, described in the following section.

Specialized Graphics One of the key features of the phyloseqterm package is a set of graphics functions custom-tailored for phylogenetic sequencingterm analysis, built using the ggplot2term package [57] . The ggplot2term package is an implementation of Wilkinson's The Grammar of Graphics , which provides an object-oriented description of analytical graphics that emphasizes the separation of data and its mapping to aesthetic attributesterm [58] . In the phyloseqterm package, functions having names beginning with “plot_” require a phyloseqterm object as input data, and return a ggplot2term graphics object. These plot_ functions support optional mapping of color, size, and shape aesthetics to sample or OTUterm variables — usually by providing the name of the variable or taxonomic rank as a character string (E.g. color = “SampleType”). Legends are automatically generated based on the data and aesthetic mappings (not true of the base Rterm graphics), and all features of these graphics can be further modified in Rterm via functions/options in the ggplot2term package.

The following list summarizes the key graphics-producing functions in phyloseqterm, which are also demonstrated in Figure 4 , and in phyloseqterm's online tutorials [39] . File S2 provides the complete Rterm code for creating Figures 4 and 5 . We have also included some additional examples of graphics created by plot_ordinationterm ( Figure 5 ). They emphasize different aspects of ordinationterm results, and the best choice depends heavily on characteristics of the data and research questions. The provided code also demonstrates a custom modification to the ggplot2term graphic, in this case the addition of a two-dimensional density estimate to the “OTUs-only” plot (File S2).

Graphic functions of the phyloseqterm package. The phyloseq classterm is an experiment-level data storage classterm defined by the phyloseqterm package for representing phylogenetic sequencing dataterm·def. Most functions in the phyloseqterm package expect an instance of this class as their primary argument. See the phyloseqterm manual The Global Patterns [47] and Enterotypes [91] datasets are included with the phyloseqterm package. The Global Patterns data was preprocessed such that each sample was transformed to the same total read depth, and OTUsterm were trimmed that were not observed at least 3 times in 20% of samples or had a coefficient of variation ≤ 3.0 across all samples. For the plot_treeterm and plot_bar subplots, only the Bacteroidetes phylum is shown. Each subplot title indicates the plot function that produced it. Complete details for reproducing this figure are provided in File S2. All of these functions return a ggplot object that can be further customized/modified by tools in the ggplot2term package [57] . See additional descriptions of each function in the body text, and at the phyloseqterm homepage [39] .

plot_ordinationterm display methods included in phyloseqterm. Each panel uses a “Bacteroidetes-only” subset of the preprocessed “Global Patterns” dataset that was also used in Figure 4 . The coordinates are derived from an unconstrained correspondence analysisterm [62] . Different panels illustrate different displays of the ordinationterm results using the type argument to the plot_ordinationterm function. (Top Left) Example of a samples-only display, with the “SampleType” mapped to the color aesthetic, and a filled-polygon layer to emphasize plot regions where sample types co-occur. (Top Left Insert) A “scree” plot of the eigenvalues associated with each axis, which indicates the proportion of total variability represented in each axis. (Top Right) Biplot representation in which samples and OTUsterm ordinationterm results are overlaid. Clumps of OTUsterm appear to co-occur with different sample types, and some correlation with taxonomic phylum is also evident. (Middle) An OTUs-only plot that has been faceted (separated into panels) by class, with a two-dimensional density estimate overlain in blue. This view shows clearly a lack of association between the Sphingobacteria and Flavobacteria classes with fecal samples, which appear to be enriched in a subset of the Bacteroidia (relative to other OTUsterm in this Bacteroidetes-only dataset). Meanwhile, subsets of Bacteroidia appear to be enriched within multiple sample types. (Bottom) The “split” type for this graphic, in which both samples-only and OTUs-only plots are created, and shown side-by-side with one legend and shared vertical axis. Both the “biplot” and “split” options allow dual projections of both OTU- and sample-space.

plot_ordinationterm. This is the main function for plotting the results of an ordinationterm. It currently supports four different representations of the ordinationterm results: samples-only, OTUs-only, “biplot” (combined) representation, and “split”. A demonstration of these different options is provided in Figure 5 . As can be seen in these examples, the “biplot” and “split” options support dual projections of both OTU- and sample-space. Additional parameters easily map the respective sample variable or taxonomic rank to color, size, or shape aesthetics.

plot_heatmapterm. This is a special implementation of the ordination-organized heat map similar to the NeatMap package [59] . Briefly, the abundance matrix is represented as a grid of colored tiles, with the color of the tiles mapped to the (usually transformed) abundance value. The ordering of the OTUsterm and sample indices in this representation is critical for discriminating any patterns. Traditionally, hierarchical clusteringterm methods have been used for this organization; but, as Rajaram and Oono recently pointed out [59] , this has the potential to misrepresent the data when deeply-branching elements are placed next to one another arbitrarily. Instead, the samples (and optionally, OTUsterm) are reordered based on their radial coordinate angle in the first two axes of an ordinationterm. For the plot_heatmapterm function, any of the distancesterm/ordinationsterm supported by the distanceterm and ordinateterm functions can be used, with the default being non-metric multidimensional scalingterm. Any arbitrary color scale can be selected, as well as any choice of numerical transformation for scaling the mapping of color shades to abundance.

plot_networkterm. This function plots an igraph-class network [60] representing binary relationships between samples or OTUsterm. The network is calculated using the make_network function with phyloseqterm data as input and a desired ecological distanceterm and threshold value. Unlike ordinationterm, where most of the data structure is summarized by the relative position in two or more axes, the data is instead summarized by connections between samples (or OTUsterm) drawn with straight lines. Two samples are considered “connected” if the distanceterm between them is less than a user-defined threshold. The relative position of points is optimized for the visual display of network properties, but is otherwise arbitrary. Any of the ecological distancesterm supported by the distanceterm function can be selected, and this can be a powerful representation of major clusters among samples or OTUsterm, provided the value of the distance thresholdterm has been chosen carefully.

plot_treeterm. This function facilitates easy graphical rendering/investigation of the phylogenetic tree, with sample data overlaid. In some cases an annotated tree can be a powerful representation of an underlying evolutionary structure. The plot_treeterm function optionally places successive points next to the tips of the tree, indicating the samples in which each OTUterm was observed. These points can have their color, shape, and size aesthetics mapped to sample variables, revealing the correspondence of environmental variables on specific regions of the evolutionary tree. Standard ggplot2term customizations are supported, and this is, to our knowledge, the only function for ggplot2-based phylogenetic trees currently available in the CRAN/Bioconductorterm repositories. For phylogenetic sequencingterm of samples with large richness, some of the options in this function will be prohibitively slow to render or too dense to be interpretable, a drawback to summarizing phylogenetic sequencing dataterm·def using trees. One suggestion is to either agglomerate or subset the data such that there are not more than 200 or so OTUsterm (tree tips) on a given plot, sometimes less depending on the complexity of the additional annotations being mapped to the tree. In many modern datasets 200 OTUsterm (or less) will be insufficient to summarize the entire dataset, in which case one or more of the other plot methods is suggested.

plot_bar. Although sometimes very complicated, a well-organized bar plot can be an effective graphical means for direct quantitative comparison of abundance values, and we note that statisticians generally discourage the use of pie-charts [61] . The plot_bar function takes as input a phyloseqterm dataset and a collection of arbitrary expressions for grouping the data based upon taxonomic rank and sample variables. The returned graphic represents each abundance value as the height of a rectangular block that is outlined by a thin black line and filled with the corresponding color of the user-specified sample or taxonomic variable, grey by default. Each of these OTU abundanceterm·var rectangles corresponding to the same horizontal position (usually sample, or sample group) are stacked in order of abundance, such that the aggregate height of the stacked bar is also quantitatively informative.

plot_richness . This function creates plots of richness estimates of each sample in a phyloseqterm data object, allowing for horizontal grouping and color shading according to additional sample variables. Differences in richness (alpha diversity) between samples is often one of the first questions asked of phylogenetic sequencing dataterm·def.

Normalization and Standardization In multivariate analyses such as PCA, large differences in variances between columns are corrected by standardizing each column; i.e. dividing each column by its standard deviation. Thus each column will have the same weight in the multivariate analysis. For OTU abundanceterm·var tables, such a procedure is inappropriate as the disparities in column sumsterm·var can be 100-fold. Methods based on chi-squared distancesterm rather than variances deal with this by comparing weighted column profiles [62] , computed as relative abundances for each OTUterm within a column, with the overall column sumterm·var retained as a weighting factor. However, chi-square distancesterm are sums of squares and can be overly sensitive to outliers and sequencing “jackpot” effects such as those occurring in pyrosequencing data [63] . Bray-Curtis distancesterm can be a useful alternative, as it is based on the distanceterm between profiles, as long as the differences in actual column sumsterm·var are also accounted for in the final study. The other approach to the problem of disparities between column sumsterm·var has been to subsample the over-abundant columns down to the same number as the smaller ones. However this results in a loss of informationterm, rarely an optimal procedure in statistical contexts. This subsampling procedure is inspired by the popular idea of rarefactionterm in coverage studies first invented by Sanders [64] , but has yet to be proved beneficial for all microbial community structures. The parallels between gene expression microarray analyses and microbial abundance analyses was mentioned in [65] , which proposed several expression-inspired strategies for robustifying abundance measurements. The main points were that rankings and thresholding are important in the presence of noise and high variability in sequence depths. As in gene expression analysis filtering the OTUsterm is beneficial, especially in the latter multiple testing adjustments. The phyloseqterm package enables easy filtering and rank transformations in the same vein as robust multi-array averaging (rma) [66] . We provide further details in (McMurdiepersName and HolmespersName, [67] ).

Confirmatory Analyses Although useful for exploring and summarizing microbiome data, many of the graphics and ordination methodsterm·var discussed here are not formal tests of any particular hypothesis. The most common framework for testing in microbiome studies is the comparisons of samples from different categories (e.g. healthy and obese; control and treated; different environments). Standard test statistics include the t-test, the paired permutation t-test, and ANOVA type tests based on F or pseudo-F statistics. However, microbiome data have two particularities. First, the raw abundance countsterm are never normally distributed, so the preferred methods are nonparametricterm. Second, there is contiguous information available about the relationships between OTUsterm, as well as for variables measured on the samples, so testing is sometimes more elaborate than a two-sample test. The hypergeometric test, also known as Fisher's exact test, is used in cases when we have a test statistic for each of the different OTUsterm. The goal is to confirm that a certain property of these significant OTUsterm is overrepresented compared to the general population of OTUsterm, often called “the universe”. For instance in HolmespersName et al [65] and Nelson et al [68] several phyla were shown to be significantly over-abundant in IBS rats as compared to healthy controls using this hypergeometric test.

An organizing principle in many nonparametricterm testing protocols is that the repetition of an analysis multiple times enables the user to control for multiple testing, or to evaluate the quality of estimators or the optimal values of tuning parametersterm·var. Modern confirmatory analyses currently depend on these repeated analyses under various data perturbation schemes, of which resampling, permutations, and Monte Carlo simulations are the most common. For instance the bootstrap uses many thousands of analyses of resampled data to address problems such as statistical stability or bias estimation [69] , and can even provide confidence regions [69] for nonstandard parameters, such as phylogenetic trees [70] . Repeating analyses on permuted data can allow for control of the probability of encountering 1 or more false positives (falsely rejected nulls) among your group of simultaneous hypotheses, also called the Family Wise Error Rateterm (FWERterm). For instance, Westfall and Young's permutation-based minPterm procedure controls the FWERterm [71] and is implemented within the multtest package [72] . The phyloseqterm package interfaces with minPterm in multtest through a wrapper function, called mt. In the following example code we use the mt wrapper to control the FWERterm while simultaneously testing whether each OTUterm correlates with the “Enterotypes” classification of the samples. Note that we first remove samples that were not assigned an enterotype by the original authors ( Table 1 ).

Results from the mt function on the “Enterotypes” dataset.

Results and Discussion As the complexity and sophistication of phylogenetic sequencingterm experiments continues to increase, it is clear that a “one-analysis fits all” approach is not sufficient. While it is often useful and convenient to have common analyses coupled within the application that decodes the sequences and clusters OTUsterm, we posit that a separate set of flexible open-source analytical tools is also needed that can be reproduced consistently by peers, and easily applied to new datasets and data sources. It should include a large library of statistical functions, and be independent of the choice of OTU-clustering method or sequencing technology. The phyloseqterm package helps satisfy this need by reducing the effort necessary to analyze OTU-clustered phylogenetic sequencing dataterm·def via the Rterm language and interactive computing environment.

Reproducible Researchterm and Sharing In exploratory statistical work it is easy to produce biased results [73] through poorly chosen metrics or tests, a failure to properly control for multiple inferences, undisclosed data “pruning”, and probably many other means. Although not commonly required [74] – [76] , an important defense against biased (or poorly-supported) findings is a higher standard for reproducibility in published research [77] , in which journal articles are accompanied by sufficient data and software such that all presented analyses, tables, and figures can be reproduced exactly and with minimal effort [75] . In this context of highly-parallel phylogenetic-sequencing experiments, reproducible researchterm can be partially facilitated by emerging standards for experimental design [78] and file format [37] . Virtual machine image and cloud-deployed “pipeline” analyses [11] , [15] , [19] can further increase accessibility of analyses by mitigating the need for expensive computing hardware while also avoiding complicated installation procedures. However, the use of publicly available “pipeline” tools does not fully meet the reproducibility standard unless accompanied with the complete code and dataterm used in the analysis being published [75] . This is especially important when considering the many choices that are involved in decoding, OTU-clustering, and preprocessing; as well as the many varied approaches to incorporating sample covariates and performing multivariate analyses on complex data. The recent release of the HMP data and multiple articles on the results from their analyses underscore this fact. Thresholding and noise filtering were done independently by each team, but no overall robustness study was performed [79] . Changes early in the analysis pipeline could have downstream effects that are now prohibitively difficult or impossible to evaluate. Generally speaking, the preprocessing of OTU abundanceterm·var data through filtering, normalizing, centering, shrinking, and other transformations is a common practice and necessary for analysis [66] , but varies widely among researchers and is often difficult to reproduce. This is particularly true when the preprocessing transformations are the result of “manual” adjustments in a spreadsheet, custom code/script that is not included in the publication, or random subsampling (“rarefying” to even sequencing effort) with no reported seed. A related example is the (often not-so) reproducible choice of tuning parametersterm·var and perturbation-based statistical validation procedures, allowing for the easy testing of alternatives and robustness of results. To a large extent this revisits many of the same issues of reproducible researchterm [80] – [82] that have been addressed over the last decade for the analysis of microarray data [66] , and for which there are many proven tools already available in Bioconductorterm/Rterm. The emphasis of preprocessing tools in phyloseqterm is intended to decrease the extent to which these steps constitute opaque and idiosyncratic efforts by investigators, while making the results of different studies more comparable.

One of the goals of the phyloseqterm project is to help close the gap in reproducible researchterm that presently exists between pipeline results and the additional analyses required by investigators. This can be achieved when phyloseqterm is used (possibly with other Rterm packages) in conjunction with documentation tools such as Sweaveterm [32] , knitrterm [33] , iPython [83] Notebook invoking the rmagic extension, or “ R flavored markdownterm” (RFM) [84] . The Sweave-format approach is part of the reproducible researchterm standards strongly encouraged by the journal Biostatistics [81] , as well as many disciplines related to statistics and bioinformatics [77] , [85] . The recently-described RFM format and iPython Notebook can also work very well for cases where a web-browser is a satisfactory documentation delivery medium, with RFM being our preferred source format for publishing reproducible online tutorials with embedded code and figures (HTML5) [39] , [86] . We emphasize that the benefits of reproducibility are not contingent on “pretty” code [87] , and we encourage researchers in the field to make their code available even if they feel insecure about its programmatic elegance. As an illustrative example, we have made available the Sweaveterm (.Rnw) and supporting files required to completely reproduce this article, including especially the complete source as an RFM file (.Rmd) with its associated output HTML file, both of which provide the preprocessing steps and graphics commands needed to exactly reproduce each figure (File S2). We have also published a GitHub repository dedicated to reproducible demonstrations of analyses with phyloseqterm [86] .

Extending phyloseqterm It is important to note that the new phyloseq-classterm·def is a significant departure from the originally-proposed phyloseq-class structureterm [31] , which used nested multiple inheritance and a naming convention. It was a valid approach in principle, but was an overly complex approach for the goal of representing a phylogenetic sequencingterm experiment as a single object. The updated phyloseq-classterm is simple to extend for developers and easy to explain to users ( Figure 3 ). In general, the downstream analysis and plotting functions that might operate on an instance of the phyloseq-classterm·def do not need to (re)perform common validity checks because these checks are consolidated as part of the phyloseq-constructor methodterm.

Analysis tools available in Rterm but not explicitly wrapped in phyloseqterm are nevertheless available to users and developers via accessorsterm and other data infrastructure tools. This leverages the fact that phyloseqterm data components are based on standard Rterm data classes and easily used in other package settings in Rterm. For example, we have included example code that illustrates the use of the bioenv function from the vegan package, starting with data represented by the phyloseq-classterm·def (See File S2 for code, and the phyloseqterm demo [86] ). Similarly, as an open-source package in an open language/framework (Rterm), phyloseqterm can be easily included at the relevant steps in pipelines, workbenches, and GUIs now under active development (E.g. ClovR [15] , MG-RAST [19] , QIIMEterm [11] , mcaGUI [88] ). This represents a means for investigators with limited programming literacy to still benefit from some of the tools included in, or facilitated by, phyloseqterm.

Conclusions The phyloseqterm project is a new open-source software tool for statistical analysis of phylogenetic sequencing dataterm·def within the Rterm programming language and environment. The tools in phyloseqterm make it easy to read the data output of several of the most common OTUterm clustering pipelines, and also represents this data in a unified, integrated form amenable to many modern analysis methods. With this integrated representation of the data it is easy to use supervised methods — such as canonical correspondence analysisterm, discriminant correspondence analysisterm, sparse linear discriminant analysis, etc. — to explain clinical or environmental response variables. We hope that this will provide a gateway for users to take their analyses towards more robust nonparametricterm alternatives to classical least squares methods, and allow them to interact graphically with their data more easily and efficiently. By leveraging existing Rterm infrastructure for reproducible researchterm, the phyloseqterm project also enables reproducible preprocessing, analysis, and publication-quality graphics production — such that it is easy to document, share, and modify analyses of phylogenetic sequencing dataterm·def. The phyloseqterm package is released on Bioconductorterm [34] and developed collaboratively on GitHub [39] .

Availability and Requirements Project name: phyloseqterm Project Stable Release: http://www.bioconductorterm.org/packages/release/bioc/html/phyloseqterm.html Project Home Page: http://joey711.github.com/phyloseqterm/ Project Issue Tracker: https://github.com/joey711/phyloseqterm/issues Project Demo Page: http://joey711.github.com/phyloseq-demo/ Operating System(s): Platform Independent Programming Language(s): Rterm Other Requirements: Rterm, Rterm packages (ade4, ape, Biostrings, foreach, ggplot2term, igraph0, multtest, picante, plyr, reshape, RJSONIO, scales, vegan) License: AGPL-3 Supporting Information Summary of comparison between phyloseqterm and currently available software. This PDF file contains a table summarizing a comparison of supported capabilities between phyloseqterm and QIIMEterm [11] , mothurterm [12] , and the pair of packages OTUbaseterm [35] and mcaGUI [88] . A “+” or “–” indicates that the capability is not directly supported, respectively. A symbol or word instead of “+” implies that the capability is supported, but with an extra caveat or detail, further defined below the table, if necessary. This is not a comprehensive summary of the capabilities of each packages, but rather the capabilities of relevance to this article. The abbreviations CA, DCA, RDA, and DPCoA stand for the ordination methodsterm·var correspondence analysisterm, detrended correspondence analysisterm, redundancy analysis, and double principal coordinates analysis, respectively. Note that in some cases the capabilities deemed “+” in this table are only supported for amplicon sequencingterm based data, sometimes from a specific sequencing platform and with the 16S rRNAterm gene as target. However, the phyloseqterm package is implemented at a stage in the analysis process that can be more generally applied to any phylogenetic sequencingterm, including non-standard amplicon targets, shotgunterm metagenome sequencing, etc.

(PDF) Click here for additional data file.

Source materials for reproducing this manuscript. This is a compressed .zip directory containing the main source file in Sweaveterm .Rnw format [32] , as well as the additional files necessary to completely recreate the original manuscript submitted to PLoS ONE. For the uninitiated, Sweaveterm is a Rterm/LaTeX2e interleaved hybrid language format [32] that allows advanced typesetting description to accompany Rterm code and its output (including graphics). Also included is the RFM source file that was used to create Figures 4 and 5 , and its accompanying HTML output that includes additional documentation details, links, and intermediate graphics. This latter file is “sourced” (re-run) by the Sweaveterm commands if any of the expected output files are missing. This supporting information zip file also includes Rterm code (at the end of the RFM/HTML files) that demonstrates how to use a phyloseqterm data object as an argument to other Rterm functions. In this particular example, the bioenv function from the vegan package [92] is demonstrated.

(ZIP) Click here for additional data file.

Interpretive notes.
• Highlighted spans are tagged entities: persName (author), title (venue), placeName (place), date (year), and term (a key concept: domain / ai / method).
• Eponymous or retrospective terms (e.g. “Nash equilibrium”, “segregation”) do not appear in the original source and so are not highlighted — a deliberate choice (see Report 4).
• Some entries begin with a word in capitals. EVIDENCE CORRECTED means the finding still stands and it was our quotation that was wrong — it has been replaced. RETRACTED means the entry itself was wrong; it stays on the page, marked, with its reason, rather than being deleted. WITHDRAWN AND REPLACED means a corrected version of it appears in the entries below. Each mark carries its own reason, because the reasons differ from one entry to the next. An entry we have WITHDRAWN is removed from this page and kept in the record, with its reason. A line reading Audit and a date is a later re-reading of the entry against its whole sentence: DOUBTFUL means it was kept, and the reason says what is loose about it.
• Quotation marks inside the tagger's sentence. Where a tag is the tagger's own sentence, a phrase in quotation marks inside it is borrowed from the paper — the tagger's wording around it is not. The paper's own sentence is the evidence quote shown on the same row, so the borrowing can be checked against the thing borrowed from without leaving this page. Nothing inside quotation marks anywhere on this page is ours: if it is quoted, it is the paper's. Whose words a concept carries. A concept entry records a term the paper itself uses, so the term, the sense given for it, and its evidence are the paper's own words, quoted where the paper fixes them. This is the opposite of a sense entry in the tag table, which is the tagger's sentence about how the paper uses a term. Where a concept entry could not be grounded in the paper's words, the entry says so on its own row.
• Counts: 1 work · 1 date.
Meta-Tagging Project · record mcmurdie2013-phyloseq-microbiome-analysis.
© 2026 Shir Sivroni