| spotMerge {arrayMagic} | R Documentation |
The mean of replicated spots with identical number of replicas is
calculated for each channel separately
(note: spotMerge does require an equal number of replicas).
All other spots need to be eliminated with the help of the
argument spotsToBeRemoved.
The mean is calculated for the expression levels
exprs of the exprSetRGObject and for the
intensities and weights of the arrayDataObject.
Any existing se.exprs-matrix
as part of exprSetRGObject is discarded.
The standard deviation of the spot merge operation for the expression
values is returned as se.exprs.
The corresponding rows of spotAttr in arrayDataObject
are concatenated and form a single row of respectively more columns.
spotMerge(exprSetRGObject, arrayDataObject, spotIdentifier="Name", spotsToBeRemoved=c("Blank"))
arrayDataObject |
object of type arrayData;
required; default: missing |
exprSetRGObject |
object of type exprSetRG;
required; default: missing |
spotIdentifier |
character string; required; default: "Name" |
spotsToBeRemoved |
vector of character strings,
all spots which match the strings are removed from
the analysis before merging; required; default: c("Blank") |
A list containing the "merged" exprSetRGObject and
arrayDataObject.
Andreas Buness <a.buness@dkfz.de>
processArrayData,
slideMerge,
exprSetRG-class,
arrayData-class
intensities <- array(data=runif(600),dim=c(100,2,3))
dimnames(intensities) <- list(NULL, c("green","red"), NULL)
spotAttr <- data.frame(Name=I(rep(c("x","y","k","l","z"),20)),
Zahl=rep(c(1,2,3,4,5),20),
Index=c(1:100))
arrayDataObject <- new("arrayData", intensities=intensities, weights=intensities[,1,],
spotAttr=spotAttr, hybAttrList=NULL)
indGreen=1:3
indRed=4:6
channels <- matrix( c(indGreen,indRed), nrow=length(indGreen), byrow=FALSE )
colnames(channels) <- c("green","red")
exprMatrix <- matrix(data=1,nrow=100,ncol=6,byrow=FALSE)
pD <- data.frame(matrix(0,nrow=6,ncol=1))
exprSetRGObject <- new("exprSetRG", exprs=exprMatrix, se.expr=exprMatrix,
phenoData=new("phenoData",
pData= pD,varLabels=list(rep("varLabel1",1))),
channels=channels)
resultList <- spotMerge(arrayDataObject=arrayDataObject,exprSetRGObject=exprSetRGObject, spotsToBeRemoved=c("x","z"))
resultExprSetRG <- resultList[["exprSetRGObject"]]
stopifnot( dim(exprs(resultExprSetRG))[1] == 3 )
stopifnot( dim(exprs(resultExprSetRG))[2] == 6 )
stopifnot(all(exprs(resultExprSetRG) == 1))
stopifnot((all(se.exprs(resultExprSetRG) == 0)))
resultArrayData <- resultList[["arrayDataObject"]]
stopifnot( all(getIntensities(resultArrayData)[,1,] == getWeights(resultArrayData)) )
nameColumns <- grep("Name", colnames(getSpotAttr(resultArrayData)))
zahlColumns <- grep("Zahl", colnames(getSpotAttr(resultArrayData)))
stopifnot( getSpotAttr(resultArrayData)[1,nameColumns] == rep ("y", 20 ) )
stopifnot( getSpotAttr(resultArrayData)[1,zahlColumns] == rep (2, 20 ) )