This is a test version of Biostars. For the public version, visit https://www.biostars.org.
FDR for multiple contrasts

I have some data from a collaborator which consists of p-values for ~2000 comparisons (proteins), and each protein was compared in several contrasts (control vs condition1, control vs condition2, etc).

When controlling for FDR in multiple comparisons one would input all the comparison p-values. However in this case would that mean:

  1. the p-values for all contrasts?
  2. or independently for each contrast?

The final goal of the analysis is to (i) find candidates in each comparison and (ii) determine the overlap of candidates between conditions.

fdr p.adjust proteomics

Tools like edgeR do it on a per-contrast basis from what I understand via its topTagsfunction by default applying the BH correction.

I had a look at the source code, but can't see the bit where they split/group by contrast. Can you point it out please? At first glance it looks like it is calculated for the full table. Cheers.

The object itself already contains the contrast that you give to this function since it is the output of e.g. glmQLFTest which takes a coefficient or contrast from the design matrix.

Cheers. I am not very familiar with edgeR, used it only on occasion.

The section "Multiple Testing Across Contrasts" in the limma user guide together with the decideTests function may be useful

1 answer

In addition to dariober suggestion, if you search online for decideTests, you will find several posts with further explanations on the properties of each method and suggestions as when to use them (e.g. Methods in decideTests (limma)). decideTests() has four methods, the two you listed in your post (global and separate, which correspond to the "p-values for all contrasts" and "p-values independently for each contrast", respectively), and nestedF and hierarchical. Based in your description, I think you may be interested in testing these later two methods.

In addition to this, you might check out stageR: https://bioconductor.org/packages/release/bioc/html/stageR.html I don't know if it can be adapted for protein data, but the idea is that you test for main effects first, and only test those interaction hypothesis for which the main effect is significant, saving your multiple testing budget.

This is exactly what I was looking for @h.mon! If you put it as an answer I will accept it.

Log in to answer this question.