|
1 | 1 |
|
2 | 2 | <!-- README.md is generated from README.Rmd. Please edit that file --> |
3 | | -[](https://travis-ci.org/grunwaldlab/metacoder?branch=master) [](https://codecov.io/github/grunwaldlab/metacoder?branch=master) [](http://www.r-pkg.org/pkg/metacoder) [](http://www.r-pkg.org/pkg/metacoder) [](https://cran.r-project.org/package=metacoder) |
4 | 3 |
|
5 | | - |
6 | | - |
7 | | -An R package for metabarcoding research planning and analysis |
8 | | -------------------------------------------------------------- |
9 | | - |
10 | | -Metacoder is an R package for reading, plotting, and manipulating large 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 `taxa` package, such as: |
11 | | - |
12 | | -- Summing read counts/abundance per taxon |
13 | | -- Converting counts to proportions and rarefaction of counts using `vegan` |
14 | | -- Comparing the abundance (or other characteristics) of groups of samples (e.g., experimental treatments) per taxon |
15 | | -- Combining data for groups of samples |
16 | | -- Simulated PCR, via EMBOSS primersearch, for testing primer specificity and coverage of taxonomic groups |
17 | | -- Converting common microbiome formats for data and reference databases into the objects defined by the `taxa` package. |
18 | | -- Converting to and from the `phyloseq` format and the `taxa` format |
19 | | - |
20 | | -Installation |
21 | | ------------- |
| 4 | +[](https://travis-ci.com/grunwaldlab/metacoder?branch=master) |
| 6 | +[](https://codecov.io/github/grunwaldlab/metacoder?branch=master) |
| 7 | +[](http://www.r-pkg.org/pkg/metacoder) |
| 9 | +[](http://www.r-pkg.org/pkg/metacoder) |
| 11 | +[](https://cran.r-project.org/package=metacoder) |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | +## An R package for metabarcoding research planning and analysis |
| 17 | + |
| 18 | +Metacoder is an R package for reading, plotting, and manipulating large |
| 19 | +taxonomic data sets, like those generated from modern high-throughput |
| 20 | +sequencing, like metabarcoding (i.e. amplification metagenomics, 16S |
| 21 | +metagenomics, etc). It provides a tree-based visualization called “heat |
| 22 | +trees” used to depict statistics for every taxon in a taxonomy using |
| 23 | +color and size. It also provides various functions to do common tasks in |
| 24 | +microbiome bioinformatics on data in the `taxmap` format defined by the |
| 25 | +`taxa` package, such as: |
| 26 | + |
| 27 | + - Summing read counts/abundance per taxon |
| 28 | + - Converting counts to proportions and rarefaction of counts using |
| 29 | + `vegan` |
| 30 | + - Comparing the abundance (or other characteristics) of groups of |
| 31 | + samples (e.g., experimental treatments) per taxon |
| 32 | + - Combining data for groups of samples |
| 33 | + - Simulated PCR, via EMBOSS primersearch, for testing primer |
| 34 | + specificity and coverage of taxonomic groups |
| 35 | + - Converting common microbiome formats for data and reference |
| 36 | + databases into the objects defined by the `taxa` package. |
| 37 | + - Converting to and from the `phyloseq` format and the `taxa` format |
| 38 | + |
| 39 | +## Installation |
22 | 40 |
|
23 | 41 | This project is available on CRAN and can be installed like so: |
24 | 42 |
|
25 | 43 | ``` r |
26 | 44 | install.packages("metacoder") |
27 | 45 | ``` |
28 | 46 |
|
29 | | -You can also install the development version for the newest features, bugs, and bug fixes: |
| 47 | +You can also install the development version for the newest features, |
| 48 | +bugs, and bug fixes: |
30 | 49 |
|
31 | 50 | ``` r |
32 | 51 | install.packages("devtools") |
33 | 52 | devtools::install_github("grunwaldlab/metacoder") |
34 | 53 | ``` |
35 | 54 |
|
36 | | -Documentation |
37 | | -------------- |
| 55 | +## Documentation |
38 | 56 |
|
39 | 57 | All the documentation for `metacoder` can be found on our website here: |
40 | 58 |
|
41 | 59 | <https://grunwaldlab.github.io/metacoder_documentation/> |
42 | 60 |
|
43 | | -Dependencies |
44 | | ------------- |
45 | | - |
46 | | -The function that simulates 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 metacoder for installation instructions. |
47 | | - |
48 | | -Relationship with other packages |
49 | | --------------------------------- |
50 | | - |
51 | | -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 `taxa`, which has powerful parsing and subsetting abilities that take into account the hierarchical relationship between taxa and user-defined data. In general, `metacoder` and `taxa` are 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. |
52 | | - |
53 | | -Citation |
54 | | --------- |
55 | | - |
56 | | -If you use metacoder in a publication, please cite our [article in PLOS Computational Biology](http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005404): |
57 | | - |
58 | | -Foster ZSL, Sharpton TJ, Grünwald NJ (2017) Metacoder: An R package for visualization and manipulation of community taxonomic diversity data. PLOS Computational Biology 13(2): e1005404. <https://doi.org/10.1371/journal.pcbi.1005404> |
59 | | - |
60 | | -Future development |
61 | | ------------------- |
62 | | - |
63 | | -Metacoder is under active development and many new features are planned. Some improvements that are being explored include: |
64 | | - |
65 | | -- Barcoding gap analysis and associated plotting functions |
66 | | -- A function to aid in retrieving appropriate sequence data from NCBI for *in silico* PCR from whole genome sequences |
67 | | -- Graphing of different node shapes in heat trees, possibly including pie graphs or [PhyloPics](http://phylopic.org/). |
68 | | -- Adding the ability to plot specific edge lengths in the heat trees so they can be used for phylogenetic trees. |
69 | | -- Adding more data import and export functions to make parsing and writing common formats easier. |
70 | | - |
71 | | -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). |
72 | | - |
73 | | -License |
74 | | -------- |
75 | | - |
76 | | -This work is subject to the [MIT License](https://github.com/grunwaldlab/metacoder/blob/master/LICENSE). |
77 | | - |
78 | | -Acknowledgements |
79 | | ----------------- |
80 | | - |
81 | | -Metacoder's major dependencies are `taxa`, `taxize`, `vegan`, `igraph`, `dplyr`, and `ggplot2`. |
82 | | - |
83 | | -This package includes code from the R package [ggrepel](https://github.com/slowkow/ggrepel) to handle label overlap avoidance with permission from the author of [ggrepel](https://github.com/slowkow/ggrepel) [Kamil Slowikowski](https://github.com/slowkow). We included the code instead of depending on `ggrepel` because we are using functions internal to `ggrepel` that might change in the future. We thank Kamil Slowikowski for letting us use his code and would like to acknowledge his implementation of the label overlap avoidance used in metacoder. |
84 | | - |
85 | | -Feedback and contributions |
86 | | --------------------------- |
87 | | - |
88 | | -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. |
| 61 | +## Dependencies |
| 62 | + |
| 63 | +The function that simulates PCR requires `primersearch` from the EMBOSS |
| 64 | +tool kit to be installed. This is not an R package, so it is not |
| 65 | +automatically installed. Type `?primersearch` after installing and |
| 66 | +loading metacoder for installation instructions. |
| 67 | + |
| 68 | +## Relationship with other packages |
| 69 | + |
| 70 | +Many of these operations can be done using other packages like |
| 71 | +`phyloseq`, which also provides tools for diversity analysis. The main |
| 72 | +strength of `metacoder` is that its functions use the flexible data |
| 73 | +types defined by `taxa`, which has powerful parsing and subsetting |
| 74 | +abilities that take into account the hierarchical relationship between |
| 75 | +taxa and user-defined data. In general, `metacoder` and `taxa` are more |
| 76 | +of an abstracted tool kit, whereas `phyloseq` has more specialized |
| 77 | +functions for community diversity data, but they both can do similar |
| 78 | +things. I encourage you to try both to see which fits your needs and |
| 79 | +style best. You can also combine the two in a single analysis by |
| 80 | +converting between the two data types when needed. |
| 81 | + |
| 82 | +## Citation |
| 83 | + |
| 84 | +If you use metcoder in a publication, please cite our [article in PLOS |
| 85 | +Computational |
| 86 | +Biology](http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005404): |
| 87 | + |
| 88 | +Foster ZSL, Sharpton TJ, Grünwald NJ (2017) Metacoder: An R package for |
| 89 | +visualization and manipulation of community taxonomic diversity data. |
| 90 | +PLOS Computational Biology 13(2): e1005404. |
| 91 | +<https://doi.org/10.1371/journal.pcbi.1005404> |
| 92 | + |
| 93 | +## Future development |
| 94 | + |
| 95 | +Metacoder is under active development and many new features are planned. |
| 96 | +Some improvements that are being explored include: |
| 97 | + |
| 98 | + - Barcoding gap analysis and associated plotting functions |
| 99 | + - A function to aid in retrieving appropriate sequence data from NCBI |
| 100 | + for *in silico* PCR from whole genome sequences |
| 101 | + - Graphing of different node shapes in heat trees, possibly including |
| 102 | + pie graphs or [PhyloPics](http://phylopic.org/). |
| 103 | + - Adding the ability to plot specific edge lengths in the heat trees |
| 104 | + so they can be used for phylogenetic trees. |
| 105 | + - Adding more data import and export functions to make parsing and |
| 106 | + writing common formats easier. |
| 107 | + |
| 108 | +To see the details of what is being worked on, check out the |
| 109 | +[issues](https://github.com/grunwaldlab/metacoder/issues) tab of the |
| 110 | +Metacoder [Github site](https://github.com/grunwaldlab). |
| 111 | + |
| 112 | +## License |
| 113 | + |
| 114 | +This work is subject to the [MIT |
| 115 | +License](https://github.com/grunwaldlab/metacoder/blob/master/LICENSE). |
| 116 | + |
| 117 | +## Acknowledgements |
| 118 | + |
| 119 | +Metacoder’s major dependencies are `taxa`, `taxize`, `vegan`, `igraph`, |
| 120 | +`dplyr`, and `ggplot2`. |
| 121 | + |
| 122 | +This package includes code from the R package |
| 123 | +[ggrepel](https://github.com/slowkow/ggrepel) to handle label overlap |
| 124 | +avoidance with permission from the author of |
| 125 | +[ggrepel](https://github.com/slowkow/ggrepel) [Kamil |
| 126 | +Slowikowski](https://github.com/slowkow). We included the code instead |
| 127 | +of depending on `ggrepel` because we are using functions internal to |
| 128 | +`ggrepel` that might change in the future. We thank Kamil Slowikowski |
| 129 | +for letting us use his code and would like to acknowledge his |
| 130 | +implementation of the label overlap avoidance used in metacoder. |
| 131 | + |
| 132 | +## Feedback and contributions |
| 133 | + |
| 134 | +We would like to hear about users’ thoughts on the package and any |
| 135 | +errors they run into. Please report errors, questions or suggestions on |
| 136 | +the [issues](https://github.com/grunwaldlab/metacoder/issues) tab of the |
| 137 | +Metacoder [Github site](https://github.com/grunwaldlab). We also welcome |
| 138 | +contributions via a Github [pull |
| 139 | +request](https://help.github.com/articles/using-pull-requests/). You can |
| 140 | +also talk with us using our [Google |
| 141 | +groups](https://groups.google.com/forum/#!forum/metacoder-discussions) |
| 142 | +site. |
0 commit comments