Skip to contents

This package is a toolkit for working with Biological Observation Matrix (BIOM) files. Features include reading/writing all ‘BIOM’ formats, rarefaction, alpha diversity, beta diversity (including ‘UniFrac’), summarizing counts by taxonomic level, subsetting, visualizations, and statistical analysis. All CPU intensive operations are written in C.

Reference material is available online at https://cmmr.github.io/rbiom/index.html

Source code can be found at https://github.com/cmmr/rbiom

Installation

The latest stable version can be installed from CRAN.

install.packages("rbiom", dependencies=TRUE)

The development version is available on GitHub.

install.packages("remotes")
remotes::install_github("cmmr/rbiom", dependencies=TRUE)

Usage

Import and rarefy abundance counts.

library(rbiom)

infile <- system.file(package = "rbiom", "extdata", "hmp50.bz2")
biom   <- rarefy(infile)

Explore associations with metadata.

bdiv_ord_plot(biom, stat.by = "Body Site", facet.by = "Sex")

adiv_boxplot(biom, x = "Sex", adiv = c("otu", "shan"), stat.by = "Body Site")

taxa_corrplot(biom, x = "Age", layers = "ptc", taxa = 2, stat.by = "bod")

Summarize counts by taxonomic rank.

taxa_heatmap(biom, taxa = 30, tracks = c("body", "age"))

taxa_stacked(biom, rank = "Phylum")

taxa_table(biom, 'Phylum')
#> # A tibble: 294 × 8
#>    .rank  .sample .taxa          .abundance   Age   BMI `Body Site`   Sex   
#>    <fct>  <chr>   <fct>               <dbl> <dbl> <dbl> <fct>         <fct> 
#>  1 Phylum HMP01   Firmicutes            854    22    20 Buccal mucosa Female
#>  2 Phylum HMP01   Bacteroidetes         192    22    20 Buccal mucosa Female
#>  3 Phylum HMP01   Actinobacteria         13    22    20 Buccal mucosa Female
#>  4 Phylum HMP01   Proteobacteria         74    22    20 Buccal mucosa Female
#>  5 Phylum HMP01   Fusobacteria           37    22    20 Buccal mucosa Female
#>  6 Phylum HMP01   Tenericutes             0    22    20 Buccal mucosa Female
#>  7 Phylum HMP02   Firmicutes            808    24    23 Buccal mucosa Male  
#>  8 Phylum HMP02   Bacteroidetes         186    24    23 Buccal mucosa Male  
#>  9 Phylum HMP02   Actinobacteria         53    24    23 Buccal mucosa Male  
#> 10 Phylum HMP02   Proteobacteria         97    24    23 Buccal mucosa Male  
#> # ℹ 284 more rows

Parallel Processing

Computation of beta diversity metrics (UniFrac, Bray-Curtis, etc) will use all available CPU cores by default. To limit the number of cores used, you can set the numThreads option:

RcppParallel::setThreadOptions(numThreads = 4)

Building from source

rbiom requires the following system libraries which can be installed through your operating system’s package manager.

  • deb (Debian, Ubuntu): libudunits2-dev libssl-dev libxml2-dev libcurl4-openssl-dev libgdal-dev
  • rpm (Fedora, CentOS, RHEL): udunits2-devel openssl-devel libxml2-devel libcurl-devel gdal-devel
  • csw (Solaris): libssl_dev openssl@1.1 libxml2_dev gdal_dev
  • brew (OSX): udunits