Troubles implementing LIMMA for paired samples (before/after treatment) comparaisons
Entering edit mode
Gwénolé • 0
Last seen 3.4 years ago

Hello everyone,

I try to implement LIMMA for paired samples in order to compare gene expression before/after treatment. But...i'm not confident in my results since every single gene expression seems to be significantly associeted with the treatment!

Here is my methodology:


where df is a dataframe with: -1000 columns for different gene expression -+ 1 column 'id' (10 different id, repeated 2 times) -+ 1 column 'ttt' (0=before, 1=after treatment) -20 rows of observations (10 patients observed twice)

So once I get my matrix:

subject_id<-df$id A vector with 10 different id repeated 2 times

ttt<-as.factor(df$ttt) A vector with the treatment status (before/after)

Here is my design matrix:

design<-model.matrix(~ 0+ttt)

colnames(design) <- levels(ttt)

As asked in limma() description i specify the correlations:

corfit <- duplicateCorrelation(mat,design,block=subject_id)

Fitting of the model:

fit<-lmFit(mat,design,block =subject_id,correlation = corfit$consensus)


Getting adjusted pvalues for every gene comparison before/after treatment:

topTable(fit2, adjust.method='BH',number=1000)

But every single gene expression seems to be relevant, so i'm very doubtful about my methodology Any idea? Many thanks!

GeneExpression R limma MultipleComparison • 948 views
Entering edit mode
Last seen 3 days ago
United States

The model you have fit (without an intercept) simply computes the mean for each group, which isn't an interesting measure. Instead you want to know if there are any differences between groups, so you need to construct a contrasts matrix and use to make the contrasts (before the eBayes step).

You can either use makeContrasts to create the contrasts matrix, or just generate one yourself, using examples in the limma User's Guide to help figure out how one does such a thing.

Entering edit mode

Many thanks for your help,

I readed the limma user's guide part about paired comparison in same sample, in chapter 9.7 "Multi-level Experiments".

The exemple is given with an ExpressionSet, and i don't understand how to implement the duplicateCorrelation() part on my dataframe, that is without this type of set.

Thanks in advance

Entering edit mode

If you have treated all the subjects (e.g., there is a before and after for each subject), then you should just include a blocking factor for patient in your design rather than using duplicateCorrelation. And if I understand your experiment correctly, section 9.7 doesn't apply.


Login before adding your answer.

Traffic: 428 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6