[BioC] RMA on a Data frame or a matrix

Michal Blazejczyk michal.blazejczyk at mail.mcgill.ca
Mon Sep 10 23:36:00 CEST 2007


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



More information about the Bioconductor mailing list