Monday, June 17, 2013

getGEO return a list

> Dear All,
>
> I am trying to analyze a Microarray series data using "GEOquery". I
> get the below
> error when trying to extract the information.
>
> > gse = getGEO("GSE15709");
> > Meta(gse)
> Error in function (classes, fdef, mtable)  :
>  unable to find an inherited method for function "Meta", for signature
> "list"
> > GSMList(gse)[[1]]
> Error in function (classes, fdef, mtable)  :
>  unable to find an inherited method for function "GSMList", for
> signature "list"
>
> Thanks in advance for your help.
>
>
getGEO() defaults to GSEMatrix=TRUE.  Per the documentation, this returns a
list of ExpressionSet objects.  So, gse[[1]] is an ExpressionSet.  The
accessors that you are using above are for returns from calls to getGEO()
with GSEMatrix=FALSE.  Unless there is a specific need to get information
from the full GSE SOFT file, I would recommend staying with GSEMatrix=TRUE
and working with the more standard ExpressionSet object(s).

Hope that helps.

Sean


#########################
B = as(gse[[1]],"ExpressionSet")

then good to go.

Tuesday, June 11, 2013

RMA over a data.frame or a matrix

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