Hello everyone,
I'm sort of new to the world of bioinformatics and microarrays data analysis, and I've been having some trouble with limma's 'separate channel analysis of two-color data'. I've tried to implement the pipeline as suggested in the user's guide, but I got an error message saying dimmensions of the objects in the argument of intraspotCorrelation function:
> corfit <- intraspotCorrelation(MA, design)
Error in intraspotCorrelation(MA, design) : The number of rows of the design matrix should match the number of channel intensities, i.e., twice the number of arrays
I checked the structure of the input objects and they seem to be fine:
> nrow(design)
[1] 8
> M<- as.matrix(MA$M)
> dim(M)
[1] 45018 8
Any thoughts on what could be going on here? Of note, the data went through normalization by normalizeWithinArrays and nomalizeBetweenArrays, and then avereps before trying the correlation fit.
I hope you can help me. Thanks in advance!
1 answer
Try the following one this work fine for me.
> library(limma)
> dat<-read.maimages(files=dir(), source="agilent")
> dat2<-normalizeWithinArrays(dat, method="loess","normexp", offset=50)
> dat3<-normalizeBetweenArrays(dat2, method="scale")
# extracting M values (normalized expression values)
> dat.m<-dat3$M
> rownames(dat.m)<-dat2$genes$ProbeName
> write.table(dat.m, "datm.txt", sep="\t",row.names=T, col.names=T, quote=F)
# making density plots
> plotMA3by2(dat3, device="pdf")
> plotDensities(dat3)
#finding differentially expressed genes
> library(limma)
> biolrep <- c(24, 24, 24, 48, 48, 48, 24, 24, 24, 48, 48, 48, 24, 24, 24, 48, 48, 48)
> corfit <- duplicateCorrelation(dat3, ndups = 1, block = biolrep)
> fit <- lmFit(dat3, block = biolrep, cor = corfit$consensus)
> fit2 <- eBayes(fit)
> topTable(fit2)
Log in to answer this question.