> 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 ) }
Tuesday, June 11, 2013
RMA over a data.frame or a matrix
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment