Performing limma on residuals or including batch and other covariates in the model? I am trying to analyse a gene expression dataset of about 240 samples (Illumina microarray). 
There are multiple questions I need to ask (healthy vs diseased, effect of treatment in diseased, differences between responders and non responders) and I need to correct for multiple covariates including batch (samples were run in 5 batches).
My initial strategy was to select different samples for every question (for example when I analyse the effect of treatment I only select diseased samples) and always include batch and other covariates like sex and age in the model.
The problem is that for some questions I can only use 15 samples so I am not sure I am estimating the effect of batches correctly.
Would it be better to use all the samples to estimate the effect of batch and other covariates and then work on residuals to answer specific questions?
Are there other strategies I could use?
Any help would be greatly appreciated.
Here is a schema of the variables I have:
study_group: healthy, disease1, disease2
treatment (for disease 2 only): drug A, drug B
response_status (for disease 2 only): RESPONDER, NON_RESPONDER
visit_number: 1 (all study_groups), 2 (disease 1 and 2), 3 (disease 2 only), 4 (disease 2 only), 5 (disease 2 only)
age, ethnicity, batch, sex as confounders
If for example I want to ask the question "does gene expression differ between responders and non responders at visit 1" should I select only samples for which I have response_status or should I use all samples and assign the category "none" to treatment and response_status for healthy and disease 1 samples?
 A: If you estimate each contrast using only a subset of samples, you throw away information. E.g. if you use only 24 observations out of 240, then only 24 residuals are used to estimate the variance of error term in limma, and, all other things being equal, your inference is less precise.
I think the way to do it is to use all of the observations to estimate all of the contrasts. Remember that, if you drop a factor that explains some of the response variance from the model, the variance explained by that factor is added to the error term variance. As a result, p-values for the factor(s) remaining in the model can go up. Therefore, it's wrong to think that if factor A is of interest and factor B is not related to the asked question, then it's only A that has to be in the model.
If you have microarray data, then you should have continuous intensity measurements for each of 240 cases – that's your response. Use all of the observations, just make sure to set the contrasts right. E.g. if you want to test drug A vs B then you can't just include “drug” main effect into the model, because it's not defined for Disease1 and for Healthy subjects. Instead, you should create a new factor with the levels like “Disease2_drugA” and “Disease2_DrugB”, and the corresponding contrast will be “ Disease2_drugA vs  Disease2_DrugB”. A similar problem is described here. In your case, you may even need to “merge” three or more factors in that manner. 
