This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Separate channel analysis of two-color microarray

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!

r software error limma microarray single-channel

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.