phyloseq
===========
* Supports reference sequences - biological sequences representing each OTU
* plot_ordination() powerful, flexible ordination plots built with ggplot2
* plot_bar() powerful, flexible quantitative summary plots built with ggplot2
* plot_heatmap() easy, flexible heat maps built with ggplot2
* plot_tree() easy, flexible annotated tree plots built with ggplot2
* make_network(), plot_network() - microbiome network visualization
* plot_richness() for easy, flexible summary of species richness
* Parallel Fast UniFrac
* distance() wrapper for ecological distance calculations
* ordinate() wrapper, calculates many different ordination methods.
* General importer for all supported data formats: import()
* BIOM format import: import_biom() function
* Support for Double Principle Coordinate Analysis (DPCoA)
* Several published exampled datasets included
* Bioconductor development release updates.
* Lots of documentation updates.
* Lots and lots of fixes and improvements.

phyloseq 1.4.5 - Change dependency to igraph from igraph0
===========
- This is required. CRAN is removing igraph0 in a few days.

phyloseq 1.4.3 - Speed improvement for import_biom
===========
- Fixed speed bottleneck for sparse matrices in import_biom().
- Update package URL to reflect new article and updated GitHub devel link

phyloseq 1.3.23 - bug fix for transform_sample_counts
===========
Only appears to affect OTU tables in the "taxa are columns" orientation.
It is the result of a surprising behavior of the apply() function,
which in this circumstance transposes the table.

phyloseq 1.3.22 - additional tests for prun_*() and phyloseq() functions
===========
Before releasing v1.3.21 on GitHub:master some gaps in re-order checking were noticed. 
These are now caught by new unit tests and phyloseq/prune/etc have been further revised to ensure that properly-ordered OTUs are not disordered during a pruning step.

phyloseq 1.3.21 - accessor efficiency
===========
For instance, ntaxa() and taxa_names() are very slow on large dataset
Some of the highly inefficient approaches are now replaced. 
The strategy is described further in the related GitHub issue:
https://github.com/joey711/phyloseq/issues/183


phyloseq 1.3.20 - reference sequence class update.
===========
- formally define the new version of phyloseq-class with refseq slot included
- new/augmented accessors:
	- taxa_names
	- ntaxa
	- refseq
- phyloseq() constructor now supports XStringSet components
- reconcile_species internal function removed/replaced
	- reconcile_species removed from constructor and package. internal, so no need to deprecate.
- check the component slot list provided by the "splat" infrastructure
- prune_taxa
- Rebuild current example data.
- print/show methods. 
- subset_taxa
- add refseq (XStringSet) object argument to import functions.
	- import_qiime
	- import_biom
- merge_phyloseq
	- works with refseq data
- Add merge_taxa method for XStringSet objects
- Include reference sequences in example datasets
Additional improvements included in version:
- prune_* / reconcile_* / intersect_*
	- add intersect_samples() function, model after new version of intersect_species()
	- rename intersect_species to intersect_taxa()
	- rm/replace reconcile_* functions with prune_*(intersect_*(), ps).
	- These changes make simpler / DRYer code. Easier to extend.
- DRY (and hopefully speed) improvements to merge_taxa()
	- Additional speed improvements may be possible for tip_glom, tax_glom in later revisions


phyloseq 1.3.14
===========
- Shortened/replaced examples in the longest-running doc examples.
  This substantially reduces the time it takes to run package checks.

- Focused on worst offenders

- Created a new online tutorial for `subset_ord_plot`. 
  Linked to it from `plot_ordination`

- `plot_taxa_bar` moved to deprecated function file where it belongs,
   and examples completely removed from doc.


phyloseq 1.3.13
===========
- Fixed unofficial warning from missing (unregistered) classes 
  of ordination objects. Stems from the internal get_eigenvalue
  being defined as S4 generic instead of S3.
Solves the following logged issue:
https://github.com/joey711/phyloseq/issues/166

- Name of get_eigenvalue generic replaced with extract_eigenvalue,
  in addition to re-defining as S3 generic. 

- Fixed ggplot2 warning from over-specified "bins" in the
  plot_scree bar plot. Changed to stat="identity", solves problem

