Description Usage Arguments Value Examples
Extracts counts, metadata, taxonomy, and phylogeny from a biom file.
1 |
src |
Input data as either a file path, URL, or JSON string.
|
tree |
The default value of |
prune |
Should samples and taxa with zero observations be discarded? |
A BIOM
class object containing the parsed data. This object
can be treated as a list with the following named elements:
A numeric slam
sparse matrix of observation
counts. Taxa (OTUs) as rows and samples as columns.
A data frame containing any embedded metadata. Row names are sample IDs.
Character matrix of taxonomic names, if given. Row names are taxa (OTU) IDs. Column rows are named Kingdom, Phylum, Class, Order, Family, Genus, Species, and Strain, or TaxLvl.1, TaxLvl.2, ... , TaxLvl.N when more than 8 levels of taxonomy are encoded in the biom file.
An object of class phylo
defining the
phylogenetic relationships between the taxa. Although the
official specification for BIOM only includes phylogenetic trees
in BIOM version 2.1, if a BIOM version 1.0 file includes a
phylogeny
entry with newick data, then it will be loaded
here as well. The ape package has additional functions
for working with phylo
objects.
A named character vector, where the names are taxonomic identifiers and the values are the sequences they represent. These values are not part of the official BIOM specification, but will be read and written when defined.
A list of other attributes defined in the BIOM file,
such as id
, type
, format
, format_url
,
generated_by
, date
, matrix_type
,
matrix_element_type
, Comment
, and shape
metadata
, taxonomy
, and phylogeny
are optional
components of the BIOM file specification and therefore will be empty
in the returned object when they are not provided by the BIOM file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | library(rbiom)
infile <- system.file("extdata", "hmp50.bz2", package = "rbiom")
biom <- read.biom(infile)
summary(biom)
# Taxa Abundances
as.matrix(biom$counts[1:4,1:4])
top5 <- names(head(rev(sort(slam::row_sums(biom$counts))), 5))
biom$taxonomy[top5,c('Family', 'Genus')]
as.matrix(biom$counts[top5, 1:6])
# Metadata
table(biom$metadata$Sex, biom$metadata$`Body Site`)
sprintf("Mean age: %.1f", mean(biom$metadata$Age))
# Phylogenetic tree
tree <- biom$phylogeny
top5.tree <- rbiom::subtree(tree, top5)
ape::plot.phylo(top5.tree)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.