spotMerge {arrayMagic}R Documentation

Averaging of spot replicas

Description

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.

Usage

spotMerge(exprSetRGObject, arrayDataObject, spotIdentifier="Name", spotsToBeRemoved=c("Blank"))

Arguments

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

Details

Value

A list containing the "merged" exprSetRGObject and arrayDataObject.

Author(s)

Andreas Buness <a.buness@dkfz.de>

See Also

processArrayData, slideMerge, exprSetRG-class, arrayData-class

Examples


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


    

        

[Package arrayMagic version 1.5.8 Index]