| Version: | 3.2.10 |
| Date: | 2025-04-03 |
| Title: | Class Unions, Matrix Operations, and Color Schemes for OOMPA |
| Depends: | R (≥ 4.4) |
| Imports: | methods, graphics, grDevices, stats, cluster |
| Description: | Provides the class unions that must be preloaded in order for the basic tools in the OOMPA (Object-Oriented Microarray and Proteomics Analysis) project to be defined and loaded. It also includes vectorized operations for row-by-row means, variances, and t-tests. Finally, it provides new color schemes. Details on the packages in the OOMPA project can be found at http://oompa.r-forge.r-project.org/. |
| License: | Apache License (== 2.0) |
| LazyLoad: | yes |
| biocViews: | Infrastructure |
| URL: | http://oompa.r-forge.r-project.org/ |
| NeedsCompilation: | no |
| Packaged: | 2025-04-03 12:03:20 UTC; kevin |
| Author: | Kevin R. Coombes [aut, cre] |
| Maintainer: | Kevin R. Coombes <krc@silicovore.com> |
| Repository: | CRAN |
| Date/Publication: | 2025-04-03 13:30:02 UTC |
Class "ColorCodedPair"
Description
This class represents a vector of (x,y) pairs, each of which should be plotted in a specific color with a specific symbol.
Usage
ColorCodedPair(x, y, ccl)
## S4 method for signature 'ColorCodedPair,missing'
plot(x, y, ...)
Arguments
x |
numeric vector (for |
y |
numeric vector |
ccl |
list of |
... |
additional arguments are as in the underlying generic methods. |
Details
It is often necessary with microarray data to produce multiple plots,
where each point on the plot corresponds to a gene or a spot on the
microarray. Across multiple plots, we often want to use symbols or colors
to mark subsets of he genes with certain properties. The
ColorCodedPair class works in tandem with the
ColorCoding class to make it easier to maintain consistent
plotting conventions across multiple graphs.
Value
The constructor returns a valid ColorCodedPair object.
The plot method invisibly returns the object being plotted.
Slots
xnumeric vector
ynumeric vector
colorCodingListlist of
ColorCodingobjects
Methods
- plot(object, ...)
Plot the
ColorCodedPairobject, with appropriate colors and symbols (of course).
Author(s)
Kevin R. Coombes krc@silicovore.com, P. Roebuck proebuck@mdanderson.org
See Also
Examples
showClass("ColorCodedPair")
theta <- (0:360)*pi/180
x <- cos(theta)
y <- sin(theta)
xp <- x > 0
yp <- y > 0
colors <- list(ColorCoding(xp&yp, oompaColor$EXPECTED),
ColorCoding(xp&!yp, oompaColor$OBSERVED),
ColorCoding(!xp&yp, oompaColor$PERMTEST),
ColorCoding(!xp&!yp, oompaColor$FITTED))
plot(ColorCodedPair(x, y, colors))
plot(ColorCodedPair(theta, x, colors))
plot(ColorCodedPair(theta, y, colors),
xlab='angle in radians', ylab='sine', main='colored sine')
Class "ColorCoding"
Description
A class for associating plotting symbols and colors with a logical vector or with levels of a factor.
Usage
ColorCoding(v, color, mark = 1)
colorCode(fac, colorScheme = 1:length(levels(fac)), mark = 1)
Arguments
v |
a logical vector |
color |
a string or integer representing a color |
mark |
an integer representing a plotting symbol, or list of
plotting symbols that should be associated with levels of the factor
|
fac |
A factor |
colorScheme |
A list of colors that should be associated with
levels of the factor |
Details
It is often necessary with microarray data to produce multiple plots,
where each point on the plot corresponds to a gene or a spot on the
microarray. Across multiple plots, we often want to use symbols or
colors to mark subsets of he genes with certain properties. The
ColorCoding class works in tandem with the
ColorCodedPair class to make it easier to maintain
consistent plotting conventions across multiple graphs.
Value
The constructor returns a valid object of the ColorCoding
class.
The colorCode function provides a simple interface to associate
colors and symbols with the levels of a factor. It returns a list of
valid ColorCoding objects that can be passed directly to the
constructor of a ColorCodedPair object.
Objects from the Class
Although objects can be created using new, the preferred method
is to use the constructor function, ColorCoding. To create a
set of colors and symbols associated with different levels of a
factor, use the colorCode function.
Slots
va logical vector
colora string or integer representing a color
markan integer representing a plotting symbol
Methods
There are no specialized methods for objects of this class; all activities can be performed by directly accessing the documented slots.
Author(s)
Kevin R. Coombes krc@silicovore.com, P. Roebuck proebuck@mdanderson.org
See Also
Examples
showClass("ColorCoding")
theta <- (0:360)*pi/180
x <- cos(theta)
y <- sin(theta)
xp <- x > 0
yp <- y > 0
colors <- list(ColorCoding(xp&yp, oompaColor$BORING),
ColorCoding(xp&!yp, oompaColor$TOP.TEN),
ColorCoding(!xp&yp, oompaColor$BOTTOM.TEN),
ColorCoding(!xp&!yp, oompaColor$CONFIDENCE.CURVE))
plot(ColorCodedPair(x, y, colors))
plot(ColorCodedPair(theta, x, colors))
plot(ColorCodedPair(theta, y, colors),
xlab='angle in radians', ylab='sine', main='colored sine')
fac <- factor(rep(c('left', 'right'), c(180, 181)))
colors <- colorCode(fac, c('blue', 'red'))
plot(ColorCodedPair(x, y, colors))
## cleanup
rm(x, y, xp, yp, theta, colors, fac)
colorList <- c(oompaColor$BORING, oompaColor$SIGNIFICANT,
oompaColor$EXPECTED, oompaColor$OBSERVED,
oompaColor$PERMTEST, oompaColor$FITTED,
oompaColor$CENTRAL.LINE, oompaColor$CONFIDENCE.CURVE,
oompaColor$BAD.REPLICATE, oompaColor$WORST.REPLICATE,
oompaColor$FOLD.DIFFERENCE, oompaColor$BAD.REPLICATE.RATIO,
oompaColor$TOP.TEN, oompaColor$BOTTOM.TEN,
oompaColor$TOP.TEN.SOLO, oompaColor$BOTTOM.TEN.SOLO
)
plot(c(1,4), c(1,4), type='n')
for (i in 1:4) {
for (j in 1:4) {
points(i,j, col=colorList[i + 4*(j-1)], pch=16, cex=4)
}
}
rm(colorList, i, j)
Color Schemes for Images and Heat Maps
Description
Create a vector of N contiguous colors.
Usage
redscale(N)
greenscale(N)
bluescale(N)
blueyellow(N)
cyanyellow(N)
redgreen(N)
jetColors(N)
grayscale(N)
greyscale(N)
wheel(N, sat = 1)
Arguments
N |
an integer; the number of distinct levels in the color map |
sat |
a real number between 0 and 1; the saturation amount |
Details
The color maps that ship with R (see, for example,
terrain.colors) do not include the most common color
maps used in publications in the microarray literature. This
collection of color maps expands the available options. The functions
redscale, greenscale, and bluescale each range
from pure black for low values to a pure primary color for high
values. The synonyms graysale and greysale range from
pure black to pure white.
The redgreen color map ranges from pure green at the low end,
through black in the middle, to pure red at the high end. Although
this is the most common color map used in the microarray literature,
it will prove problematic for individuals with red-green color-blindness.
The blueyellow color map ranges from pure blue at the low end,
through gray in the middle, to pure yellow at the high end.
The jetColors map tries to reproduce the default "jet" color map
from MATLAB.
The cyanyellow color map was added to provide a divergent map
that should be usable by the majority of individuals whose vision has
a color deficit. It ranges from cyan (a mixture of blue and green) at
the low to yellow (a mixture of red and green) at the high end. Since
the vast majority of color deficits arise because an individual lacks
cones for one of the three primary colors (red, green, or blue), this
colormap should stil provide adequate contrasts.
Value
A character vector 'cv' of color names. This can be used to
create a user-defined color palette for subsequent graphics by
'palette(cv)' or directly in a 'col=' specification in
'par' or in graphics functions such as 'image' or
'heatmap'.
BUGS
The names redgreen and blueyellow are inconsistent with
respect to which color represents low values and which color
represents high values. It is too late to fix this.
Author(s)
Kevin R. Coombes <krc@silicovore.com>
See Also
rainbow, topo.colors,
terrain.colors, heat.colors,
rgb, image,
heatmap, palette.
Examples
data <- matrix(1:1024, nrow=1024)
image(data, col=bluescale(64))
image(data, col=redgreen(32))
image(data, col=redscale(128))
image(data, col=blueyellow(64))
image(data, col=jetColors(64))
image(data, col=grayscale(64))
image(data, col=cyanyellow(64))
rm(data) # cleanup
Multiple T Tests by Matrix Multiplication
Description
Utility functions for computing vectors of row-by-row means, variances, and t-statistics.
Usage
matrixMean(x,na.rm=FALSE)
matrixVar(x, xmean, na.rm=FALSE)
matrixT(m, v, na.rm=FALSE)
matrixUnequalT(m, v)
matrixPairedT(m, v, pf)
Arguments
x |
a matrix |
xmean |
a numeric vector or single-column matrix |
m |
a matrix |
na.rm |
a logical value indicating whether means, variances, and t-statistics should be computed after omitting NA values from individual rows of the data matrix. |
v |
a logical vector of length equal to the number of columns of |
pf |
a numerical vector of length equal to the number of columns
of |
Value
matrixMean returns a single-column matrix containing the
row-by-row means of x.
matrixVar returns a single-column matrix containing the
row-by-row means of x, assuming that xmean contains the
corresponding mean values.
matrixT returns a single-column matrix of t-statistics from a
two-sample t-test comparing the columns for which v is true to
those for which v is false.
matrixPairedT returns a single-column matrix of t-statistics from a
paired t-test.
matrixUnequalT returns a list with two components: tt is
a single-column matrix of t-statistics from a two-sample unequal
variance t-test comparing the columns for which v is true to
those for which v is false, and df is a single-column
matrix of the degrees of freedom associated with each row..
Author(s)
Kevin R. Coombes <krc@silicovore.com>
Examples
ng <- 1000
ns <- 50
dat <- matrix(rnorm(ng*ns), ncol=ns)
clas <- factor(rep(c('Good', 'Bad'), each=25))
myMean <- matrixMean(dat)
myVar <- matrixVar(dat, myMean)
plot(myMean, myVar)
myT <- matrixT(dat, clas)
hist(myT)
rm(ng, ns, dat, myMean, myVar, myT)
Class "numeric or NULL"
Description
This class is a union that can represent either a numeric vector or a NULL value.
Objects from the Class
A virtual Class: No objects may be created from it.
Methods
No methods defined with class "numeric or NULL" in the signature.
Author(s)
Kevin R. Coombes <krc@silicovore.com>
Pre-defined colors for microarray plots
Description
A collection of predefined color names to help ensure consistency in multiple graphical displays of microarray data.
oompaColor:a list containing named components allowing the user to systematically use colors for different interpretations.
oompaColor$BORING:Used to mark uninteresting points in a plot; gray.
oompaColor$SIGNIFICANT:Used to mark points that are statistically significant; red
oompaColor$EXPECTED:Used to draw curves representing an expected distribution; blue
oompaColor$OBSERVED:Used to draw curves indicating the observed distribution; darkgreen
oompaColor$PERMTEST:Used to draw curves indicating distributions derived from a permutation test; magenta
oompaColor$FITTED:Used to draw curves obtained by some fitting procedure, such as loess; orange
oompaColor$CENTRAL.LINE:Used to draw lines through the centers of distributions or expected values; blue
oompaColor$CONFIDENCE.CURVE:Used to draw confidence bounds around curves; red3
oompaColor$BAD.REPLICATE:Used to indicate highly variable points; purple1
oompaColor$WORST.REPLICATE:Used to mark extraordinarily variable points; purple3
oompaColor$FOLD.DIFFERENCE:Used to indicate points with large fold difference; skyblue
oompaColor$BAD.REPLICATE.RATIO:Used to flag points for which the ratios at replicate spots are highly variable; violetred
oompaColor$TOP.TEN:Used to mark points in the "top ten" list; cadetblue
oompaColor$BOTTOM.TEN:Used to mark points in "bottom ten" list of most underexpressed genes; pink
oompaColor$BOTTOM.TEN.SOLO:Use unknown; palegreen
oompaColor$TOP.TEN.SOLO:Use unknown; deeppink
Examples
oompaColor
x <- seq(0, 2*pi, by=0.1)
plot(x, sin(x), col=oompaColor$BORING)