| arrayData-class {arrayMagic} | R Documentation |
A simple class to store raw data, annotation information for spots and hybridisations, as well as weights.
new('arrayData',
intensities = ..., # optional; object of class array
weights = ..., # optional; object of class matrix
spotAttr = ..., # optional; object of class data.frame
hybAttrList = ..., # optional; list of two objects of class data.frame
)
intensities:array;
three-dimensional;
dim = nrOfSpots x nrOfChannels x nrOfHybridisations;
second dimension must contain "green" and "red" and possibly
"greenBackground" and "redBackground"; default: NULLweights:matrix;
dim = nrOfSpots x nrOfHybridisations;
range = [0,1]; default: NULL.
spotAttr:data.frame;
dim = nrOfSpots x nrOfSpotCharacteristics;
default: NULLhybAttrList:data.frame; the dimension of
each data.frame is given by
nrOfHybridisations x nrOfHybridisationCharacteristics ;
default: NULLintensities of
arrayData. intensities
array.weights of
arrayData. weights object. spotAttr of
arrayData. spotAttr data.frame.data.frame of hybAttrList
or if one is NULL the other one. The "intersection"
are those columns which match in column name and its content
otherwise NULL is returned.hybAttrList, i.e. a data.frame. hybAttrList, i.e. a data.frame. hybAttrList of
arrayData. hybAttrList object. RGList.
Foreground and background intensity values of intensities
are returned in form of an RGList object. If no background
is given, all background values in the RGList object are
set to zero.arrayData object
on standard out.arrayData objects.
Spots/rows are assumed to match;
possibly you have to subset and reorder
the objects beforehand
cf. function cbind.arrayData.
Andreas Buness <a.buness@dkfz.de>
intensities <- array(data=runif(120),dim=c(20,2,3))
dimnames(intensities) <- list(NULL, c("green","red"), NULL)
spotAttr <- data.frame(Name=I(rep(c("x","y","k","l","z"),4)),
Index=c(1:20))
arrayDataObject <- new("arrayData", intensities=intensities, weights=intensities[,1,],
spotAttr=spotAttr, hybAttrList=NULL)
print(arrayDataObject)
hybs <- c(1,3)
spots <- c(1:10, 14)
aD <- arrayDataObject[spots,hybs]
print(aD)
stopifnot( all( getIntensities(arrayDataObject)[spots, , hybs] == getIntensities(aD) ) )
stopifnot( all( getWeights(arrayDataObject)[spots, hybs] == getWeights(aD) ) )
stopifnot( all( getSpotAttr(arrayDataObject)[spots, ] == getSpotAttr(aD) ) )
hybAttr <- data.frame(Name=I(c("hx","hy","hz")),
Index=c(1:3))
arrayDataObject <- new("arrayData", intensities=intensities, weights=intensities[,1,],
spotAttr=spotAttr, hybAttrList=list(green=hybAttr,red=hybAttr))
hybAttrGreen <- data.frame(Name=I(c("hx","hy","hz")),
Index=c(4:6))
aDObject <- new("arrayData", intensities=intensities, weights=intensities[,1,],
spotAttr=spotAttr, hybAttrList=list(green=hybAttrGreen,red=hybAttr))
print(arrayDataObject)
cbind(aDObject,aDObject)
hybs <- c(1)
spots <- c(1)
aD <- arrayDataObject[spots,hybs]
print(aD)
stopifnot( all( getIntensities(arrayDataObject)[spots, , hybs] == getIntensities(aD) ) )
stopifnot( all( getWeights(arrayDataObject)[spots, hybs] == getWeights(aD) ) )
stopifnot( all( getSpotAttr(arrayDataObject)[spots, ] == getSpotAttr(aD) ) )
stopifnot( all( getHybAttr(arrayDataObject)[spots, ] == getHybAttr(aD) ) )
stopifnot( all( getHybAttrRed(arrayDataObject)[spots, ] == getHybAttrRed(aD) ) )
stopifnot( all( getHybAttrGreen(arrayDataObject)[spots, ] == getHybAttrGreen(aD) ) )
stopifnot( all( getHybAttrRed(aDObject) == hybAttr) )
stopifnot( all( getHybAttrGreen(aDObject) == hybAttrGreen) )
stopifnot( all( getHybAttr(aDObject) == data.frame(Name=I(c("hx","hy","hz"))) ) )
weights(aDObject) <- intensities[,2,]
intensities(aDObject) <- intensities
spotAttr(aDObject) <- spotAttr
hybAttrList(aDObject) <- list(green=hybAttr,red=hybAttrGreen)
aD <- new("arrayData")
stopifnot( class(aD) == "arrayData" )