Ajustar p-valores online: FDR de Benjamini-Hochberg, Holm e Bonferroni
Corrija uma coluna de p-valores para comparações múltiplas, com os mesmos resultados do p.adjust() do R. Envie CSV ou Excel, sem cadastro.
| Gene | p |
|---|---|
| TP53 | 0,001 |
| BRCA1 | 0,02 |
| MYC | 0,04 |
| EGFR | 0,30 |
| Gene | p | p ajust. (FDR BH) |
|---|---|---|
| TP53 | 0,001 | 0,004 |
| BRCA1 | 0,02 | 0,04 |
| MYC | 0,04 | 0,0533 |
| EGFR | 0,30 | 0,3 |
Uma nova coluna com os p-valores ajustados por Benjamini-Hochberg.
Como ajustar p-valores
Um guia completo, passo a passo.
Passo 1: envie a tabela de resultados
Envie uma tabela com uma coluna de p-valores, como a saída de uma análise de expressão diferencial, de um GWAS, de um experimento de triagem ou de qualquer conjunto de testes. Valores em notação científica, como 3.2e-08, são lidos corretamente.
Passo 2: escolha a coluna e o método
Na ferramenta Ajustar p-valores, escolha a coluna dos p-valores e o método:
- Benjamini-Hochberg (FDR): controla a taxa de falsas descobertas; a escolha padrão para dados ômicos e triagens.
- Benjamini-Yekutieli: controle do FDR válido para qualquer dependência entre os testes; mais conservador.
- Holm: controla o erro por família; sempre pelo menos tão poderoso quanto Bonferroni.
- Bonferroni: a correção por família mais simples e mais conservadora.
Passo 3: use a nova coluna
Uma nova coluna com os valores ajustados é adicionada à tabela (você pode escolher o nome). Depois, use a ferramenta Filtrar para manter, por exemplo, as linhas com p-valor ajustado abaixo de 0,05, e exporte em CSV ou Excel.
Detalhes técnicos e perguntas frequentes
Quando você roda centenas ou milhares de testes, cerca de 5% dos testes sem efeito real chegam a p < 0,05 só por acaso. A correção para comparações múltiplas transforma os p-valores brutos em valores ajustados, que podem ser comparados diretamente com o nível de significância. Os métodos de FDR limitam a proporção esperada de falsos positivos entre os resultados significativos, enquanto Holm e Bonferroni limitam a chance de haver um único falso positivo que seja.
O flowingTable implementa os mesmos algoritmos do p.adjust() do R (métodos BH, BY, holm e bonferroni), com resultados idênticos. Células vazias são ignoradas e continuam vazias, sem contar como testes. O ajuste é um passo normal do seu fluxo, então pode ser desfeito ou reaplicado a um novo arquivo.
Perguntas frequentes
Qual a diferença entre a correção FDR e a de Bonferroni?
Bonferroni (e Holm) controlam o erro por família: a chance de pelo menos um falso positivo entre todos os testes. Isso é muito rigoroso quando há muitos testes. O procedimento de Benjamini-Hochberg controla a taxa de falsas descobertas, ou seja, a proporção esperada de falsos positivos entre os resultados declarados significativos, e preserva muito mais achados verdadeiros em estudos grandes, como RNA-seq.
Os valores ajustados são iguais aos do p.adjust() do R?
Sim. Os métodos BH, BY, Holm e Bonferroni seguem os mesmos algoritmos do p.adjust() do R e produzem valores idênticos, incluindo a monotonicidade e o limite em 1.
O p-valor ajustado por BH é a mesma coisa que um q-valor?
O p-valor ajustado por Benjamini-Hochberg costuma aparecer como FDR ou q-valor nos programas, e é usado do mesmo jeito: mantenha as linhas com valor ajustado abaixo do FDR escolhido, como 0,05. O método de q-valor de Storey é outro estimador, que pode ser um pouco menos conservador.
O que acontece com células vazias ou inválidas na coluna de p-valores?
Células vazias continuam vazias e não contam como testes, o mesmo comportamento do p.adjust() com NA. Valores fora do intervalo de 0 a 1 são recusados com uma mensagem de erro, para que uma coluna errada não seja ajustada por engano.