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 ) )