- Fixed warning when eigenvalues get (slightly) negative. They
  are now set to 0.0 for the purposes of plotting in plot_scree.

phyloseq 1.3.12
===========
- Fixed a parsing issue for some QIIME-produced .biom files
  that had leading space characters. Issue further described at
https://github.com/joey711/phyloseq/issues/171
  Fixed such that any number of leading/lagging space characters
  are removed from taxonomic classification entries

- Fixed build issue on some windows machines derived from problem
  with figure files having colons in the filename.

phyloseq 1.3.11
===========
- Added tree option for import_biom() importer so that users can avoid
  using merge_phyloseq() if their files are otherwise standard vanilla
- Address Issue 169 and 167
https://github.com/joey711/phyloseq/issues/169
https://github.com/joey711/phyloseq/issues/167

phyloseq 1.3.10
===========
- Added support for Shannon/Simpson alpha-diversity indices in plot_richness
  https://github.com/joey711/phyloseq/issues/164

- All sample_data now embedded in plot_richness output graphic, in case want 
  to use other covariates in additional layers not originally specified.
  For instance, if you wanted to include geom_text(label=addLayer1).
  See plot_richness online tutorial.

phyloseq 1.3.9
===========
- Added ability to add node labels, bootstrap values to tree graphics
  generated by plot_tree.
- The labeling itself is opened-up as a user-provided function to facilitate
  custom node-labeling needs (including symbols and other ggplot2 geoms)
- Commonly-needed functions are provided as newly-documented exported 
  functions in the package:
nodeplotdefault - adds whatever is in the node label to the graphic
nodeplotboot - Adds the labels as bootstrap values, coercing/rounding as needed
nodeplotblank - Ensures that node labels are not added.
- These new functions can be used to give valid arguments to the new
  `nodelabf` argument in plot_tree().
- Some other re-organization to plot_tree to show more code in 
  the main plot_tree function.

phyloseq 1.3.8
===========
- Fix bug in plot_tree graphic if sample names start with a number
- This fixes https://github.com/joey711/phyloseq/issues/149
- Also added fill argument to default aesthetic map definition, useful if fillable shapes defined in subsequent layers

phyloseq 1.3.7
===========
- Revisions to plot_tree to improve formatting, organization, "ladderize"
	- contributed by Gregory Jordan
- Color scale option removed from original pull request
	- already supported as core ggplot2 functionality through layering
- Added links and roxygen2-header revisions for proper doc formatting
- Fixed bug in which alternative size-variables still labeled as "abundance" in legend.

phyloseq 1.3.6
===========
- Updated basics vignette

phyloseq 1.3.5
===========
- Updated README.md to point to phyloseq home page (instead of redundant display of content). 
- Also added README.html

phyloseq 1.3.4
===========
- Updated tests, examples for merge_samples()
- Updated some dependency min versions
- First 2013 commit

phyloseq 1.3.3
===========
- updates to import_qiime()
- modular building of taxonomy table in import_qiime() and import_biom()

phyloseq 1.3.2
===========
- import_biom() fixes.
	- More robust data handling for taxonomy table
	- Flexibility: Can take custom parsing function for taxonomy vectors
	- tests added for new parsing functions
		- parse_taxonomy_default
		- parse_taxonomy_greengenes

phyloseq 1.3.1
===========
- New function: plot_bar() that is simpler more reliable than plot_taxa_bar.
- plot_taxa_bar now deprecated.
	- labeled deprecated in title doc
	- replaced examples in vignette with plot_bar examples

phyloseq 1.3.0
===========
- Level up github devel version number to reflect devel order/status relative to latest BioC release


phyloseq 1.1.58
===========
- Fixed a bug in import_qiime in which import fails if there are any empty taxonomy string fields in a file that otherwise has some taxonomic assignments. Now the taxonomy entries for that OTU (row in the taxonomy table) are left all NA_character_ by default.

phyloseq 1.1.57
===========
- Added automatic removal of single and double quotes from phylogenetic tree tip names provided to the phyloseq-constructor. This should help avoid problems importing data that includes a tree, for the cases where the taxa/OTU names don't match because of these extra quotation marks. Added directly into the phyloseq() constructor, so that it doesn't matter how/where the tree was imported/add.
- Removal of quotes is only initiated when OTU/taxa names fail to match AT ALL
(intersection is length zero) between component taxa names. 
- This feature needs to be added to unit tests as well.

