A filter to select genes based on there being a gap.
The gapFilter
looks for genes that might usefully discriminate
between two groups (possibly unknown at the time of filtering).
To do this we look for a gap in the ordered expression values. The gap
must come in the central portion (we exclude jumps in the initial
Prop
values or the final Prop
values).
Alternatively, if the IQR for the gene is large that will also pass
our test and the gene will be selected.
gapFilter(Gap, IQR, Prop, na.rm=TRUE, neg.rm=TRUE)
Gap |
The size of the gap required to pass the test. |
IQR |
The size of the IQR required to pass the test. |
Prop |
The proportion (or number) of samples to exclude at either end. |
na.rm |
If |
neg.rm |
If |
As stated above we are interested in
A function that returns either TRUE
or FALSE
depending on
whether the vector supplied has a gap larger than Gap
or an IQR
(inter quartile range) larger than IQR
. For computing the gap we
want to exclude a proportion, Prop
from either end of the sorted
values. The reason for this requirement is that genes which differ in
expression levels only for a few samples are not likely to be interesting.
R. Gentleman
set.seed(256) x <- c(rnorm(10,100,3), rnorm(10, 100, 10)) y <- x + c(rep(0,10), rep(100,10)) tmp <- rbind(x,y) Gfilter <- gapFilter(200, 100, 5) ffun <- filterfun(Gfilter) genefilter(tmp, ffun)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.