Identification of DEGs through limma analysis
4
0
Entering edit mode
rkp • 0
@rkp-10175
Last seen 6.8 years ago

I wish to analyze microarray data for identification of DEGs through limma analysis at the threshold P<0.05 or a fold change >1.5. I written R script as 

results<-decideTests(fit2, p.value=0.05)

or

results<-decideTests(fit2, lfc=1.5)

When I run these script, get some variation in the results, In case of p.value the number of up-regulated and down-regulated genes are found more as compare to lfc. Is my script correct?

Which threshold criteria is better for fetching out of the significant genes? Any suggestion will be highly appreciated.

Thanks in Advance.

Kind regards,

 

limma microarray DEGs p values lfc • 3.0k views
ADD COMMENT
2
Entering edit mode
Axel Klenk ★ 1.0k
@axel-klenk-3224
Last seen 11 hours ago
UPF, Barcelona, Spain

Dear rkp,

what's "correct" or "better" depends on your definition of DEG but if you require a certain

logFC and a certain p-value, have a look at function treat(), also in the limma package.

?treat

Cheers,

 - axel

ADD COMMENT
2
Entering edit mode
Aaron Lun ★ 28k
@alun
Last seen 7 hours ago
The city by the bay

There are a number of issues here. The first is that lfc is the log-fold change threshold, not the fold-change. The second is that setting lfc in topTable is not recommended, see the note in ?topTable. Finally, as Axel suggests, use treat to obtain p-values that reflect the log-fold change threshold; correct them using the BH method (done automatically with topTreat); and select significant genes at a certain FDR threshold.

ADD COMMENT
2
Entering edit mode
@gordon-smyth
Last seen 15 minutes ago
WEHI, Melbourne, Australia

If you read the help page for decideTests(), it will answer all your questions.

The default behaviour of decideTests() is to choose genes using an FDR cutoff of 0.05. The default settings are for p.value = 0.05 and adjust = "BH", so the first code option you give in your question is just the same as the default.

When you set lfc = 1.5 you are changing the lfc default but not the p.value or adjust defaults, so you are applying a fold-change cutoff as well as the FDR cutoff. So naturally you must get fewer genes because you are applying two cutoffs at the same time. By setting lfc = 1.5, you are setting the fold change cutoff to be 2^1.5 = 2.83.

If you wanted to set a fold change cutoff of 1.5 without any significance cutoff, then you would use

decideTests(fit2, p = 1, lfc = log2(1.5)).

Regarding which one is better, just read the help page, which says "Although this function enables users to set p-value and lfc cutoffs simultaneously, this combination criterion not usually recommended." We generally recommend a FDR cutoff, which can be made more stringent if you wish using treat().

 

ADD COMMENT
0
Entering edit mode
rkp • 0
@rkp-10175
Last seen 6.8 years ago

Thank you so much Sir

 

ADD COMMENT

Login before adding your answer.

Traffic: 638 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6