phyloseq 1.1.55
===========
- Added "title" argument to plot_scree() and plot_ordination(…, type="scree"), for consistency.

phyloseq 1.1.54
===========
- Changed "species" label in different plot_ordination() graphics to "taxa"
- Fixed an issue with a default parameter in a related internal function
	(changed "samples" to "sites" for vegan compatibility).

phyloseq 1.1.53
===========
- Fixed additional title issues in plot_network and plot_richness

phyloseq 1.1.52
===========
- Added plot_scree() function for making eigenvalue "scree" plots in ggplot2
- Added corresponding type="scree" option to plot_ordination, for convenience.

phyloseq 1.1.51
===========
- Returned to "Imports:" dependency for ggplot2 following a ggplot2 bug fix

phyloseq 1.1.50
===========
- Fixed several compatibility issues to support latest version of ggplot2 (0.9.2).
- Also changes plot_richness_estimates() to plot_richness().

phyloseq 1.1.45
===========
- Backward compatibility for import_qiime_sampleData,
  now superseded by import_qiime_sample_data
- Added a functioning example based on the GlobalPatterns
  example sample-map file included in the package extdata.

phyloseq 1.1.44
===========
- Fixed minor bug in tax_glom function.
Thanks to Katie Shelef for the bug report. Bug only affected tax_glom behavior when the right-most rank was specified as the position for merging.

phyloseq 1.1.43
===========
- fixed distance() issue from species/taxa replacement for type argument.

phyloseq 1.1.42
===========
- fixed make_network/plot_network issue from species/taxa replacement for type argument.

phyloseq 1.1.41
===========
- Fixed documentation for `prune_taxa` and `prune_samples`
- Updated `prune_samples` method to allow for logical vectors.
- Fixed `prune_taxa` so that it properly fails with a message if the taxa argument is a logical of wrong length.
   There was some potential (and no warning) for unpredictable vector-recycling
   with short vectors in the old implementation.

phyloseq 1.1.40
===========
## Huge Update and Renaming Event.
- Made all functions use an *underscore* for English word delimiter, if they were using an abbreviation. 
- Replaced "species" in all function names with "taxa". 
- These changes are all backward compatible, for now, so your old code should work. Let me know if it doesn't and I will quickly make the adjustment. This will remain true through the next official release,
but functional references to "species" will not be supported afterward,
except in the occasions where you actually mean taxonomic species, like `tax_glom(x, "species")`.

phyloseq 1.1.33
===========
Revise taxglom() such that it handles phyloseq and taxonomyTable classes,
throws warning otherwise. It should not take a manually-produced character
vector, as this is roughly equivalent to functionality supported in other method,
especially prune_species()/merge_species().
Also added unit-tests and executable examples for taxglom().
Got rid of taxglom.internal, incorporated directly into taxglom().
taxglom() is no longer an S4-method, and 
doesn't need to be now that the character-vector argument option is omitted,
with S4-class handling delegated to merge_species().
Updated "taxTab<-" to be S4 assignment, clearer handling of taxonomy Table assignments,
especially useful for taxglom.

phyloseq 1.1.29
===========
Add unit tests and example files for import_biom (as well as import("biom",...) ).

phyloseq 1.1.28
===========
Added rarefy_even_depth() function for random subsampling of microbiome samples to the same number of reads. Default uses the minimum total reads among the samples in the dataset. This is based on the core "sample" function, which can have its random number generator fixed by set.seed for reproducibility.

phyloseq 1.1.27
===========
Fix bug in plot_ordination that caused an error rather than produce unannotated plots when sampleData absent in the input.

phyloseq 1.1.23-26
===========
Added unit tests and bugfixes

phyloseq 1.1.19-22
===========
Improving import_qiime() importer to handle large datasets,
like the HMPv35 dataset, for example, while also providing useful status messages
during non-trivial imports that might take 10 minutes or more to complete.

phyloseq 1.1.18
===========
Added replicate labels as a "Sample" factor in the soilrep dataset.

