Implements the "Total Number of Misclassifications" method for finding differentially expressed genes.
TNoM(data, classes, verbose=TRUE)
# S4 method for TNoM
summary(object, …)
# S4 method for TNoM
update(object, nPerm, verbose=FALSE, …)
# S4 method for TNoM
selectSignificant(object, cutoff, …)
# S4 method for TNoM
countSignificant(object, cutoff, …)
# S4 method for fullTNoM,missing
plot(x, y, …)
# S4 method for fullTNoM
hist(x, …)
Either a data frame or matrix with numeric values or an
ExpressionSet
as defined
in the BioConductor tools for analyzing microarray data.
If data
is a data frame or matrix, then classes
must be either a logical vector or a factor. If data
is an
ExpressionSet
, then classes
can be a character string that
names one of the factor columns in the associated
phenoData
subobject.
logical scalar. If TRUE
, print out intermediate results
object of class TNoM
integer scalar specifying the number of permutations to perform
integer scalar
object of class fullTNoM
Nothing, since it is supposed to be missing. Changes to the Rd processor require documenting the missing entry.
extra arguments to generic or plotting routines
summary
returns a TNoMSummary
object.
update
returns a fullTNoM
object.
selectSignificant
returns a vector of logical values.
countSignificant
returns an integer.
Although objects of the class can be created by a direct call to
new, the preferred method is to use the
TNoM
generator. The inputs to this function are the same as those
used for row-by-row statistical tests throughout the ClassComparison
package; a detailed description can be found in the MultiTtest
class.
Objects of the TNoM
class have the following slots:
data
:The data matrix used to construct the object
tnomData
:numeric vector, whose length is the number
of rows in data
, recording the minimum number of
misclassification achieved using this data row.
nCol
:The number of columns in data
nRow
:The number of rows in data
classifier
:The classification vector used to create the object.
call
:The function call
that created the object
Objects of the fullTNoM
class have the following slots:
dex
:Numeric vector of the different possible numbers of misclassifications
fakir
:Numeric vector of expected values based on simulations
obs
:Numeric vector of observed values
scr
:Numeric vector of values based on a permutation test
name
:A character string with a name for the object
Objects of the TNoM
class have the following methods:
Write out a summary of the object, including the number of genes achieving each possible number of misclassifications.
Count the number of
significant genes at the given cutoff
.
Get a vector for
selecting the number of significant genes at the given
cutoff
.
Perform
simulation and permutation tests on the TNoM
object.
Objects of the fullTNoM
class have the following methods:
Plot a summary of the TNoM object. This consists
of three curves: the observed cumulative number of genes at each
misclassification level, along with the corresponding numbers
expected based on simulations or permutation tests.
The colors of the curves are controlled by the values of
oompaColor$OBSERVED
,
oompaColor$EXPECTED
, and
oompaColor$PERMTEST
Plot a not terribly useful nor informative histogram of the results.
The TNoM method was developed by Yakhini and Ben-Dor and first applied in the melanoma microarray study by Bittner and colleagues (see references). The goal of the method is to detect genes that are differentially expressed between two groups of samples. The idea is that each gene serves as a potential classifier to distinguish the two groups. One starts by determining an optimal cutoff on the expression of each gene and counting the number of misclassifications that gene makes. Next, we bin genes based on the total number of misclassifications. This distribution can be compared with the expected value (by simulating normal data sets of the same size). Alternatively, one can estimate the null distribution directly by scrambling the sample labels to perform a permutation test.
The TNoM
constructor computes the optimal cutoffs and the
misclassification rates. The update
method performs the
simulations and permutation tests, producing an object of the
fullTNoM
class.
Bittner M, Meltzer P, Chen Y, Jiang Y, Seftor E, Hendrix M, Radmacher M, Simon R, Yakhini Z, Ben-Dor A, Sampas N, Dougherty E, Wang E, Marincola F, Gooden C, Lueders J, Glatfelter A, Pollock P, Carpten J, Gillanders E, Leja D, Dietrich K, Beaudry C, Berens M, Alberts D, Sondak V. Molecular classification of cutaneous malignant melanoma by gene expression profiling. Nature. 2000 Aug 3;406(6795):536-40.
# NOT RUN {
showClass("TNoM")
showClass("fullTNoM")
n.genes <- 200
n.samples <- 10
bogus <- matrix(rnorm(n.samples*n.genes, 0, 3), ncol=n.samples)
splitter <- rep(FALSE, n.samples)
splitter[sample(1:n.samples, trunc(n.samples/2))] <- TRUE
tn <- TNoM(bogus, splitter)
summary(tn)
tnf <- update(tn)
plot(tnf)
hist(tnf)
# }
Run the code above in your browser using DataLab