-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.Rmd
91 lines (64 loc) · 4.5 KB
/
index.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
title: "Metacoder documentation"
author: "Zachary S. L. Foster and Niklaus J. Grünwald"
date: "`r Sys.Date()`"
bibliography: bibliography.bibtex
---
```{r home_setup, echo=FALSE, warning=FALSE, message=FALSE}
library(knitr)
if (! is.null(current_input())) { # if knitr is being used
read_chunk("settings.R")
} else {
source("settings.R")
}
```
```{r rendering_settings, echo=FALSE, warning=FALSE, message=FALSE}
```
## Introduction
Metacoder is an R package for `r gloss$add("parsing")`, plotting, and manipulating large `r gloss$add("taxonomy", shown = "taxonomic")` data sets, like those generated from modern high-throughput sequencing, like metabarcoding (i.e. amplification metagenomics, 16S metagenomics, etc).
It provides a tree-based visualization called "heat trees" used to depict statistics for every taxon in a taxonomy using color and size.
It also provides various functions to do common tasks in microbiome bioinformatics on data in the `taxmap` format defined by the `metacoder` package, such as:
* Summing read counts/abundance per taxon
* Converting counts to proportions and `r gloss$add("rarefaction")` of counts using `vegan`
* Comparing the abundance (or other characteristics) of groups of samples (e.g., experimental treatments) per taxon
* Combining data for groups of samples
* Simulated PCR, via EMBOSS primersearch, for testing primer specificity and coverage of taxonomic groups
* Converting common microbiome formats for data and reference databases into the objects defined by the `metacoder` package.
* Converting to and from the `phyloseq` format and the `metacoder` format
## Relationship with other packages
Many of these operations can be done using other packages like `phyloseq`, which also provides tools for diversity analysis.
The main strength of `metacoder` is that its functions use the flexible data types defined by `metacoder`, which has powerful parsing and subsetting abilities that take into account the hierarchical relationship between taxa and user-defined data.
In general, `metacoder` is more of an abstracted tool kit, whereas `phyloseq` has more specialized functions for community diversity data, but they both can do similar things.
I encourage you to try both to see which fits your needs and style best.
You can also combine the two in a single analysis by converting between the two data types when needed using the `parse_phyloseq` and `as_phyloseq` functions.
## Installation
This project is available on CRAN and can be installed like so:
```{r eval = FALSE}
install.packages("metacoder")
```
You can also install the development version for the newest features, bugs, and bug fixes:
```{r eval = FALSE}
install.packages("devtools")
devtools::install_github("grunwaldlab/metacoder")
```
## Dependencies
The function that simulates PCR requires `primersearch` from the EMBOSS [@rice2000emboss] tool kit to be installed.
This is not an R package, so it is not automatically installed.
Type `?primersearch` after installing and loading metacoder for installation instructions.
## Future development
Metacoder is under active development and many new features are planned.
Some improvements that are being explored include:
* Barcoding gap analysis and associated plotting functions
* A function to aid in retrieving appropriate sequence data from NCBI for *in silico* PCR from whole genome sequences
* Graphing of different node shapes in heat trees, possibly including pie graphs or [PhyloPics](http://phylopic.org/).
* Adding the ability to plot specific edge lengths in the heat trees so they can be used for phylogenetic trees.
* Adding more data import and export functions to make parsing and writing common formats easier.
To see the details of what is being worked on, check out the [issues](https://github.com/grunwaldlab/metacoder/issues) tab of the metacoder [Github site](https://github.com/grunwaldlab).
## Acknowledgements
Metacoder's major dependencies are `taxize`, `vegan`, `igraph`, `dplyr`, and `ggplot2`.
## Feedback and contributions
We would like to hear about users' thoughts on the package and any errors they run into.
Please report errors, questions or suggestions on the [issues](https://github.com/grunwaldlab/metacoder/issues) tab of the Metacoder [Github site](https://github.com/grunwaldlab).
We also welcome contributions via a Github [pull request](https://help.github.com/articles/using-pull-requests/).
You can also talk with us using our [Google groups](https://groups.google.com/forum/#!forum/metacoder-discussions) site or the comments section below.
## References