filter.features.Rd
This function performs unsupervised feature filtering.
filter.features(siamcat, filter.method = "abundance",
cutoff = 0.001, rm.unmapped = TRUE, feature.type='original', verbose = 1)
an object of class siamcat-class
string, method used for filtering the features, can be
one of these: c('abundance', 'cum.abundance', 'prevalence',
'variance', 'pass')
, defaults to 'abundance'
float, abundace, prevalence, or variance cutoff, defaults
to 0.001
(see Details below)
boolean, should unmapped reads be discarded?, defaults to
TRUE
string, 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!
integer, 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
siamcat an object of class siamcat-class
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. those 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. those that are undetected (relative abundance of 0)
in more than 1 - cutoff
percent of samples.
'variance'
- remove features with low variance across
samples, i.e. those that have a variance lower than cutoff
'pass'
- pass-through filtering will not change the
features
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.
# Example dataset
data(siamcat_example)
# Simple examples
siamcat_filtered <- filter.features(siamcat_example,
filter.method='abundance',
cutoff=1e-03)
#> Features successfully filtered
# 5% prevalence filtering
siamcat_filtered <- filter.features(siamcat_example,
filter.method='prevalence',
cutoff=0.05)
#> Features successfully filtered
# filter first for abundance and then for prevalence
siamcat_filt <- filter.features(siamcat_example,
filter.method='abundance', cutoff=1e-03)
#> Features successfully filtered
siamcat_filt <- filter.features(siamcat_filt, filter.method='prevalence',
cutoff=0.05, feature.type='filtered')
#> Features successfully filtered