phyloseq 1.1.17
===========
Fix possible bug that results from the latest version (0.6+) of igraph not being backward compatible. A stable igraph0 package is available on CRAN as a stop-gap, and so all igraph dependencies were migrated to "igraph0" until the phyloseq-source can be updated to match the igraph latest.

phyloseq 1.1.15
===========
plot_heatmap: Added default (but adjustable) threshold to omit taxa/sample labels

phyloseq 1.1.14
===========
Update import_qiime() function to import latest non-BIOM qiime output files.
	Also added check for presence of taxonomy information (consensus lineage).

phyloseq 1.1.10
===========
* Add plot_heatmap() function, for easy flexible heat maps built with ggplot2

phyloseq 1.1.8-9
===========
* Fix bug for some variants of new BIOM format
* Add import_RDP_otu() import function for new RDP pipeline export format

phyloseq 1.1.7
===========
* Removed the old plot_tree_phyloseq() function, in favor of the new ggplot2-based plot_tree()
* Uncommented / tested formal examples in documentation of plot-functions
* Updated variable names and doc for the plot_taxa_bar() function

phyloseq 1.1.6
===========
* Update vignette with plot_tree() example, replacing the 
   old base-graphics function, plot_tree_phyloseq().
* Fix bug in legend for trees with size mapped to abundance

phyloseq 1.1.5
===========
* Add initial version of tree_plot(), built with ggplot2
* Adds several internal functions borrowed from devel version of ggphylo

phyloseq 1.1.4
===========
* Add errorIfNULL option to auxiliary accessors
  (e.g. sample.variables(), rank.names())

phyloseq 1.1.1-3
===========
* R version updated to match Bioconductor, R-2.15.0+
* ape-package version updated to 3.0+
* ape-package now import dependency
* ggplot2-package version updated to 0.9.0+
* ggplot2-package now import dependency

v0.99.48
===========
* Updated README.md

v0.99.47
===========
* Add support for ordinate() to take dist-object instead of distance-method string.
* Update the documentation for ordinate() to reflect change.
* Updated README.md to describe new tools, distance() and ordinate()
* Update JSD documentation.

v0.99.46
===========
* Added support and documentation for Jensen-Shannon Divergence to distance().
* Some updates to distance() function and its documentation.

v0.99.45
===========
* Completely remove vegdist documentation from phyloseq by omitting all roxygen2
  headers except for 
  #' keywords internal
  This finally fixes it, without build warnings/errors, once and for all.

v0.99.44
===========
* Make the phyloseq::vegdist() wrapper an internal function. Documentation updated as well.
  This is a solution to Issue 87
  https://github.com/joey711/phyloseq/issues/87
* Remove rda.phyloseq and cca.phyloseq from exported methods.
  Documentation had already been removed when these were first attempted to be converted
  to internal methods in v0.99.42
* Modify make_sample_network to use the new distance() function, and be able to pass on
  additional parameters to distance().
* Re-order arguments to make_sample_network to better represent the stability of defaults.
* Removed redundant parameters from make_sample_network(). Transformations to abundance
  tables should be performed upstream using phyloseq tools, not embedded in this function.
* Modify vignettes to reflect these changes.
* Rebuild vignette.
* Update import() documentation to reflect support for BIOM format, import_biom() function.

v0.99.43
===========
* Revise component assignment operators, e.g. "sampleData(physeq)<-" to coerce/access
  from more diverse objects based on context. Documentation for these operators updated.
  This is a more general solution to Issue 68
  https://github.com/joey711/phyloseq/issues/68

v0.99.42
===========
* purge rda.phyloseq and cca.phyloseq from documentation, vignettes. Internal functions.
* analysis vignette revisions

v0.99.41
===========
* Added ordinate() function, general ordination wrapper.

v0.99.40
===========
* Fixed case issues with source filenames. 
  Required multiple commits, break in versioning for source files that had improper letter case (e.g. ".r")

v0.99.37 - 0.99.39
===========
* Vignette updates.

v0.99.36
===========
* Added general distance calculation wrapper, distance()
* Consolidated it with unifrac.R code in a new "distance-methods.R" source file.

