filter.features {SIAMCAT} | R Documentation

## Perform unsupervised feature filtering.

### Description

This function performs unsupervised feature filtering. Features can be filtered based on abundance or prevalence. Additionally, unmapped reads may be removed.

### Usage

    filter.features(siamcat, filter.method = "abundance",
        cutoff = 0.001, rm.unmapped = TRUE,
        feature.type='original', verbose = 1)

### Arguments

`siamcat` | an object of class siamcat-class
`filter.method` | method used for filtering the features, can be one of these: `c('abundance', 'cum.abundance', 'prevalence')`, defaults to `'abundance'`
`cutoff` | float, abundace or prevalence cutoff, default to `0.001`
`rm.unmapped` | boolean, should unmapped reads be discarded?, defaults to `TRUE`
`feature.type` | On which type of features should the function work? Can be either "original", "filtered", or "normalized". Please only change this paramter if you know what you are doing!
`verbose` | control output: `0` for no output at all, `1` for only information about progress and success, `2` for normal level of information and `3` for full debug information, defaults to `1`

### Details

This function filters the features in a siamcat-class object in a unsupervised manner.

The different filter methods work in the following way:

- `'abundace'` remove features whose maximum abundance is never above the threshold value in any of the samples

- `'cum.abundance'` remove features with very low abundance in all samples i.e. ones that are never among the most abundant entities that collectively make up (1-cutoff) of the reads in any sample

- `'prevalence'` remove features with low prevalence across samples i.e. ones that are 0 (undetected) in more than (1-cutoff) proportion of samples.

Features can also be filtered repeatedly with different methods, e.g. first using the maximum abundance filtering and then using prevalence filtering. However, if a filtering method has already been applied to the dataset, SIAMCAT will default back on the original features for filtering.

### Value

siamcat an object of class siamcat-class

### Examples

        # Example dataset
        data(siamcat_example)

    # Simple examples
    siamcat_filtered <- filter.features(siamcat_example,
        filter.method='abundance',
        cutoff=1e-03)

[Package SIAMCAT version 1.2.1 Index]