Learn R Programming

apmsWAPP (version 1.0)

varFilter: Filtering of AP-MS data

Description

The filter consists of a biological filter and a statistical variance filter and aims to remove obvious contaminants in AP-MS data.

Usage

varFilter(mat, baittab, func = c("IQR", "overallVar", "noVar"), var.cutoff = NA, limit = 0)

Arguments

mat
matrix of spectral counts, proteins in rows and samples in columns.
baittab
a data.frame. The baittable as required for SAINT, classifying control and bait samples.
func
method to use for filtering, must be one of "IQR", "overallVar" or "noVar".
var.cutoff
percentile (between 0 and 1) or NA. Cutoff for filtering the data, defined by a quantile or shortest-interval (=NA, Default).
limit
minimal number of expected true interaction proteins in the data.

Value

filtered matrix of spectral counts

Details

If filter.method="noVar", only the biological filter is conducted. The biological and statistical filter are applied, if filter.method="IQR", here the variance is calculated by the inter-quartile-range, or if filter.method="overallVar", here the variance is calculated across all samples.

The var.cutoff defines the fraction of proteins with the lowest overall variance, which are considered as contaminants and are removed. var.cutoff=NA refers to a cutoff defined by the mean of the shortest intervall containing 50% of the data (default). Alternatively, a quantile can be set as cutoff, e.g. a cutoff of 0.5 filters 50% of the data showing the smallest overall variance or IQR.

The parameter limit assures, that filtering results in a number of proteins above the number of expected true interaction proteins. It is recommended to set the parameters var.cutoff and limit according to biological knowledge, if available.

References

Bourgon R, Gentleman R, Huber W. Independent filtering increases detection power for high-throughput experiments. Proceedings of the National Academy of Sciences 2010.

See Also

shorth

Examples

Run this code
#input data
intfile <- system.file("extdata", "inttable.txt", package="apmsWAPP")
counts <- int2mat(read.table(intfile))
baitfile <- system.file("extdata", "baittab.txt", package="apmsWAPP")
baittab <- read.table(baitfile)
dim(counts)
# Filtering:
counts.filtered <- varFilter(counts, baittab, func = "overallVar", 
                             var.cutoff = 0.3, limit = 0)
dim(counts.filtered)

Run the code above in your browser using DataLab