Object Oriented Microarray Library: Single Group

The single group module provides the definition of the single group class, in addition to a pair of auxiliary functions. See the bottom of the page for an example of how the class can be used.

Class Name: single.group

Attributes

name
A character string naming this object.
avg
A vector, usually thought of as the average (log) expression of genes in some group of replicate microarray experiments.
sd
A vector, usually thought of as the standard deviations of the (log) expressions of genes.
fit
A list containing x and y components, representing a smoothed fit of sd as a function of avg.
score
A vector of scores, where a score writes the values of sd as multiples of the fitted values fit$y.

Methods

single.group(avg, sd, name)
This is the constructor. The first two arguments are required; they must be vectors of the same length; and they are simply stored as part of the object. The name is optional; it defaults to the empty string.
summary(object, ...)
Write our a summary of the object.
print(object, ...)
Print all the information from the object.
scored.coding(object, multiple, span)
This method produces a list of objects of class color.coding. The multiple argument is required; all points whose scores exceed the multiple are colored the bad.channel.replicate.color. All colors whose score exceeds the span times the multiple are colored the worst.channel.replicate.color. The span defaults to the arbitrarily chosen value of 1.6.
plot(object, multiple, ccl, main,...)
Produces a color-coded graph of the object. This is a scatter plot of sd against avg, along with a plot of a given multiple of the smoothly fitted curve. Only the first argument is required. The multiple argument defaults to the value 3, the color code list (ccl) defaults to the values given by the scored.coding method, and the main argument defaults to the name property of the object.
as.data.frame(object)
Bundle all the information from the object into a data frame.

Description

An object of the single.group class represents the results of our basic analysis applied to a single group of replicate gene expression values. It is constructed from the gene-by-gene vector of means (avg) and the corresponding gene-by-gene vector of standard deviations (sd). These are fit by a smoothing routine, with the result returned as the attribute fit. We also return a score vector, which measures how much the gene-by-gene standard deviations differ from the smoothed values. (These scores are multiplicative; ie, a score of 2 means that the gene-at-a-time value is twice as large as the smoothed value.)

Auxiliary Functions

f.smu(a, b)
This fits a loess smooth to b as function of a. The smooth is truncated below by setting a lower bound on the smoothed values; this avoids problems in the application to microarrays resulting from the small variability of thresholded values.
f.compute.score(a, d, z)
This is the companion function to the smoother. There is a dangerous assumption built-in; namely, that the first argument, a, passed into this function is the same as the first argument to f.smu, and that the last argument, z is the smooth fit produced by the smoother. We can be certain that this is the case in the application where we have used them inside the code for the single.group objects. With that warning in mind, we can claim that this function returns a vector of scores that express the values of the dependent variable d as multiples of the fitted values.

Example

  x <- rnorm(1000, 8, 3)
  y <- rlnorm(1000, 1, 1/2)
  z <- single.group(x, y, name='random')
  summary(z)
  plot(z, main='whoop')

If you also load the two-group statistics package, then the following example will work.

  bogus <- matrix(rnorm(30*1000, 8, 3), ncol=30, nrow=1000)
  splitter <- rep(F, 30)
  splitter[16:30] <- T
  w <- two.group.stats(bogus, splitter)
  w1 <- single.group(w$mean1, sqrt(w$var1), name='more random')
  plot(w1, ylim=c(0,5))