RGLab / MAST

Tools and methods for analysis of single cell assay data in R
224 stars 57 forks source link

FDR too small #120

Closed jphe closed 4 years ago

jphe commented 4 years ago

Hi,

I'm using MAST for differentiate expressing test, but its output FDR are extremely small, The FDR reported by MAST many of them are smaller than 1e-300 or even equal to zero, so I can not use those FDR for volcano plot. So how can I solve this problem ?

Thanks

zlmCond_ent <- zlm(formula = ~prox_dist + n_genes, sca=sca)
summaryCond_ent <- summary(zlmCond_ent, doLRT='prox_distProximal')
summaryDt_ent <- summaryCond_ent$datatable

result_ent <- merge(summaryDt_ent[contrast=='prox_distProximal' & component=='H',.(primerid, `Pr(>Chisq)`)], #P-vals
                 summaryDt_ent[contrast=='prox_distProximal' & component=='logFC', .(primerid, coef)],
                 by='primerid') #logFC coefficients

result_ent[,FDR:=p.adjust(`Pr(>Chisq)`, 'fdr')]
ent_de = result_ent[result_ent$FDR<0.01, drop=F]
ent_de = ent_de[order(ent_de$FDR),]
amcdavid commented 4 years ago

As our readme tells you, this should have been posted on the bioconductor support site. Once this issue is closed no one will be able to find it in the future, and it's not really specific to MAST anyways.

You might winsorize them, or raise them to some fractional power (1/2 or 1/3, etc).

On Sun, Oct 13, 2019, 4:23 AM jphe notifications@github.com wrote:

Hi,

I'm using MAST for differentiate expressing test, but its output FDR are extremely small, The FDR reported by MAST many of them are smaller than 1e-300 or even equal to zero, so I can not use those FDR for volcano plot. So how can I solve this problem ?

Thanks

zlmCond_ent <- zlm(formula = ~prox_dist + n_genes, sca=sca) summaryCond_ent <- summary(zlmCond_ent, doLRT='prox_distProximal') summaryDt_ent <- summaryCond_ent$datatable

result_ent <- merge(summaryDt_ent[contrast=='prox_distProximal' & component=='H',.(primerid, Pr(>Chisq))], #P-vals summaryDt_ent[contrast=='prox_distProximal' & component=='logFC', .(primerid, coef)], by='primerid') #logFC coefficients

result_ent[,FDR:=p.adjust(Pr(>Chisq), 'fdr')] ent_de = result_ent[result_ent$FDR<0.01, drop=F] ent_de = ent_de[order(ent_de$FDR),]

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/RGLab/MAST/issues/120?email_source=notifications&email_token=AALLAHVLEV5XYNW7YMIZGBDQOLLGZA5CNFSM4JAF7UFKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HRNMRNQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALLAHWQ25DORPRX5AWUOOTQOLLGZANCNFSM4JAF7UFA .