Significant gene set testing - limma While I have used my title, it is more of a general statistics question regarding how these significance tests are carried out, these include decideTests and mroast / roast among others.

To give a brief overview of my experimental design, I am analysing bulk RNASeq datasets and there are two main factors in the design matrix: patientID and casetimeViremia; where the latter identifies whether a patient is viremia positive or negative at a particular time point (1-4). This leaves us with 5 different possibilities for casetimeViremia: 1-min, 2-plus, 3-min, 3-plus, 4-min.

The design matrix was created in R by running: 

model.matrix(~patientID + casetimeViremia, data = dgeObject$samples) 

Where dgeObject is an object of the function DGEList.

For the purpose of answering this biological question, we wish to conduct the differential expression testing by seeing whether all the previously mentioned casetimeViremia timepoints are separately and significantly expressed relative to each person's first timepoint, which is labelled as: 1-min.

Now, I understood that should I wish to conduct this test, I do not need to specify a contrast matrix in the mroast function and can just do this by calling the column number of interest.. But in that case, how does mroast know that I wish to do the contrast relative to the 1-min timepoint? And, just wondering, should I wish to define a contrast matrix, how would I do this given that there are two colnames missing from the design, in this case one patientID and the 1-min timepoint?  

Thank you all for your time.
The mroast function has an argument to specify which contrast do you want to test, quoting from the help page:


  contrast
  contrast for which the test is required. Can be an integer specifying a column of design, or the name of a column of design, or a numeric contrast vector of length equal to the number of columns of design.


So if you have the contrast of 1-min timepoint positive vs 1-min timepoint negative you can use this.
Read the help pages in detail, specially the help pages in limma are quite extensive and detailed to answer most questions if not all about how to use the software.