v0.99.35
===========
* Added tool to retain user-defined subset of points from an ordination, subset_ord_plot
* Updates to vignette
* Remove a poorly-documented, unpublished example dataset, ex1 -> and all references to it in documentation

v0.99.34
===========
* Updates to vignette

v0.99.33
===========
* Allow color specification for "biplot" type in plot_ordination()
* bug fix for certain combinations of biplot options.

v0.99.32
===========
* Remove plot_ordination_biplot() from phyloseq -> replaced by: plot_ordination()
*  |-> also removed from vignette.
* Remove calcplot(). -> Will be replaced by pipeline_() methods
* plot_ordination() shown in vignette for "species" plot type.
* Fix - Allow flexible axis labels for plot_ordination()

v0.99.31
===========
* Aesthetic fixes in plot_ordination()
* Remove plot_ordination_samples() -> redundant, covered by plot_ordination().

v0.99.30
===========
* Added plot_ordination -> general ordination plotting function

v0.99.29
===========
* Added first-draft of analysis vignette to package
* Total package-space and build/check times tested

v0.99.28
===========
* Fixed bug when specifying alternative axes in plot_ordination_samples()

v0.99.27
===========
* Added DPCoA() function for Double Principle Coordinate Analysis, relies heavily on ade4.
* Added ade4 dependency. Some masking, but no errors apparent.
* Added dpcoa extension for scores()
* minor bugfix in plot_ordination_biplot().

v0.99.26
===========
* Add plot_ordination_samples() for convenient ordination plotting
* Renamed plot_ordination_phyloseq to more precise, plot_ordination_biplot()
* Added extension to vegan::scores for ape:pcoa results, scores.pcoa()

v0.99.25
===========
* Fix build warning from duplicate import in namespace
* Update README.md

v0.99.24
===========
* Advanced network/graph plotting/visualization wrappers: make_sample_network(), plot_sample_network()
* Advanced alpha diversity wrappers: plot_richness_estimates(), estimate_richness()
* Added taxafilter() function for even more convenient filtering of species/taxa
* Added reshape dependency for explicit use of melt() function.

v0.99.23
===========
* Added a rooted tree to "GlobalPatterns" dataset
* Allow multi-class tests with mt()

v0.99.20
===========
* Added "GlobalPatterns" dataset, and some other minor improvements
* added "GlobalPatterns" dataset, with doc and some analysis
  examples. More examples will be added to the vignette.
* add getVariable accessor function, for streamlining access
  to values/vectors/factors/etc of the variates contained in
  the sampleData component
* revise documentation about parallelization of import_biom()
* revise documentation for enterotype dataset

v0.99.19
===========
* fixed a bug in general import() function in which it properly processed import command, but then failed to return result.

v0.99.18
===========
* Added import_biom() function to import BIOM format OTU-clustered data / metadata
* Added (direct) dependency for plyr, as well as RJSONIO 


phyloseq 0.4.2 - 0.4.7
===========

* Improvements to import_mothur() via import_mothur_otulist().
* merge_samples() function added, in preparation for hypergeometric (fisher.test) test wrapper.
* Fixed bug in merge_phyloseq() for certain combinations of objects. 
* Various other fixes and improvements.

phyloseq 0.4.1
===========

* First official submission to Bioconductor
* Includes many build-fixes, bug-fixes
* Final tweaks to conform to Bioconductor guidelines

phyloseq 0.3
===========

* Added Importers for mothur, RDP-pipeline, and PyroTagger
* Lots of new plotting and analysis support
* Parallelized UniFrac calculations using foreach package
* Some improvements to the class inheritance structure to simplify method extension and future development.
* Function-level documentation
* Vignette-level documentation
* Package dependencies achieved via import for all packages with a namespace. Depends (full load) otherwise.

phyloseq 0.2.4
===========

* Added ordination and plotting pipeline, calcplot() and plot.ordination.phyloseq()
* All trees converted to phylo4 by default. Support for phyla achieved by coercion to phylo4.

phyloseq 0.2
===========

* Modifications for proper build, and bug tests.

phyloseq 0.1
===========

* basic data structure in place.
* some support for phylo4 objects
* import_qiime(): A Qiime input wrapper

