Cómo aplicar la corrección de pruebas múltiples para la superposición de listas de genes usando R

8

Tengo 2 estudios que analizan la respuesta del paciente al mismo medicamento. El estudio 1 encontró 10,000 genes expresados ​​sobre el fondo y 500 de ellos se expresan de manera diferencial y se conocen como la firma de respuesta al medicamento. El estudio 2 encontró 1,000 genes que representan la firma de respuesta al medicamento. La superposición entre las dos firmas es de 100 genes.

Quiero calcular el significado estadístico de la superposición entre las firmas. Si entiendo correctamente, una forma de hacerlo (en base a las publicaciones aquí: calcular la probabilidad de superposición de la lista de genes entre una secuencia de ARN y un conjunto de datos de chip ChLP y aquí: usar el phyper de R para obtener la probabilidad de superposición de la lista ) es a través de phyper():

> overlap  <- 100
> list1    <- 500
> totalPop <- 10000
> list2    <- 1000
> 
> 1-phyper(overlap-1, list1, totalPop-list1, list2)
[1] 4.103051e-12
  1. ¿Suena razonable?

  2. Si quisiera aplicar la corrección de Bonferroni, necesitaría multiplicar este valor p por el número de comparaciones. ¿A qué correspondería el número de comparaciones en este caso? List2? Alternativamente, ¿cuál sería una forma rápida de hacer una corrección menos conservadora (por ejemplo, Benjamini-Hochberg)?

Comunidad
fuente
1 nota: la forma en que normalmente pienso en la corrección de Bonferroni, divide suα-nivel (generalmente, 0.05) por el número de comparaciones y vea si su valor p está por debajo del umbral ajustado.
gung - Restablecer Monica
OK, eso tiene sentido. Supongo que todavía estoy confundido sobre el número de comparaciones y el valor que corresponde en mi caso (lista1, lista2 o su producto). Gracias por modificar la pregunta, por cierto!
Con suerte, obtendrá más visitas a la página ahora. Una cosa que creo es que su título anterior probablemente no 'atrapó' a nadie. Si no recibe ningún resultado en otros días, puede intentar editar para 'volver a subirlo' o enviarme un ping (a través de un comentario debajo de este w / @gung) y tal vez podamos probar otra estrategia. Lamentablemente, no conozco bien estos problemas de estudio de expresión génica.
gung - Restablece a Monica

Respuestas:

3

No sé nada acerca de los estudios de expresión génica, pero tengo cierto interés en la inferencia múltiple, por lo que me arriesgaré a responder esta parte de la pregunta de todos modos.

Personalmente, no abordaría el problema de esa manera. Ajustaría el nivel de error en los estudios originales, calcularía la nueva superposición y dejaría la prueba al final sola. Si el número de genes expresados ​​diferencialmente (y cualquier otro resultado que esté usando) ya se basa en pruebas ajustadas, diría que no necesita hacer nada.

Si no puede volver a los datos originales y realmente desea ajustar el valor p , puede multiplicarlo por el número de pruebas, pero no veo por qué debería tener algo que ver con el tamaño de list2. Tendría más sentido ajustar el número total de pruebas realizadas en ambos estudios (es decir, dos veces la población). Sin embargo, esto va a ser brutal.

Para ajustar los valores p en R, puede usar p.adjust(p), donde pes un vector de valores p .

p.adjust(p, method="bonferroni") # Bonferroni method, simple multiplication
p.adjust(p, method="holm") # Holm-Bonferroni method, more powerful than Bonferroni
p.adjust(p, method="BH") # Benjamini-Hochberg

Como se indica en el archivo de ayuda, no hay ninguna razón para no utilizar Holm-Bonferroni sobre Bonferroni, ya que también proporciona un fuerte control de la tasa de error familiar en cualquier caso, pero es más poderoso. Benjamini-Hochberg controla la tasa de descubrimiento falso, que es un criterio menos estricto.


Editado después del comentario a continuación:

Cuanto más pienso en el problema, más pienso que una corrección para comparaciones múltiples es innecesaria e inapropiada en esta situación. Aquí es donde entra en juego la noción de una "familia" de hipótesis. Su última prueba no es muy comparable a todas las pruebas anteriores, no existe el riesgo de "capitalizar la oportunidad" o elegir resultados significativos, solo hay una prueba de interés y es legítimo usar el nivel de error ordinario para este.

Incluso si corrige agresivamente las numerosas pruebas realizadas anteriormente, aún no abordaría directamente la principal preocupación, que es el hecho de que algunos de los genes en ambas listas podrían haberse detectado espuriosamente como expresados ​​diferencialmente. Los resultados de las pruebas anteriores aún "se mantienen" y si desea interpretar estos resultados mientras controla la tasa de error familiar, también debe corregirlos todos.

Pero si la hipótesis nula realmente es cierta para todos los genes, cualquier resultado significativo sería un falso positivo y no esperaría que el mismo gen se marcara nuevamente en la siguiente muestra. Por lo tanto, la superposición entre ambas listas ocurriría solo por casualidad y esto es exactamente lo que está probando la prueba basada en la distribución hipergeométrica. Entonces, incluso si las listas de genes son basura completa, el resultado de esa última prueba es seguro. Intuitivamente, parece que cualquier cosa intermedia (una combinación de hipótesis verdaderas y falsas) también debería estar bien.

Tal vez alguien con más experiencia en este campo podría influir, pero creo que un ajuste solo sería necesario si desea comparar el número total de genes detectados o descubrir cuáles se expresan de manera diferencial, es decir, si desea interpretar los miles de individuos pruebas realizadas en cada estudio.

Gala
fuente
Gracias por la respuesta detallada. Básicamente, estoy tratando de hacer exactamente lo que usted describe en el tercer párrafo, es decir, ajustar el valor p sin volver a los datos originales. En este caso hipotético, todavía obtendría un valor p <E-07 después de multiplicar por totalPop por 2 (si te entendiera correctamente). Pero puedo ver cómo podría ser brutal para un escenario de la vida real. ¿Existe un ajuste igualmente fácil para un solo valor p basado en las correcciones Holm-Bonferroni o Benjamini-Hochberg? Espero que la pregunta tenga sentido. Y perdón por la legibilidad, no puedo entender los saltos de línea.
Holm-Bonferroni y Benjamini-Hochberg requieren el valor p original, por lo que ya está fuera de discusión.
Gala
Esto es muy interesante. Véase, mi ejemplo se basa libremente en el artículo de clinexprheumatol.org/article.asp?a=5537 en el que los autores utilizaron la corrección de Bonferroni. Aplicaron la prueba hipergeométrica para estimar la importancia de la superposición de conjuntos de genes según este documento: ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4463058 . Este último no discute la necesidad de múltiples pruebas en absoluto. Entonces parece que el jurado aún está fuera y su argumento tiene mucho sentido. Tal vez pienso demasiado en las pruebas múltiples en este caso.
1

No necesita corregir el valor p para su única prueba de superposición. Sin embargo, digamos que estaba interesado en determinar si el medicamento afecta los genes en la misma vía. ¿Cómo determinaría qué vía tuvo la mayor superposición? Digamos que tienes 500 conjuntos de genes de vía. Ejecutas la prueba de superposición de conjuntos hipergeométricos 500 veces y las clasificas por valor de p. Como realizó esta prueba 500 veces (o incluso más, dependiendo de la cantidad de datos que tenga), existe la posibilidad de que obtenga una buena puntuación solo por casualidad (falso positivo). Entonces debe corregir eso y realizar un ajuste de valor ... Bonferroni (el más conservador) o Benjamini Hochberg.

David
fuente