Dear Gordon and Limma users,

I am using limma 2.12.0 (also tested 2.14.3) to analyze two-color arrays which
have a common reference and I think I am not getting the expected output from
lmFit() and eBayes().

Data from these arrays is not very good and I used weights to flag spots which
did not meet the quality criteria I had set. Then:

>RG.b <- backgroundCorrect(RG, method="normexp",offset=100)

>MA.norm <- normalizeWithinArrays(RG.b, method="loess", weights=RG.b$weights,
bc.method="none")

>MA.norm.AQ <- normalizeBetweenArrays(MA.norm,method="Aquantile")

>MA <- MA.norm.AQ

>design <- modelMatrix(targets,ref="Ref")
>fit1 <- lmFit(MA, design,weights=MA$weights)
>fit2 <- eBayes(fit2)

>write.fit(fit2,file="none.txt",adjust="none")
>write.fit(fit2,file="fdr.txt",adjust="fdr")

If I am not mistaken, in previous limma versions whenever you had only one
measurement per row and the rest were "NA", no p.values were calculated (which
makes sense to me). I believe the same happened if only one weight for a spot
was 1 ( being the others equal to 0).

I have narrowed down the problem to an MAList with 2 arrays (dye-swap) and
checked that weights and design are well set. 

With these versions (2.12.0 and 2.14.3) I have tried:
- weight 0 all spots which are not good
- write NA in MA$M and MA$A for all spots which are not good
- weight 0 and write NA in MA$M and MA$A for all spots which are not good

And the "problem" persists: p.values are calculated when there is only one
measurement and one NA or weights are 0. Example of the third case:

>MA$M[63:64,]
        Array1   Array2
[1,] -0.5069863 0.8276455
[2,] -1.2127786        NA

>MA$A[63:64,]
       Array1   Array2
[1,] 10.35034 10.14791
[2,] 10.32554       NA

>MA$weights[63:64,]
       Array1   Array2
[1,]       1       1
[2,]       1       0

Results I get:
Gene     logFC    AveExpr    t    P.Value       adj.P.Val    B
1            0.67        10.25    3.48    0.004         0.1225     -1.91
2            1.21         10.33    4.43    0.001        0.0428    -0.12
  

Am I getting what is expected? What could possibly be causing this behaviour?
Thank you very much for your time and consideration,


Sergi Beltran
Universitat de Barcelona
sergiba at yahoo.com

####
Might be worth reading:
http://thread.gmane.org/gmane.science.biology.informatics.conductor/17082/focus=17100

####
R version 2.6.0 (2007-10-03) 
x86_64-redhat-linux-gnu 

locale:
LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C

attached base packages:
[1] tools     stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] R2HTML_1.59         doBy_3.0            fields_4.1         
 [4] spam_0.13-3         geneplotter_1.16.0  lattice_0.17-8     
 [7] annotate_1.16.1     xtable_1.5-2        AnnotationDbi_1.0.6
[10] RSQLite_0.6-8       DBI_0.2-4           Biobase_1.16.3     
[13] sma_0.5.15          limma_2.12.0       

loaded via a namespace (and not attached):
[1] cluster_1.11.10    grid_2.6.0         Hmisc_3.4-3        KernSmooth_2.22-22
[5] RColorBrewer_1.0-2 rcompgen_0.1-17  


      
	[[alternative HTML version deleted]]

