Entering edit mode
Dear Venu,
limma requires replicates. Pretty much any statistical testing method
requires replicates.
You can run lmFit() without replicates, which gives you fold changes,
but
you cannot go on to compute eBayes statistics or to use topTable().
The same answer has been given to many posts asking this question over
the years.
I am a bit puzzled what you expect limma to do for you in the absence
of
replication.
Best wishes
Gordon
> Date: Fri, 12 Oct 2012 10:06:40 +0100
> From: Venu Pullabhatla <venu.pullabhatla at="" kcl.ac.uk="">
> To: <bioconductor at="" stat.math.ethz.ch="">
> Subject: [BioC] Help with Limma
>
> 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.
>
> 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
>
______________________________________________________________________
The information in this email is confidential and
intend...{{dropped:4}}