Learn R Programming

spotSegmentation (version 1.46.0)

spotseg: Microarray Spot Segmentation

Description

Microarray spot segmentation via model-based clustering.

Usage

spotseg(chan1, chan2, rowcut, colcut, R=NULL, C=NULL, threshold=100, hc=FALSE, show=FALSE)

Arguments

chan1
matrix of pixel intensities from the first channel.
chan2
matrix of pixel intensities from the second channel.
rowcut
row delimiters for the spots. Entries are the starting row location in the close of each spot, with the last entry being one pixel beyond the border of the last spot. For example, from the output of spotgrid.
colcut
column delimiters for the spots. Entries are the starting column location in the close of each spot, with the last entry being one pixel beyond the border of the last spot. For example, from the output of spotgrid.
R
rows over which the spots are to be segmented. The default is to segment spots in all rows.
C
columns over which the spots are to be segmented. The default is to segment spots in all columns.
threshold
connected components of size smaller than threshold are ignored. Default: threshold=100.
hc
logical variable indicating whether or not EM should be initialized by hierarchical clustering or quantiles in model-based clustering. The default is to use quantiles hc = FALSE, which is more efficient both in terms of speed and memory usage.
show
logical variable indicating whether or not to display the segmentation of each individual spot as it is processed. The default is not to display the spots show = FALSE.

Value

pixels are labeled according to their group within the spot area: 1=background,2=uncertain,3=sample.

Details

There are plot and summary methods that can be applied to the result.

References

Q. Li, C. Fraley, R. Bumgarner, K. Y. Yeung, and A. Raftery\ Robust model-based segmentation of microarray images,\ Technical Report No.~473, Department of Statistics, University of Washington, January 2005.

See Also

summary.spotseg, plot.spotseg, spotgrid

Examples

Run this code
data(spotSegTest)

# columns of spotSegTest:
#  1 intensities from the Cy3 (green) channel
#  2 intensities from the Cy5 (red) channel

dataTransformation <- function(x) (256*256-1-x)^2*4.71542407E-05 

chan1 <- matrix(dataTransformation(spotSegTest[,1]), 144, 199)
chan2 <- matrix(dataTransformation(spotSegTest[,2]), 144, 199)

Grid <- spotgrid( chan1, chan2, rows = 4, cols = 6, show = TRUE)

library(mclust)

Seg <- spotseg( chan1, chan2, Grid$rowcut, Grid$colcut)

plot(Seg)

spotSummary <- summary(Seg)

spot11 <- spotseg( chan1, chan2, Grid$rowcut, Grid$colcut, 
                    R = 1, C = 1, show = TRUE)

Run the code above in your browser using DataLab