Troubles implementing LIMMA for paired samples (before/after treatment) comparaisons
1
0
Entering edit mode
Gwénolé • 0
@gwenole-24316
Last seen 13 months 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:

mat<-t(df)

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)

fit2<-eBayes(fit)

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 • 321 views
1
Entering edit mode
@james-w-macdonald-5106
Last seen 2 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 contrasts.fit 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.

0
Entering edit mode

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.

0
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.