knitr::opts_chunk$set( collapse = TRUE, comment = "#>", message = FALSE )
library(MiscMetabar) data(data_fungi)
data_fungi_woNA4height <- subset_samples(data_fungi, !is.na(data_fungi@sam_data$Height)) res_ado <- adonis_pq(data_fungi_woNA4height, "Tree_name+Height") knitr::kable(res_ado)
data_fungi_woNA4height <- subset_samples(data_fungi, !is.na(data_fungi@sam_data$Height)) graph_test_pq(data_fungi_woNA4height, "Height")
circle_pq(data_fungi_woNA4height, "Height")
data_fungi_low_high <- subset_samples( data_fungi, data_fungi@sam_data$Height %in% c("Low", "High") ) data_fungi_low_high <- subset_taxa_pq( data_fungi_low_high, taxa_sums(data_fungi_low_high) > 5000 ) biplot_pq(data_fungi_low_high, fact = "Height", merge_sample_by = "Height")
compare_pairs_pq(data_fungi_low_high, bifactor = "Height", merge_sample_by = "Height", modality = "Time" )
library("grid") venn_pq(data_fungi, fact = "Height")
ggvenn_pq(data_fungi, fact = "Height") + ggplot2::scale_fill_distiller(palette = "BuPu", direction = 1) + labs(title = "Share number of ASV among Height in tree")
ggvenn_pq(data_fungi, fact = "Height", min_nb_seq = 5000) + ggplot2::scale_fill_distiller(palette = "BuPu", direction = 1) + labs(title = "Share number of ASV with more than 5000 seqs")
ggvenn_pq(data_fungi, fact = "Height", taxonomic_rank = "Genus", min_nb_seq = 100 ) + ggplot2::scale_fill_distiller(palette = "BuPu", direction = 1) + labs(title = "Share number of Genus represented by at least one ASV with more than 100 seqs")
Venn diagram can quickly become complex to read when the number of modalities increase. One graphical solution is upset plot. MiscMetabar propose a solution based on the package ComplexUpset.
upset_pq(data_fungi, fact = "Height")
upset_pq(data_fungi, fact = "Time")
ComplexUpset
package allow powerful configuration of you plot as you can see in the following figure.
upset_pq( data_fungi, fact = "Time", width_ratio = 0.2, annotations = list( "Sequences per ASV \n (log10)" = ( ggplot(mapping = aes(y = log10(Abundance))) + geom_jitter(aes( color = Abundance ), na.rm = TRUE) + geom_violin(alpha = 0.5, na.rm = TRUE) + theme(legend.key.size = unit(0.2, "cm")) + theme(axis.text = element_text(size = 12)) ), "ASV per phylum" = ( ggplot(mapping = aes(fill = Phylum)) + geom_bar() + ylab("ASV per phylum") + theme(legend.key.size = unit(0.2, "cm")) + theme(axis.text = element_text(size = 12)) ) ) )
There is a lot of available methods. Please refer to R package benchdamic for a list of method and a implementation of a benchmark for your data.
sudo apt-get install libgsl-dev libmpfr-dev
data("GlobalPatterns", package = "phyloseq") GP <- subset_samples( GlobalPatterns, GlobalPatterns@sam_data$SampleType %in% c("Soil", "Skin") ) plot_deseq2_pq(GP, c("SampleType", "Soil", "Skin"), pval = 0.001)
sessionInfo()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.