Tools for Parsing, Manipulating, and Graphing Hierarchical Data

A set of tools for parsing, manipulating, and graphing data classified by a hierarchy (e.g. a taxonomy).

Metabarcoding is revolutionizing microbial ecology and presenting new challenges:

  • Numerous database formats make taxonomic data difficult to parse, combine, and subset.
  • Stacked bar charts, commonly used to depict community diversity, lack taxonomic context.
  • Barcode loci and primers are a source of under-explored bias.

MetacodeR is an R package that attempts to addresses these issues:

  • Sources of taxonomic data can be extracted from any file format and manipulated.
  • Community diversity can be visualized by color and size in a tree plot.
  • Primer specificity can be estimated with in silico PCR.

Documentation is under construction at

While this project is in development it can be installed through Github:

devtools::install_github(repo="grunwaldlab/metacoder", build_vignettes = TRUE)

If you've built the vignettes, you can browse them with:


The function that runs in silico PCR requires primersearch from the EMBOSS tool kit to be installed. This is not an R package, so it is not automatically installed. Type ?primersearch after installing and loading MetcodeR for installation instructions.

We are about to submit the mansucript to a pre-print server followed by submission for peer-review. Meanwhile, cite:

ZSL Foster, TJ Sharpton and NJ Grünwald. 2016. MetacodeR: An R package for manipulation and heat tree visualization of community taxonomic data from metabarcoding. BioRxiv, to be submitted.



  • plot_taxonomy and the plot method have been renamed heat_tree.
  • New introduction vignette
  • Various minor bug fixes
  • taxon_levels have been replaced with n_supertaxa to make names conceptually consistent. Note that this means what was 1 as taxon_levels is now 0 as n_supertaxa.
  • Added n_subtaxa and n_subtaxa_1 functions
  • Added taxonomy parsing examples to vignettes
  • Many options and functions have been renamed (#115)
  • dplyr functions for taxmap objects!
  • Added a print method for taxmap objects
  • new SILVA example data set
  • extract_taxonomy works on SeqFastadna class from seqinr
  • parse_mothur_summary function: parses the mothur summary table
  • remove_redundant_names function: removes components of names of taxa in subtaxa
  • Core functions are much faster
  • More tests
  • Updated vignettes
  • Many bug fixes and minor upgrades
  • Legend now moves into plot if there is room (#118)

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.1.3 by Zachary Foster, 7 months ago

Report a bug at

Browse source code at

Authors: Zachary Foster [aut, cre], Niklaus Grunwald [ths]

Documentation:   PDF Manual  

GPL-2 | GPL-3 license

Imports stringr, ggplot2, igraph, scales, grid, taxize, seqinr, reshape2, zoo, traits, RColorBrewer, RCurl, ape, reshape, stats, grDevices, utils, lazyeval, dplyr, magrittr, readr

Suggests knitr, rmarkdown, testthat

See at CRAN