# Introduction

# Introduction to MiscMetabar: an R package to facilitate visualization and reproducibility in metabarcoding analysis

## Raison d’être

- Complete R packages dada2 and phyloseq
- Useful visualizations (`biplot_pq`, `circle_pq`, `upset_pq`, `ggvenn_pq`)
- Facilitate the use of targets package

## Quick overview

For an introduction to metabarcoding in R, Please visite the state of the field vignettes. The import, export and track vignette explains how import and export `phyloseq` object. Its also show how to summarize useful information (number of sequences, samples and clusters) accross bioinformatic pipelines.

If you are interested in ecological metrics, see the vignettes describing alpha-diversity and beta-diversity analysis. The vignette filter taxa and samples describes some data-filtering processes using MiscMetabar and the reclustering tutorial introduces the different way of clustering already-clustered OTU/ASV. The vignette tengeler explore the dataset from Tengeler et al. (2020) using some MiscMetabar functions.

For developers, I also wrote a vignette describing som rules of codes.

### Summarize a physeq object

    library("MiscMetabar")
    library("phyloseq")
    library("magrittr")
    data("data_fungi")
    summary_plot_pq(data_fungi)

### Create an interactive table of the tax_table

    data("GlobalPatterns", package = "phyloseq")
    tax_datatable(subset_taxa(
      GlobalPatterns,
      rowSums(GlobalPatterns@otu_table) > 100000
    ))

### Sankey diagram of the tax_table

    gp <- subset_taxa(GlobalPatterns, GlobalPatterns@tax_table[, 1] == "Archaea")
    sankey_pq(gp, taxa = c(1:5))

### Upset plot for visualize distribution of taxa in function of samples variables

    upset_pq(gp, "SampleType", taxa = "Class")

# References

Tengeler, A.C., Dam, S.A., Wiesmann, M. et al. Gut microbiota from persons with attention-deficit/hyperactivity disorder affects the brain in mice. Microbiome 8, 44 (2020). https://doi.org/10.1186/s40168-020-00816-x

# Session inform

    sessionInfo()
    #> R version 4.4.1 (2024-06-14)
    #> Platform: x86_64-pc-linux-gnu
    #> Running under: Debian GNU/Linux 12 (bookworm)
    #>
    #> Matrix products: default
    #> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.11.0
    #> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.11.0
    #>
    #> locale:
    #>  [1] LC_CTYPE=fr_FR.UTF-8       LC_NUMERIC=C
    #>  [3] LC_TIME=fr_FR.UTF-8        LC_COLLATE=C
    #>  [5] LC_MONETARY=fr_FR.UTF-8    LC_MESSAGES=fr_FR.UTF-8
    #>  [7] LC_PAPER=fr_FR.UTF-8       LC_NAME=C
    #>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
    #> [11] LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C
    #>
    #> time zone: Europe/Paris
    #> tzcode source: system (glibc)
    #>
    #> attached base packages:
    #> [1] stats     graphics  grDevices utils     datasets  methods   base
    #>
    #> other attached packages:
    #> [1] magrittr_2.0.3     MiscMetabar_0.10.1 purrr_1.0.2        dplyr_1.1.4
    #> [5] dada2_1.32.0       Rcpp_1.0.13        ggplot2_3.5.1      phyloseq_1.48.0
    #>
    #> loaded via a namespace (and not attached):
    #>   [1] bitops_1.0-9                deldir_2.0-4
    #>   [3] permute_0.9-7               rlang_1.1.4
    #>   [5] ade4_1.7-22                 matrixStats_1.4.1
    #>   [7] compiler_4.4.1              mgcv_1.9-1
    #>   [9] png_0.1-8                   vctrs_0.6.5
    #>  [11] reshape2_1.4.4              stringr_1.5.1
    #>  [13] pwalign_1.0.0               pkgconfig_2.0.3
    #>  [15] crayon_1.5.3                fastmap_1.2.0
    #>  [17] XVector_0.44.0              labeling_0.4.3
    #>  [19] utf8_1.2.4                  Rsamtools_2.20.0
    #>  [21] rmarkdown_2.28              UCSC.utils_1.0.0
    #>  [23] xfun_0.48                   zlibbioc_1.50.0
    #>  [25] cachem_1.1.0                GenomeInfoDb_1.40.1
    #>  [27] jsonlite_1.8.9              biomformat_1.32.0
    #>  [29] highr_0.11                  rhdf5filters_1.16.0
    #>  [31] DelayedArray_0.30.1         Rhdf5lib_1.26.0
    #>  [33] BiocParallel_1.38.0         jpeg_0.1-10
    #>  [35] parallel_4.4.1              cluster_2.1.6
    #>  [37] R6_2.5.1                    bslib_0.8.0
    #>  [39] stringi_1.8.4               RColorBrewer_1.1-3
    #>  [41] ComplexUpset_1.3.3          GenomicRanges_1.56.1
    #>  [43] jquerylib_0.1.4             SummarizedExperiment_1.34.0
    #>  [45] iterators_1.0.14            knitr_1.48
    #>  [47] IRanges_2.38.1              Matrix_1.7-0
    #>  [49] splines_4.4.1               igraph_2.0.3
    #>  [51] tidyselect_1.2.1            rstudioapi_0.16.0
    #>  [53] abind_1.4-8                 yaml_2.3.10
    #>  [55] vegan_2.6-8                 codetools_0.2-20
    #>  [57] hwriter_1.3.2.1             lattice_0.22-6
    #>  [59] tibble_3.2.1                plyr_1.8.9
    #>  [61] Biobase_2.64.0              withr_3.0.1
    #>  [63] ShortRead_1.62.0            evaluate_1.0.0
    #>  [65] survival_3.7-0              RcppParallel_5.1.9
    #>  [67] Biostrings_2.72.1           pillar_1.9.0
    #>  [69] MatrixGenerics_1.16.0       DT_0.33
    #>  [71] foreach_1.5.2               stats4_4.4.1
    #>  [73] generics_0.1.3              S4Vectors_0.42.1
    #>  [75] munsell_0.5.1               scales_1.3.0
    #>  [77] glue_1.8.0                  tools_4.4.1
    #>  [79] interp_1.1-6                data.table_1.16.0
    #>  [81] GenomicAlignments_1.40.0    rhdf5_2.48.0
    #>  [83] grid_4.4.1                  tidyr_1.3.1
    #>  [85] ape_5.8                     crosstalk_1.2.1
    #>  [87] latticeExtra_0.6-30         colorspace_2.1-1
    #>  [89] patchwork_1.3.0             networkD3_0.4
    #>  [91] nlme_3.1-166                GenomeInfoDbData_1.2.12
    #>  [93] cli_3.6.3                   fansi_1.0.6
    #>  [95] S4Arrays_1.4.1              gtable_0.3.5
    #>  [97] sass_0.4.9                  digest_0.6.37
    #>  [99] BiocGenerics_0.50.0         SparseArray_1.4.8
    #> [101] htmlwidgets_1.6.4           farver_2.1.2
    #> [103] htmltools_0.5.8.1           multtest_2.60.0
    #> [105] lifecycle_1.0.4             httr_1.4.7
    #> [107] MASS_7.3-61