spotMerge {arrayMagic} | R Documentation

## Averaging of spot replicas

### Description

The mean of replicated spots with identical number of replicas is calculated by default for each channel separately (note: `spotMerge` does require an equal number of replicas). Other summarization functions can be applied if supplied as argument (cf. argument `mergeFunc`) All other spots need to be eliminated with the help of the argument `identifiersToBeSkipped`. The mean (if not otherwise specified via argument `mergeFunc`) 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", identifiersToBeSkipped=NULL, mergeFunc=mean)

### Arguments

`arrayDataObject` | object of type `arrayData`; required; default: missing
`exprSetRGObject` | object of type `exprSetRG`; required; default: missing
`spotIdentifier` | character string; required; default: "Name"
`identifiersToBeSkipped` | vector of character strings, all spots which identifiers match are skipped; required; default: `NULL`
`mergeFunc` | function; required; default: `mean`

### 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(c("y","x","k","l","z")[gl(5,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:600,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, identifiersToBeSkipped=c("x","z"))
        resultExprSetRG <- resultList[["exprSetRGObject"]]
        resultY <- (0:5)*100 + sum(1:20)/20
        stopifnot( all( all(exprs(resultExprSetRG)["y",] == resultY) ) )
        resultK <- (0:5)*100 + sum(41:60)/20
        stopifnot( all( all(exprs(resultExprSetRG)["k",] == resultK) ) )
        resultL <- (0:5)*100 + sum(61:80)/20
        stopifnot( all( all(exprs(resultExprSetRG)["l",] == resultL) ) )
        stopifnot( dim(exprs(resultExprSetRG))[1] == 3 )
        stopifnot( dim(exprs(resultExprSetRG))[2] == 6 )
        resultArrayData <- resultList[["arrayDataObject"]]
        stopifnot( all(getIntensities(resultArrayData)[,1,] == getWeights(resultArrayData)) )
        nameColumns <- grep("Name", colnames(getSpotAttr(resultArrayData)))
        zahlColumns <- grep("Zahl", colnames(getSpotAttr(resultArrayData)))
        indexColumns <- grep("Index", colnames(getSpotAttr(resultArrayData)))
        stopifnot( all(getSpotAttr(resultArrayData)["y",nameColumns] == rep ("y", 20 ) ))
        stopifnot( all(getSpotAttr(resultArrayData)["y",indexColumns] == 1:20 ) )
        stopifnot( all(getSpotAttr(resultArrayData)["y",zahlColumns] == rep (1:5, 4 ) ))

[Package arrayMagic version 1.10.0 Index]