

 Dear Gordon and limma users,
 
I am trying to fit a linear model to assess variability in healthy donors over days for both genders using Affymetrix microarray data. I am interested in assessing variability arising from geneder, day of blood donated and individual donors. When I tried to do a linear fit in using limma, I am not able to assess the coefficients for gender.System is computationally singular for the gender main effect. Is there any way to assess the variability arising from all three main effects? Any help would be greatly appreciated.
 
Following is my target file:
 







Array_NUID
gender
day
donor

NUID.0000.0133.2260
male
d1
M1

NUID.0000.0133.2261
male
d2
M1

NUID.0000.0133.2262
male
d8
M1

NUID.0000.0133.2230
female
d1
F2

NUID.0000.0133.6809
female
d2
F2

NUID.0000.0133.2251
female
d8
F2

NUID.0000.0133.2228
female
d15
F2

NUID.0000.0133.2229
female
d28
F2

NUID.0000.0133.2231
female
d1
F3

NUID.0000.0133.2232
female
d2
F3

NUID.0000.0133.2233
female
d8
F3

NUID.0000.0133.2234
female
d15
F3

NUID.0000.0133.2265
male
d1
M4

NUID.0000.0133.2267
male
d8
M4

NUID.0000.0133.2268
male
d15
M4

NUID.0000.0133.2269
male
d28
M4

NUID.0000.0133.2236
female
d1
F5

NUID.0000.0133.2237
female
d2
F5

NUID.0000.0133.2238
female
d8
F5

NUID.0000.0133.6810
female
d15
F5

NUID.0000.0133.2240
female
d28
F5

NUID.0000.0133.2270
male
d1
M6

NUID.0000.0133.2271
male
d2
M6

NUID.0000.0133.2272
male
d8
M6

NUID.0000.0133.2273
male
d15
M6

NUID.0000.0133.2274
male
d28
M6

NUID.0000.0133.2241
female
d1
F7

NUID.0000.0133.2242
female
d2
F7

NUID.0000.0133.2243
female
d8
F7

NUID.0000.0133.2244
female
d15
F7

NUID.0000.0133.2245
female
d28
F7

NUID.0000.0133.2246
female
d1
F8

NUID.0000.0133.2247
female
d2
F8

NUID.0000.0133.2248
female
d8
F8

NUID.0000.0133.2249
female
d15
F8

NUID.0000.0133.2250
female
d28
F8
 
 
Following is the code I am using:
library("limma")
rna <- read.table('qced_non_redundant_rma_data.txt', header=T, row.names=1, sep= "\t")
annotation <- read.table('Test_Samples_Annotation.txt', header=T, row.names=1, sep= "\t")
## rearrange the annotations to conform to the RMA data
annotation <- annotation[colnames(rna),]
## check that the annotations and data match
if (sum(sort(rownames(annotation)) == sort(colnames(rna))) != length(rownames(annotation))) {
  stop ("ERROR: annotation rownames and RMA colnames do not match")
}
donor <- factor(annotation$donor)
day <- factor(annotation$day)
gender <- factor(annotation$gender)
design <- model.matrix(~ donor + gender + day, data=annotation)
fit <- lmFit(rna,design)
fit2 <- eBayes(fit)
write.fit(fit,file="effects.txt",digits=30, adjust="BH", method="separate",sep="\t")
 
 
 
Following is my sessionInfo:
> sessionInfo()
R version 2.10.1 (2009-12-14)
x86_64-unknown-linux-gnu
locale:
 [1] LC_CTYPE=en_US.iso885915       LC_NUMERIC=C
 [3] LC_TIME=en_US.iso885915        LC_COLLATE=en_US.iso885915
 [5] LC_MONETARY=C                  LC_MESSAGES=en_US.iso885915
 [7] LC_PAPER=en_US.iso885915       LC_NAME=C
 [9] LC_ADDRESS=C                   LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.iso885915 LC_IDENTIFICATION=C
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
other attached packages:
[1] limma_3.2.3
loaded via a namespace (and not attached):
[1] tools_2.10.1 		 	   		  
	[[alternative HTML version deleted]]

