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 Contents]