> Dear List,
>
> I was wondering if RMA function can be applied to a data frame or a matrix??
> Thanks.
>
> -Sohail
Hi,
If your matrix contains the intensity data from actual microarrays,
this is a function you could use (or leverage):
#
# intensity and intensitySD are objects equivalent to matrices.
# They should contain probe intensities in rows and samples in
# columns. Probe intensities should be ordered the same way they
# are in a .CEL file.
# chipType is a string containing the chip type (see function
# cleancdfname()).
# chipSizeX and chipSizeY specify the number of features on the chip.
#
CreateAffyBatch <- function( intensity, intensitySD, chipType, chipSizeX, chipSizeY )
{
exprs <- data.matrix( intensity )
se.exprs <- data.matrix( intensitySD )
sampleIndices <- 1 : ncol( exprs )
sampleNames <- paste( "sample", sampleIndices, sep = "" )
colnames( exprs ) <- sampleNames
colnames( se.exprs ) <- sampleNames
phenoData.data <- as.data.frame( sampleIndices )
rownames( phenoData.data ) <- sampleNames
colnames( phenoData.data ) <- "sample"
if( length( findClass( "AnnotatedDataFrame" ) ) == 1 )
{
phenoData <- new( "AnnotatedDataFrame", data = phenoData.data )
phenoData at varMetadata[[1]] <- "arbitrary numbering"
} else {
phenoData <- new( "phenoData", pData = phenoData.data, varLabels = list( sample = "arbitrary numbering" ) )
}
affyBatch <- new( "AffyBatch", exprs = exprs, se.exprs = se.exprs,
cdfName = chipType, annotation = cleancdfname( chipType, addcdf = FALSE ),
ncol = chipSizeX, nrow = chipSizeY, phenoData = phenoData )
return( affyBatch )
}