Hi everyone, I am stuck with creating design matrix in LIMMA for my microarray experimental design. The experiment consists of 40 Agilent arrays. The subjects were treated with two stress conditions (S1 and S2). In each stress condition, the subjects were sampled in 5 timepoints (0, 6, 12, 24 and 48). Microarray experiment was performed in such a way that every fourth array of a particular timepoint, irrespective of stress treatment, is dye swapped. Basically, it is a time course experiment on the same subject with two different stresses. I want to to know which are the genes important/responsible for stress 1 or 2. The target file looks like below:

SampleNumber | FileName | Cy3 | Cy5 | Stress |

1 | Array1 | pool1 | S1_Time0 | S1 |

2 | Array2 | pool1 | S1_Time0 | S1 |

3 | Array3 | pool1 | S1_Time0 | S1 |

4 | Array4 | S1_Time0 | pool1 | S1 |

5 | Array5 | pool1 | S1_Time6 | S1 |

6 | Array6 | pool1 | S1_Time6 | S1 |

7 | Array7 | pool1 | S1_Time6 | S1 |

8 | Array8 | S1_Time6 | pool1 | S1 |

9 | Array9 | pool1 | S1_Time12 | S1 |

10 | Array10 | pool1 | S1_Time12 | S1 |

11 | Array11 | pool1 | S1_Time12 | S1 |

12 | Array12 | S1_Time12 | pool1 | S1 |

13 | Array13 | pool1 | S1_Time24 | S1 |

14 | Array14 | pool1 | S1_Time24 | S1 |

15 | Array15 | pool1 | S1_Time24 | S1 |

16 | Array16 | S1_Time24 | pool1 | S1 |

17 | Array17 | pool1 | S1_Time48 | S1 |

18 | Array18 | pool1 | S1_Time48 | S1 |

19 | Array19 | pool1 | S1_Time48 | S1 |

20 | Array20 | S1_Time48 | pool1 | S1 |

21 | Array21 | pool2 | S2_Time0 | S2 |

22 | Array22 | pool2 | S2_Time0 | S2 |

23 | Array23 | pool2 | S2_Time0 | S2 |

24 | Array24 | S2_Time0 | pool2 | S2 |

25 | Array25 | pool2 | S2_Time6 | S2 |

26 | Array26 | pool2 | S2_Time6 | S2 |

27 | Array27 | pool2 | S2_Time6 | S2 |

28 | Array28 | S2_Time6 | pool2 | S2 |

29 | Array29 | pool2 | S2_Time12 | S2 |

30 | Array30 | pool2 | S2_Time12 | S2 |

31 | Array31 | pool2 | S2_Time12 | S2 |

32 | Array32 | S2_Time12 | pool2 | S2 |

33 | Array33 | pool2 | S2_Time24 | S2 |

34 | Array34 | pool2 | S2_Time24 | S2 |

35 | Array35 | pool2 | S2_Time24 | S2 |

36 | Array36 | S2_Time24 | pool2 | S2 |

37 | Array37 | pool2 | S2_Time48 | S2 |

38 | Array38 | pool2 | S2_Time48 | S2 |

39 | Array39 | pool2 | S2_Time48 | S2 |

40 | Array40 | S2_Time48 | pool2 | S2 |

You haven't explained what pool1 and pool2 are. I'm guessing they are all the samples for a given stressor pooled together? Also, you say that your experiment involved 4 subjects per stressor, but you've left out important details. Were the same subjects used for both stressors? Were the same subjects used for all time points? Your wording does not make this clear. You need to fully document all the known variables in your experimental design before you can construct your design matrix.

Yes, pool1 & 2 are all the samples pooled from all the time points for the respective stressors. The subjects used for all the time points both stressors are same.

Ok, then that is an important feature of the experimental design, and you to add a column with that information to your sample table.

Thanks Gordon and Ryan for your valuable inputs.

I have another set of experiments which is pretty much similar to that of the above one. There also I have two different stressors, and similar dye swap but the reference RNA is same for all the arrays (essentially 'pool1' and 'pool2' from the above experiment is a common 'pool' here). I want to know genes common and unique to different stressors.

With a single common reference, you just need one call to modelMatrix. The multiple calls and concatenation with blockDiag were all to handle the multiple reference pools. As for the subject effects, I'm not sure how to incorporate those into a 2-color design.