filter_taxa {phyloseq} | R Documentation

## Filter taxa based on across-sample OTU abundance criteria

### Description

This function is directly analogous to the `genefilter` function for microarray filtering, but is used for filtering OTUs from phyloseq objects. It applies an arbitrary set of functions — as a function list, for instance, created by `filterfun` — as across-sample criteria, one OTU at a time. It takes as input a phyloseq object, and returns a logical vector indicating whether or not each OTU passed the criteria. Alternatively, if the `"prune"` option is set to `FALSE`, it returns the already-trimmed version of the phyloseq object.

### Usage

    filter_taxa(physeq, flist, prune=FALSE)

### Arguments

`physeq` | (Required). A `phyloseq-class` object that you want to trim/filter.
`flist` | (Required). A function or list of functions that take a vector of abundance values and return a logical. Some canned useful function types are included in the `genefilter`-package.
`prune` | (Optional). A logical. Default `FALSE`. If `TRUE`, then the function returns the pruned `phyloseq-class` object, rather than the logical vector of taxa that passed the filter.

### Value

A logical vector equal to the number of taxa in `physeq`. This can be provided directly to `prune_taxa` as first argument. Alternatively, if `prune==TRUE`, the pruned `phyloseq-class` object is returned instead.

### See Also

`filterfun`, `genefilter_sample`, `filterfun_sample`

### Examples

     data("enterotype")
     require("genefilter")
     flist    <- filterfun(kOverA(5, 2e-05))
     ent.logi <- filter_taxa(enterotype, flist)
     ent.trim <- filter_taxa(enterotype, flist, TRUE)
     identical(ent.trim, prune_taxa(ent.logi, enterotype))
     identical(sum(ent.logi), ntaxa(ent.trim))
     filter_taxa(enterotype, flist, TRUE)

[Package phyloseq version 1.24.2 Index]