Eu tenho 2 estudos analisando a resposta do paciente ao mesmo medicamento. O estudo 1 encontrou 10.000 genes expressos acima do plano de fundo e 500 deles são diferencialmente expressos e referidos como a assinatura da resposta ao medicamento. O estudo 2 encontrou 1.000 genes representando a assinatura da resposta ao medicamento. A sobreposição entre as duas assinaturas é de 100 genes.
Quero calcular a significância estatística da sobreposição entre as assinaturas. Se eu entendi corretamente, uma maneira de fazer isso (com base nas postagens aqui: Calcular a probabilidade de sobreposição de lista de genes entre um RNA seq e um conjunto de dados de chips ChLP e aqui: Usar o phyper de R para obter a probabilidade de sobreposição de lista ) é via phyper()
:
> overlap <- 100
> list1 <- 500
> totalPop <- 10000
> list2 <- 1000
>
> 1-phyper(overlap-1, list1, totalPop-list1, list2)
[1] 4.103051e-12
Isso soa razoável?
Se eu quisesse aplicar a correção de Bonferroni, precisaria multiplicar esse valor p pelo número de comparações. Qual seria o número de comparações nesse caso? List2? Como alternativa, qual seria uma maneira rápida de fazer correções menos conservadoras (por exemplo, Benjamini-Hochberg)?
fonte
Respostas:
Eu não sei nada sobre estudos de expressão gênica, mas tenho algum interesse em inferência múltipla, então arriscarei uma resposta sobre essa parte da pergunta de qualquer maneira.
Pessoalmente, eu não abordaria o problema dessa maneira. Eu ajustaria o nível de erro nos estudos originais, calcularia a nova sobreposição e deixaria o teste sozinho. Se o número de genes diferencialmente expressos (e qualquer outro resultado que você estiver usando) já for baseado em testes ajustados, eu diria que você não precisa fazer nada.
Se você não pode voltar aos dados originais e realmente deseja ajustar o valor- p , pode realmente multiplicá-lo pelo número de testes, mas não vejo por que deve ter algo a ver com o tamanho da lista2. Faria mais sentido ajustar o número total de testes realizados nos dois estudos (ou seja, duas vezes a população). Isso vai ser brutal, no entanto.
Para ajustar os valores de p em R, você pode usar
p.adjust(p)
, ondep
é um vetor de valores de p .Conforme declarado no arquivo de ajuda, não há razão para não usar Holm-Bonferroni sobre Bonferroni, pois também fornece um forte controle da taxa de erro familiar em qualquer caso, mas é mais poderoso. Benjamini-Hochberg controla a taxa de descoberta falsa, que é um critério menos rigoroso.
Editado após o comentário abaixo:
Quanto mais penso no problema, mais penso que uma correção para múltiplas comparações é desnecessária e inadequada nessa situação. É aqui que a noção de uma "família" de hipóteses entra em ação. Seu último teste não é comparável a todos os testes anteriores, não há risco de "capitalizar o acaso" ou colher resultados significativos, existe apenas um teste de interesse e é legítimo usar o nível de erro comum para este.
Mesmo que você corrija agressivamente os muitos testes realizados anteriormente, ainda assim não estaria abordando diretamente a principal preocupação, que é o fato de que alguns dos genes das duas listas podem ter sido espuriosamente detectados como expressos diferencialmente. Os resultados do teste anterior ainda permanecem válidos e, se você deseja interpretar esses resultados enquanto controla a taxa de erro familiar, ainda precisa corrigir todos eles.
Mas se a hipótese nula realmente for verdadeira para todos os genes, qualquer resultado significativo seria um falso positivo e você não esperaria que o mesmo gene fosse sinalizado novamente na próxima amostra. Portanto, a sobreposição entre as duas listas aconteceria apenas por acaso e é exatamente isso que o teste baseado na distribuição hipergeométrica está testando. Portanto, mesmo que as listas de genes sejam lixo completo, o resultado desse último teste é seguro. Intuitivamente, parece que qualquer coisa intermediária (uma mistura de hipóteses verdadeiras e falsas) também deve estar bem.
Talvez alguém com mais experiência nesse campo possa pesar, mas acho que um ajuste só seria necessário se você quiser comparar o número total de genes detectados ou descobrir quais são expressos diferencialmente, ou seja, se você quiser interpretar os milhares de indivíduos. testes realizados em cada estudo.
fonte
Você não precisa corrigir o valor de p para seu único teste de sobreposição. No entanto, digamos que você estivesse interessado em determinar se o medicamento afeta os genes no mesmo caminho. Como você determinaria qual caminho tinha mais sobreposição? Digamos que você tenha 500 conjuntos de genes de via. Você executa o teste de sobreposição do conjunto hipergeométrico 500 vezes e os classifica pelo valor de p. Como você executou esse teste 500 vezes (ou mais, dependendo da quantidade de dados que possui), há uma chance de obter uma boa pontuação apenas por acaso (falso positivo). Então, você precisa corrigir isso e executar um ajuste de valor ... Bonferroni (mais conservador) ou Benjamini Hochberg.
fonte