[BioC] Creating LumiBatch object from ExpressionSet

Pan Du dupan at northwestern.edu
Fri Jul 31 18:16:19 CEST 2009


Hi Md.Mamunur,

Functions lumiQ and detectionCall does not support ExpressionSet objects
because they need some information not included in ExpressionSet class by
default. For example, both detectionCall and lumiQ function need to use the
data matrix included in the "detection".

If you ExpressionSet object do include "detection", here is the alternative
way to estimate number of detection calls of each probe:

detect <- get('detection', assayData(lumi.T))
## suppose you claim p-value less than 0.05 as a detection call
AP <- rowSums(detect <= 0.05)

Hope this is helpful to you,


Pan


On 7/31/09 9:07 AM, "Md.Mamunur Rashid" <mamunur.rashid at kcl.ac.uk> wrote:

> Dear Pan Du,
> 
> Thanks for your help on lumi package. I have tried them and found that
> following functions does not work
> with with the expressionset object:
> 
>> lumi.Q <- lumiQ(lumi.T)
> No Quality Control assessment of the object because it is not a
> "LumiBatch" object.
> 
>> presentCount <- detectionCall(lumi.T)
> Error in detectionCall(lumi.T) : The object should be class "LumiBatch"!
> 
> As far as I understood the *"presentCount()"* methods is required for
> moving towards
> idenfication of differentially expressed gene.
> 
> It will be really helpful if you can give me any suggestion regarding
> this. Thanks.
> 
> Sincerely,
> Md.Mamunur Rashid
> 
> 
> Pan Du wrote:
>> Hi Md.Mamunur,
>> 
>> As LumiBatch class is inherited from ExpressionSet class, and most functions
>> in the lumi package support both ExpressionSet and LumiBatch objects, except
>> some functions specifically require additional information included in the
>> LumiBatch class. So usually there is no need to force ExpressionSet objects
>> as LumiBatch objects.
>> 
>> 
>> Pan
>> 
>> 
>> On 7/29/09 10:14 AM, "Md.Mamunur Rashid" <mamunur.rashid at kcl.ac.uk> wrote:
>> 
>>   
>>> Dear Martin,
>>> 
>>> Thanks for your reply.  According to the lumi documentation it extends
>>> Expression set class. With my limited knowledge about bioconductor I
>>> assumed there should be a way to convert/adapt an Expressionset object
>>> to a LumiBatch object. When I tried to create a LumiBatch object from
>>> the Expression Set object it shows me following error:
>>> 
>>>     
>>>> lumiobj <- new('LumiBatch', exprs = exprs(p1), se.exprs = exprs(p1))
>>>>       
>>> // p1 is the ExpressionSet
>>> 
>>> Error ::   Error in function (storage.mode = c("lockedEnvironment",
>>> "environment",  :
>>>           'AssayData' elements with invalid dimensions: 'se.exprs'
>>> 
>>> For the convinient I will briefly state the workflow I am trying to
>>> inplement below:
>>> 
>>> *Step 1.* Obtained illumina MicroArray Data from EBI ArrayExpress
>>> repository
>>> 
>>>     For testing purpose I have donwloaded the files manually and passed
>>>     them to *"procset"* function of  *ArrayExpress *package of
>>>     bioconductor package and created an ExpressionSet object
>>> 
>>> *Step 2*. Backgroud correction and Normaliation of Data, *Step 3
>>> *Annotation and *Step 4 *selection of significantly differentially
>>> expressed Genes
>>> 
>>>     Since the bioconductor lumi package provides these functionalities I
>>>     was trying to convert the ExpressionSet object to a LumiBatch object.
>>> 
>>> I will look forward for any suggestions. Thanks to martin again for
>>> adding the maintainer of lumi package to the email.
>>> 
>>> regards,
>>> Md.Mamunur Rashid
>>> 
>>> Martin Morgan wrote:
>>>     
>>>> Md.Mamunur Rashid <mamunur.rashid at kcl.ac.uk> writes:
>>>> 
>>>>   
>>>>       
>>>>> Dear Martin,
>>>>> Thanks for your prompt reply. The work around you mentioned worked. I
>>>>> am trying to do some background correction, quality control,
>>>>> normalisation and gene annotation of the data. I have read the
>>>>> reference manula of lumi package and it seems to provide all those
>>>>> features. So I was wondering is there any way I can convert the
>>>>> ExpressionSet object LumiBatch object to apply the lumi methods on
>>>>> them. I still dont have much idea about the limma packge. I have
>>>>> started reading it. I will be obliged if you can provide me with any
>>>>> suggestion. Thanks again for you help.
>>>>>     
>>>>>         
>>>> Hi Mamun -- I think the workflow you're outlining (from ArrayExpress
>>>> to lumi) is different from what either package author envisioned, and
>>>> requires some expert knowledge of the internal structure of the data
>>>> from both sources. I've added the maintainer of lumi to the email,
>>>> perhaps he will have a solution.
>>>> 
>>>> Others on the list might have more experience with this.
>>>> 
>>>> Martin
>>>> 
>>>>   
>>>>       
>>>>> regards,
>>>>> Mamun
>>>>> 
>>>>> Martin Morgan wrote:
>>>>>     
>>>>>         
>>>>>> Md.Mamunur Rashid wrote:
>>>>>>   
>>>>>>       
>>>>>>           
>>>>>>> Hi everyone,
>>>>>>> 
>>>>>>> I have recently posted a query names "How to use ExpressionSet for
>>>>>>> further
>>>>>>> Analysis"(http://article.gmane.org/gmane.science.biology.informatics.con
>>>>>>> du
>>>>>>> ctor/24343/match=use+expressionset+further+analysis)
>>>>>>> 
>>>>>>> 
>>>>>>> I have created an ExpressionSet object using procset method in
>>>>>>> ArrayExpress package.
>>>>>>> But the problem I found out that in the ExpressionSet the numeric values
>>>>>>> are in double quote.  (i.e. "123.02".  ) Now when I pass this expression
>>>>>>> set in to the following R code
>>>>>>> 
>>>>>>>     
>>>>>>>         
>>>>>>>            
>>>>>>>> library(lumi)
>>>>>>>> b <- lumiB("p1")    // p1 is the expression set I have created using
>>>>>>>>       
>>>>>>>>           
>>>>>>>>           
>>>>>>> procset
>>>>>>>     
>>>>>>>         
>>>>>>>            
>>>>>>>> MAplot(b)
>>>>>>>>       
>>>>>>>>           
>>>>>>>>           
>>>>>>> it shows me an error that Error in log(c("7413.841", "347.639",
>>>>>>> "233.5174", "7120.314", "35.45117",  :  Non-numeric argument to
>>>>>>> mathematical function
>>>>>>> 
>>>>>>> can anyone suggest me why the numeric data is converted to
>>>>>>> string/characters while creating ExpressionSet. I will really appriciate
>>>>>>> any help as I am really stuck in this point. Thanks in advance.
>>>>>>>     
>>>>>>>         
>>>>>>>            
>>>>>> Hi Mamun -- this seems to be a problem with ArrayExpress (running
>>>>>> example(getAE) produces an ExpressionSet like you describe, too).
>>>>>> 
>>>>>> A work-around is
>>>>>> 
>>>>>>   m <- exprs(p1)
>>>>>>   mode(m) <- "numeric"
>>>>>>   exprs(p1) <- m
>>>>>> 
>>>>>> Your first question in your earlier post was
>>>>>> 
>>>>>>   1. Now I am not sure how can I use this ExpressionSet object for
>>>>>>      further analysis of the Data?
>>>>>> 
>>>>>> but you need to be more specific about what you'd like to do next --
>>>>>> qa/qc, differential expression (limma), clustering, gene set analysis,
>>>>>> ...
>>>>>> 
>>>>>> Martin
>>>>>> 
>>>>>>   
>>>>>>       
>>>>>>           
>>>>>>> regards,
>>>>>>> Mamun
>>>>>>> 
>>>>>>> 
>>>>>>> below is the code I have used:
>>>>>>> 
>>>>>>> 
>>>>>>>     
>>>>>>>         
>>>>>>>            
>>>>>>>> library(ArrayExpress)
>>>>>>>> etabm421 <- list(path = ".",rawadata = NULL, rawfiles = NULL, procdata
>>>>>>>>       
>>>>>>>>           
>>>>>>>>           
>>>>>>> = "E-TABM-421.processed.zip",procfile =
>>>>>>> "E-TABM-421-processed-data-1583036605.txt",sdrf = "E-TABM-421.sdrf.txt",
>>>>>>> idf = "E-TABM-421.idf.txt", adf = "A-MEXP-931.adf.txt")
>>>>>>>     
>>>>>>>         
>>>>>>>            
>>>>>>>> cn = getcolproc(ETABM421)
>>>>>>>> cn
>>>>>>>>       
>>>>>>>>           
>>>>>>>>           
>>>>>>> [1] "Reporter REF"              "BeadStudio:AVG_Signal"   [3]
>>>>>>> "BeadStudio:Detection Pval"
>>>>>>>     
>>>>>>>         
>>>>>>>            
>>>>>>>> proset = procset(ETABM421,cn[2])
>>>>>>>>       
>>>>>>>>           
>>>>>>>>           
>>>>>>> _______________________________________________
>>>>>>> Bioconductor mailing list
>>>>>>> Bioconductor at stat.math.ethz.ch
>>>>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>>>>>> Search the archives:
>>>>>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>>>>>     
>>>>>>>         
>>>>>>>            
>>>>>>   
>>>>>>       
>>>>>>           
>>>>   
>>>>       
>> 
>> 
>> ------------------------------------------------------
>> Pan Du, PhD
>> Research Assistant Professor
>> Northwestern University Biomedical Informatics Center
>> 750 N. Lake Shore Drive, 11-176
>> Chicago, IL  60611
>> Office (312) 503-2360; Fax: (312) 503-5388
>> dupan (at) northwestern.edu
>> ------------------------------------------------------
>>  
>> 
>> 
>>



More information about the Bioconductor mailing list