[BioC] problems with single channel analysis of two-colour arrays

Pie Muller pie.muller at liverpool.ac.uk
Mon Sep 19 14:49:59 CEST 2005


Hi Bioconductors

I have two data sets from two two-colour microarray experiments. In the 
first experiment I compared female mosquitoes from strain A with female 
mosquitoes from strain B. As I am now also interested in the difference 
between the sexes from the same strain - but the two experiments are 
unconnected - I thought I could do a separate channel analysis using the 
limma package.

I followed the example in limma's user guide and inspected my results with 
a MA-plot for all possible comparisons (i.e., female A vs female B, male A 
vs. male B, female A vs. male A, and female B vs. male B). The MA-plots for 
the strain comparison look fine but the sex comparisons come our rather 
strangely.

The MA-plot of "female A vs. male A" looks very similar to the one of 
"female B vs. male B"! It seems as if these data are highly correlated. My 
only explanation is that the fitted data are still highly correlated... 
though the correlation has been taken into account in the linear model. 
What went wrong? I have added the codes below.

In advance, many thanks for any help!!!

Pie


My target file is:

File						Cy3			Cy5
slide 13017473 - array 1.gpr		KIS.female		ODU_S.female
slide 13017473 - array 2.gpr		ODU_S.female	KIS.female
slide 13009409 - array 1.gpr		KIS.female		ODU_S.female
slide 13009409 - array 2.gpr		ODU_S.female	KIS.female
slide 13051277 - array 2.gpr		KIS.female		ODU_S.female
slide 13051277 - array 1.gpr		ODU_S.female	KIS.female
slide 13017475 - array 1.gpr		KIS.male		ODU_S.male
slide 13017475 - array 2.gpr		ODU_S.male		KIS.male
slide 13051279 - array 2.gpr		KIS.male		ODU_S.male
slide 13051279 - array 1.gpr		ODU_S.male		KIS.male
slide 12784108 - array 2.gpr		KIS.male		ODU_S.male
slide 12784108 - array 1.gpr		ODU_S.male		KIS.male


My R code is:

RG=backgroundCorrect(RG, method="normexp", offset=50)
w1=modifyWeights(array(1,dim(RG)), RG$genes$Status, c("gene", "sense 
oligo", "ratio", "utility", "empty", "blank", "calibration"), 
c(0.1,0,0,0,0,0,1)) # give zero weights to spike-in spots, sense oligos and 
"empty" spots
MA=normalizeWithinArrays(RG, method="loess", weights=w1)
MA=normalizeBetweenArrays(MA, method="Aquantile")
targets.sc=targetsA2C(targets)
design.sc=model.matrix(~0+factor(targets.sc$Target)+factor(targets.sc$channel))
colnames(design.sc)=c("KIS.female", "ODU_S.female", "KIS.male", 
"ODU_S.male", "ch")
corfit=intraspotCorrelation(MA, design.sc)
fit=lmscFit(MA, design.sc, correlation=corfit$consensus)
cont.matrix=makeContrasts("KIS.female-KIS.male", levels=design.sc)
fit2=contrasts.fit(fit, cont.matrix)
plotMA(odumasi.fit2[1,], ylim=c(-4,4))
plotMA(odumasi.fit2[,2], ylim=c(-4,4))
plotMA(odumasi.fit2[,3], ylim=c(-4,4))
plotMA(odumasi.fit2[,4], ylim=c(-4,4))



More information about the Bioconductor mailing list