[BioC] Problem with Limma - Possible Limma/affy bug - minimal code not working - Solved - Minor doubt
Atul Kakrana
atulkakrana at outlook.com
Sat Apr 6 01:08:50 CEST 2013
Hi Jim,
Thanks. So, I turned the code upside down just to know that it was a
typo. Your suggestion fixed my problem.
I just have minor doubt:
What is the difference in using
fit<- lmFit(exprs(esetRMA), design)
OR
fit<- lmFit(esetRMA, design)
Does this effect result in any possible way?
Thanks
AK
On 04/05/2013 06:41 PM, James W. MacDonald wrote:
> Hi Atul,
>
> I think the problem arises because you are using ebayes() instead of
> eBayes(). See ?eBayes, particularly the part after the Value heading.
>
> Best,
>
> Jim
>
> On 4/5/2013 6:07 PM, Atul Kakrana wrote:
>> Hello All and Abdul,
>>
>> The fix suggested by Abdul didn't work. I reduced the code to minimal
>> basic and tried work on other publicly available datasets but the
>> problem is still the same.
>>
>>
>> It seems to a bug with Limma or Affy?
>>
>> Dataset used: http://www.ncbi.nlm.nih.gov/geosuppl/?acc=GSE9711
>>
>> CODE:
>> library(affy)
>> library(limma)
>>
>> setwd("/home/atul/Dropbox/Analysis/1.iSyTE/test_cel")# Need to change
>> the directory to where the CEL files are stored
>> mydata<- ReadAffy()
>> mydata
>>
>> esetRMA<- rma(mydata)# RMA from affy was used in iSYTE paper - Ready
>> made - does Background correction and Normalization by default algos -
>> See 'affy' manual
>> esetRMA
>>
>> sampletype<- c('1','1','1','2','2','2')
>> design<- model.matrix(~0+factor(sampletype))## required to avoid
>> intercept
>> colnames(design)<- c('Cont','Test') ## Personalize the design with col
>> names
>>
>> # fit<- lmFit(exprs(esetRMA), design)
>> fit<- lmFit(exprs(esetRMA), design)
>> contrast.matrix<-makeContrasts(Test-Cont, levels=design)
>> fit2<- contrasts.fit(fit,contrast.matrix)
>> fit2<- ebayes(fit2)
>> topTable(fit2, coef = 1, adjust = "BH", number = 50)
>>
>> Error in array(x, c(length(x), 1L), if (!is.null(names(x)))
>> list(names(x), :
>> 'data' must be of a vector type
>>
>> I am trying to fix this error from last few days but couldn't find a
>> solution. I would really appreciate your help.
>>
>> AK
>>
>>
>> On 04/05/2013 01:13 AM, abdul rawoof wrote:
>>> Hello Atul,
>>>
>>> Please follow the following script. You need to convert your
>>> normalised data into expression set value using exprs.
>>> I hope your problem will solve.
>>>
>>>> fit<- lmFit*(exprs(esetRMA)*, design)
>>>> contrast.matrix<-makeContrasts(Ten-WB, levels=design)
>>>> fit2<- contrasts.fit(fit,contrast.matrix)
>>>> fit2<- ebayes(fit2).
>>>
>>> On Fri, Apr 5, 2013 at 4:31 AM, Atul Kakrana<atulkakrana at gmail.com
>>> <mailto:atulkakrana at gmail.com>> wrote:
>>>
>>> Hello All,
>>>
>>> I wrote a script to analyse affymetrix data but its giving an
>>> error
>>> while using the topTable from limma:
>>>
>>> Error in array(x, c(length(x), 1L), if (!is.null(names(x)))
>>> list(names(x), :
>>> 'data' must be of a vector type
>>>
>>> I checked all the steps that might be causing the error but
>>> couldn't
>>> find out. So, I trimmed my script to minimal basic and it still
>>> gives me
>>> same error.
>>>
>>> > mydata<- ReadAffy()
>>> > esetRMA<- rma(mydata)
>>> Background correcting
>>> Normalizing
>>> Calculating Expression
>>> > esetRMA
>>> ExpressionSet (storageMode: lockedEnvironment)
>>> assayData: 45101 features, 12 samples
>>> element names: exprs
>>> protocolData
>>> sampleNames: 00.0A.CEL 00.0B.CEL ... 12.5C.CEL (12 total)
>>> varLabels: ScanDate
>>> varMetadata: labelDescription
>>> phenoData
>>> sampleNames: 00.0A.CEL 00.0B.CEL ... 12.5C.CEL (12 total)
>>> varLabels: sample
>>> varMetadata: labelDescription
>>> featureData: none
>>> experimentData: use 'experimentData(object)'
>>> Annotation: mouse4302
>>> > sampletype<- c('1','1','1','2','2','2','3','3','3','4','4','4')
>>> > group<-factor(sampletype)
>>> > design<- model.matrix(~0+group)
>>> > colnames(design)<- c('WB','Ten','Eleven','Twelve')
>>> > fit<- lmFit(esetRMA, design)
>>> > contrast.matrix<-makeContrasts(Ten-WB, levels=design)
>>> > fit2<- contrasts.fit(fit,contrast.matrix)
>>> > fit2<- ebayes(fit2)
>>>
>>> > topTable(fit2, adjust = "fdr", number = 50)
>>> Error in 1:ncol(fit) : argument of length 0
>>>
>>> > topTable(fit2,coef = 1, adjust = "fdr", number = 50)
>>> Error in array(x, c(length(x), 1L), if (!is.null(names(x)))
>>> list(names(x), :
>>> 'data' must be of a vector type
>>>
>>> > results<- decideTests(fit2)
>>> Error in decideTests(fit2) : Need MArrayLM object
>>>
>>>
>>> Could anybody please explain me or point out what I am missing
>>> here? Its
>>> strange that I wrote a similar script for Illumina which works
>>> just fine.
>>>
>>> AK
>>>
>>> --
>>> Atul Kakrana
>>> Delaware Technology Park
>>>
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at r-project.org<mailto:Bioconductor at r-project.org>
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives:
>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>
>>>
>>
>
More information about the Bioconductor
mailing list