Description Usage Arguments Details Creating Objects Slots Methods Author(s) References See Also Examples
Implements the smooth ttest for differential expression as developed by Baggerly and Coombes.
1 2 3 4 5 6 7 8 9  SmoothTtest(stats, aname='Group One', bname='Group Two',
name=paste(aname, 'vs.', bname))
## S4 method for signature 'SmoothTtest'
as.data.frame(x, row.names=NULL, optional=FALSE)
## S4 method for signature 'SmoothTtest'
summary(object, ...)
## S4 method for signature 'SmoothTtest,missing'
plot(x, folddiff=3, goodflag=2, badch=4, ccl=0,
name=x@name, pch='.', xlab='log intensity', ylab='log ratio', ...)

stats 
object of class 
aname 
character string specifying the name of the first group 
bname 
character string specifying the name of the second group 
name 
character string specifying the name of this object 
object 
object of class 
x 
object of class 
row.names 
See the base version of 
optional 
See the base version of 
folddiff 
numeric scalar specifying the level of fold difference considered large enough to be indicated in the plots 
goodflag 
numeric scalar specifying the level (in standard deviation units) of the smooth tstatistic considered large enough to be indicated in the plot 
badch 
numeric scalar specifying the level of variability in single
groups considered large enough to be worrisome. See the 
ccl 
list containing objects of class

pch 
default plotting character 
xlab 
character string specifying label for the x axis 
ylab 
character string specifying label for the y axis 
... 
extra arguments for generic or plotting routines 
In 2001 and 2002, Baggerly and Coombes developed the smooth ttest for
finding differentially expressed genes in microarray data. Along with
many others, they began by logtransforming the data as a reasonable
step in the direction of variance stabilization. They observed,
however, that the genebygene standard deviations still seemed to
vary in a systematic way as a function of the mean log intensity. By
borrowing strength across genes and using loess
to fit
the observed standard deviations as a function of the mean, one
presumably got a better estimate of the true standard deviation.
These smooth estimates are computed for each of two groups of samples being compared. They are then combined (genebygene using the usual univariate formulas) to compute pooled "smooth" estimates of the standard deviation. These smooth estimates are then used in genebygene ttests.
The interesting question then arises of how to compute and interpret
pvalues associated to these individual tests. The liberal
argument asserts that, because smoothing uses data from hundreds
of measurements to estimate the standard deviation, it can effectively
be treated as "known" in the ttests, which should thus be compared
against the normal distribution. A conservative argument claims
that the null distribution should still be the tdistribution with the
degrees of freedom determined in the usual way by the number of
samples. The truth probably lies somewhere in between, and is
probably best approximated by some kind of permutation test. In this
implementation, we take the coward's way out and don't provide any of
those alternatives. You have to extract the tstatistics (from the
smooth.t.statistics
slot of the object) and compute your own
pvalues in your favorite way. If you base the computations on a
theoretical model rather than a permutation test, then the
Bum
class provides a convenient way to account for
multiple testing.
In practice, users will first use a data frame and a classification
vector (or an ExpressionSet
) to construct an object of the
TwoGroupStats
object. This object can then be handed
directly to the SmoothTtest
function to perform the smooth
ttest.
one
:object of class SingleGroup
representing a
loess smooth of standard deviation as a function of the mean in the
first group of samples
two
:object of class SingleGroup
representing a
loess smooth of standard deviation as a function of the mean in the
second group of samples
smooth.t.statistics
:numeric vector containing the smooth tstatistics
fit
:data.frame with two columns, x
and y
,
containing the smooth estimates of the pooled standard deviation
dif
:numeric vector of the differences in mean values between the two groups
avg
:numeric vector of the overall mean value
aname
:character string specifying the name of the first group
bname
:character string specifying the name of the second group
name
:character string specifying the name of this object
stats
:object of class TwoGroupStats
that was used
to create this object
Convert the object into a data frame suitable for printing or exporting.
Write out a summary of the object.
Create a
set of six plots. The first two plots are the QC plots from the
SingleGroup
objects representing the two groups of
samples. The third plot is a scatter plot comparing the means in
the two groups. The fourth plot is BlandAltman plot of the
overall mean against the difference in means (also known colloquially
as an MvsA plot). The fifth plot is a histogram of the smooth
tstatistics. The final plot is a scatter plot of the smooth
tstatistics as a function of the mean intensity.
Colors in the plots are controlled by the current values of
oompaColor$BORING
,
oompaColor$SIGNIFICANT
,
oompaColor$BAD.REPLICATE
,
oompaColor$WORST.REPLICATE
,
oompaColor$FOLD.DIFFERENCE
,
oompaColor$CENTRAL.LINE
, and
oompaColor$CONFIDENCE.CURVE
.
Kevin R. Coombes krc@silicovore.com
Baggerly KA, Coombes KR, Hess KR, Stivers DN, Abruzzo LV, Zhang W.
Identifying differentially expressed genes in cDNA microarray
experiments.
J Comp Biol. 8:639659, 2001.
Coombes KR, Highsmith WE, Krogmann TA, Baggerly KA, Stivers DN, Abruzzo LV.
Identifying and quantifying sources of variation in microarray data
using highdensity cDNA membrane arrays.
J Comp Biol. 9:655669, 2002.
Altman DG, Bland JM.
Measurement in Medicine: the Analysis of Method Comparison Studies.
The Statistician, 1983; 32: 307317.
Bum
,
MultiTtest
,
SingleGroup
,
TwoGroupStats
1 2 3 4 5 6 7 8 9 10 
Loading required package: oompaBase
Class "SmoothTtest" [package "ClassComparison"]
Slots:
Name: one two smooth.t.statistics
Class: SingleGroup SingleGroup numeric
Name: fit dif avg
Class: data.frame numeric numeric
Name: aname bname name
Class: character character character
Name: stats
Class: TwoGroupStats
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.