[BioC] Help with Limma
James W. MacDonald
jmacdon at uw.edu
Mon Oct 15 15:08:39 CEST 2012
Hi Venu,
On 10/12/2012 5:06 AM, Venu Pullabhatla wrote:
> Dear Limma users
>
> After finishing the analysis successfully with replicates, I am now
> trying to analyze the same without replicates. After following a
> suggestion that I can use Limma without applying the fit2 <-
> eBayes(fit2) step (for without replicates), I tried to do the same for
> just one of the patients as a test, but it failed because of the
> following error.
>
> Error in array(x, c(length(x), 1L), if (!is.null(names(x)))
> list(names(x), :
> attempt to set an attribute on NULL
> Calls: topTable ... toptable -> as.matrix -> as.matrix.default -> array
> Execution halted
>
> I get this error when applying topTable function to get the list of DE
> genes. I have searched a lot for getting possible answers, but only
> ended in vain. I came across this post in many forums, but with no
> working solution. Can anyone please rectify my mistake in the script.
>
> I used the same script successfully for analyzing with replicates
> except applying the fit2 <- eBayes(fit2) step because of lack of
> replicates.
I think you might be confused. You cannot analyze data using limma if
you have no replicates, and omitting the eBayes() step won't change things.
In addition, I am not sure why you would want to analyze without
replicates if you in fact have replicates. This makes no sense to me -
why choose an ineffective analysis when you have a more robust
alternative in hand?
Best,
Jim
>
> Here is the script I am using
>
>
> library(limma)
> library(annotate)
> library(hgug4845a.db)
>
> targets <- readTargets("targets_individual_test", sep="\t")
> data <- read.maimages(targets, path=".", source="agilent.median",
> green.only=TRUE)
> bgdata <- backgroundCorrect(data, method="normexp", offset=16)
> normdata <- normalizeBetweenArrays(bgdata, method="quantile")
> normdata_avg <- avereps(normdata, ID=normdata$genes$ProbeName)
>
> condition <- factor(targets$Condition, levels =
> unique(targets$Condition))
> design <- model.matrix(~0 + condition)
> colnames(design) <- levels(condition)
>
> fit <- lmFit(normdata_avg, design)
> fit$genes$Symbol <- getSYMBOL(fit$genes$ProbeName,"hgug4845a.db")
>
> contrast.matrix <- makeContrasts("Healthy-State1", "Healthy-State2",
> "Healthy-State3", levels=design)
> fit2 <- contrasts.fit(fit, contrast.matrix)
>
> ######## FINE UNTIL THIS STEP ###########################
>
> output <- topTable(fit2, coef="Healthy-State1", genelist=fit$genes,
> number=Inf)
>
> ###### I GET THE ERROR AFTER RUNNING THE ABOVE COMMAND #######
>
> Error in array(x, c(length(x), 1L), if (!is.null(names(x)))
> list(names(x), :
> attempt to set an attribute on NULL
> Calls: topTable ... toptable -> as.matrix -> as.matrix.default -> array
> Execution halted
>
> #################################################
>
> write.table(output, file="output.txt", sep="\t", quote=FALSE)
>
> Many million thanks for the continued help and support.
>
> Best wishes
>
> Venu
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives:
> http://news.gmane.org/gmane.science.biology.informatics.conductor
--
James W. MacDonald, M.S.
Biostatistician
University of Washington
Environmental and Occupational Health Sciences
4225 Roosevelt Way NE, # 100
Seattle WA 98105-6099
More information about the Bioconductor
mailing list