Search
Question: Identification of DEGs through limma analysis
0
gravatar for rkp
3 months ago by
rkp0
rkp0 wrote:

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,

 

ADD COMMENTlink modified 3 months ago • written 3 months ago by rkp0
2
gravatar for Axel Klenk
3 months ago by
Axel Klenk790
Switzerland
Axel Klenk790 wrote:

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 COMMENTlink written 3 months ago by Axel Klenk790
2
gravatar for Aaron Lun
3 months ago by
Aaron Lun16k
Cambridge, United Kingdom
Aaron Lun16k wrote:

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 COMMENTlink modified 3 months ago • written 3 months ago by Aaron Lun16k
2
gravatar for Gordon Smyth
3 months ago by
Gordon Smyth31k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth31k wrote:

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 COMMENTlink modified 12 weeks ago • written 3 months ago by Gordon Smyth31k
0
gravatar for rkp
3 months ago by
rkp0
rkp0 wrote:

Thank you so much Sir

 

ADD COMMENTlink written 3 months ago by rkp0
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 104 users visited in the last hour