robustness
can be called as
robustness(normed.data, row.scores, col.scores)
isa.filter.robust
can be called as
isa.filter.robust(data, normed.data, isares,
perms = 1, row.seeds, col.seeds)
and ppa.filter.robust
can be called as
ppa.filter.robust(data, normed.data, ppares,
perms = 1, row1.seeds, col1.seeds,
row2.seeds, col2.seeds)
These arguments are:
- normed.data
- The normalized input data, usually calculated with
isa.normalize
(for ISA) or
ppa.normalize
(for PPA).
- row.scores
- The scores of the row components of the
biclusters. Usually the
rows
member of the result list, as
returned by isa
, or isa.iterate
or some
other ISA function.
- col.scores
- The scores of the columns of the biclusters, usually
the
columns
member of the result list from
isa
.
- data
- The original, not normalized input data.
- isares
- The result of ISA, coming from
isa
or
isa.iterate
or any other function that return the same
format.
- perms
- The number of permutations to perform on the input data.
- row.seeds
- Optionally the row seeds for the ISA run on the
scrambled data. If this and
col.seeds
are both omitted the
same number of random seeds are used as for isaresult
.
- col.seeds
- Optionally the column seed to use for the ISA on the
scrambled input matrix. If both this and
row.seeds
are
omitted, then the same number of random (row) seeds will be used as
for isares
.
- ppares
- The result of a PPA run, the output of the
ppa.iterate
or the ppa.unique
function (or any other function that returns the same format).
- row1.seeds
- Optionally, the seeds based of the rows of the
first input matrix, can be given here. Otherwise random seeds are
used, the same number as it was used to find the original
co-modules.
- col1.seeds
- Optionally, the seeds based of the columns of the
first input matrix, can be given here. Otherwise random seeds are
used, the same number as it was used to find the original
co-modules.
- row2.seeds
- Optionally, the seeds based of the rows of the
second input matrix, can be given here. Otherwise random seeds are
used, the same number as it was used to find the original
co-modules.
- col2.seeds
- Optionally, the seeds based of the columns of the
second input matrix, can be given here. Otherwise random seeds are
used, the same number as it was used to find the original
co-modules.
Even if you generate a matrix with uniform random noise in it, if you
calculate ISA on it, you will get some biclusters, except maybe if you
use very strict threshold parameters. These biclusters contain rows
and columns that are correlated just by chance. The same is true for
PPA.
To circumvent this, you can use the so-called robustness measure of
the biclusters/co-modules. The robustness of a bicluster is the
function of its rows, columns and the input data, and it is a real
number, usually positive. It is roughly equivalent to the principal
singular value of the submatrix (of the reordered input matrix)
defined by the bicluster.
robustness
calculates the robustness score of a set of
biclusters/co-modules, usually coming from one or more ISA/PPA
iterations.
isa.filter.robust
provides filtering based on the robustness
measure. It reshuffles the input matrix and calculates ISA on it, with
the parameters that were used to find the biclusters under
evaluation. It then calculates the robustness for the modules that
were found in the scrambled matrix (if there is any) and removes any
modules from the data set that have a lower robustness score than at
least one module in the scrambled data.
You can think of isa.filter.robust
as a permutation test, but
the input data is shuffled only once (at least by default), because of
the relatively high computational demands of the ISA.
ppa.filter.robust
does essentially the same, but for PPA
co-modules.