Modelo lineal generalizado o Logística Nominal para datos RNAseqColegas,
Imagine que tengo datos de RNAseq en forma de recuento de lecturas medido en 2 entornos, con 3 réplicas cada uno, en un solo experimento de secuenciación. Como esto:
Env lee
un 9
un 10
un 11
B 4
B 5
B 6
Por supuesto, puedo tratar cada lectura como una variable independiente y realizar una prueba y tendré una potencia muy baja. En cambio, quiero poder tratar cada lectura como una observación y luego notar que en un solo esfuerzo de secuenciación obtuve 15 lecturas en muestras del entorno B, pero 30 lecturas en muestras del entorno A. Es muy poco probable que esto se observe por casualidad y mi poder para detectar diferencias entre los entornos A y B es muchísimo mayor y aumentará con el esfuerzo de secuenciación, a diferencia del de una prueba t. (En un experimento típico de RAseq, el número de lecturas es mucho mayor, para algunos genes a menudo son cientos por muestra; la diferencia de recuento de 2 veces será muy significativa).
Quiero poder hacer esta prueba de contingencia con un modelo más complejo, quizás con 3 variables independientes diferentes (y replicar como efecto de bloque).
La solución fácil es entonces esta: creo una variable categórica adicional, llamémosla "Modelo" con los valores Observado y Esperado, con "Observado" correspondiente a las líneas anteriores y "Esperado" en el mismo número de líneas, pero con la columna: lecturas que contienen el recuento esperado si ningún efecto es significativo, es decir, en este caso, el recuento de lectura promedio (asumiendo el mismo esfuerzo en cada réplica).
Y luego ejecuta esto:
Ajustar modelo( Frec( :lecturas ), Y( :Modelo ), Efectos( :Env, :rep ), Personalidad( Logística nominal ), Ejecutar( Pruebas de índice de verosimilitud( 1 ), Pruebas de Wald( 0 ) ) )
...o esto (que me da resultados idénticos, no entiendo muy bien por qué, pero estoy contento con eso):
Ajustar modelo (frecuencia (: lecturas), Y (: modelo), efectos (: env, : rep), personalidad (modelo lineal generalizado), distribución GLM (binomial), función de enlace (Logit), pruebas e intervalos de sobredispersión (0). , Nombre( "Estimaciones ajustadas por sesgo de Firth" )(0), Ejecutar )
¿Estoy haciendo algo ridículamente mal o tiene sentido como prueba válida?
Si tiene sentido, ¿existe quizás alguna manera de lograr lo mismo sin la necesidad de crear líneas adicionales con los recuentos esperados?
¡¡Gracias de antemano!!
L. Yampolsky
Exploración y visualización de datosIngeniería de Calidad y ProcesosRe: Modelo lineal generalizado o Logística nominal para datos RNAseqGracias, esto ayuda mucho y ahora tiene un poco más de sentido.Echaré un vistazo (así como otros, espero) para comprobar la cordura del enfoque.
Re: Modelo lineal generalizado o Logística nominal para datos RNAseq@l_yampolsky Gracias por la pregunta.Este mismo problema surge en los modelos mixtos lineales generalizados al convertir respuestas de binomial a binaria.En esa situación, es imperativo declarar que la muestra original es un efecto aleatorio; de lo contrario, los resultados son completamente engañosos.
Desafortunadamente, este también es el caso de su segundo análisis, ya que efectivamente está asumiendo que cada observación es independiente cuando en realidad están agrupadas según la muestra original.Para corregir ese segundo análisis, declare que el efecto de repetición es aleatorio y también deberá cambiar la personalidad a Mínimos cuadrados estándar o a Modelo mixto si tiene JMP Pro y hacer que la respuesta sea continua (sugeriría transformarla en log2).Alternativamente, Meichen Dong tiene un complemento para GLMM que se puede descargar desde aquí en la comunidad si desea conservar la respuesta de Poisson, e incluso tiene un ejemplo de RNASeq en el documento: Complemento de modelo mixto lineal generalizado
En pocas palabras, en realidad sólo tienes 16 grados de libertad para cometer errores y no puedes engañarlo.
Tiene razón al preocuparse por las pruebas múltiples en las transcripciones de 6K.Si ciertas transcripciones se conocen y se especifican previamente por adelantado, potencialmente puede mostrar un análisis de transcripción único como el primero o el segundo modificado.Para el conjunto completo, haz un diagrama de volcán y mira lo que tienes.Otra idea es construir una o más puntuaciones de genes o vías (promediando las transcripciones relevantes) y analizarlas.
Re: Modelo lineal generalizado o Logística nominal para datos RNAseqPubliqué un ejemplo en el hilo de arriba.
¡Gracias de antemano por su valioso aporte!
L. Yampolsky
Re: Modelo lineal generalizado o Logística nominal para datos RNAseqAquí hay un ejemplo:
Ejemplo de modelo lineal generalizado con respuesta nominal
Archivo de datos: Ejemplo1Fp52.43_cH8.jmp
Se estudió la expresión de un homólogo de crustáceo de la proteína portadora mitocondrial humana Aralar1 en 4 clones de Dafnia expuestos a hipoxia aguda (3 hipoxia y 3 réplicas de control). 4 clones x 2 tratamientos x 3 réplicas = 24 hileras.
Primero, se realizó un anova de 2 vías utilizando RPKM como variable de respuesta e hipoxia y clonación como factores:
Modelo de ajuste(
Y( :RPKM ),
Efectos( :Clon, :acuteHypoxia, :Clone * :acuteHypoxia ),
Personalidad (mínimos cuadrados estándar),
Énfasis (Informe mínimo),
Correr(
:RPKM << {Falta de ajuste( 0 ), Trazar real según lo previsto( 0 ),
Trazar la regresión (0), Trazar el residuo según lo previsto (0),
Apalancamiento del efecto de la trama (0)}
)
)
Lo que resulta en:
Respuesta RPKM
Pruebas de efectos
Fuente Nparm DF Suma de cuadrados F Relación Prob > F
Clonar 3 3 10222,900 3,6649 0,0349
Hipoxia aguda 1 1 42430.209 45.6339 <.0001
Clon*hipoxia aguda 3 3 12083,132 4,3318 0,0205
Bien, las cosas son significativas, pero los efectos de la clonación y la interacción nunca sobrevivirán a ningún tipo de corrección de pruebas múltiples (este es solo un ejemplo de transcripciones de ~6K en los datos de RNAseq).
Luego se crearon 24 filas ficticias con la columna de lecturas que contenía el número esperado de lecturas en caso de que no hubiera ningún efecto de clones o hipoxia y tampoco diferencias entre las 3 réplicas en cada combinación de clones/hipoxia, es decir, el número promedio de lecturas en el 24 filas reales. Las filas ficticias se etiquetaron como "Exp" en la columna: ObsExp y las observaciones reales originales se etiquetaron como "Obs". Ahora queremos saber si, y en caso afirmativo, debido a qué variables independientes, Obs difiere de Exp. Para lograr esto, ejecuto (tenga en cuenta que ahora se utilizan las lecturas sin procesar, no las RPKM como Freq):
Modelo de ajuste(
Frec( :lee ),
Y( :ObsExp ),
Efectos(
:Clon,
:hipoxia aguda,
:hipoxia aguda * :clon,
:rep[:Clon, :hipoxia aguda]
),
Personalidad (logística nominal),
Ejecutar (Pruebas de relación de verosimilitud (1), Pruebas de Wald (0)),
SendToReport( Envío( {}, "Estimaciones de parámetros", OutlineBox, {Cerrar( 1 )} ) )
)
Lo que da como resultado, como se esperaba, mucha más potencia:
Pruebas de razón de probabilidad de efecto
Fuente Nparm DF LR ChiSquare Prob>ChiSq
Clonar 3 3 208.563245 <.0001
Hipoxia aguda 1 1 114.216936 <.0001
Hipoxia aguda*Clon 3 3 54.2042677 <.0001
rep[Clon,hipoxia aguda] 16 16 92.4764669 <.0001
Nota: Se obtienen exactamente los mismos resultados usando esto:
Personalidad (modelo lineal generalizado),
Distribución GLM (binomial),
Función de enlace (Logit)
Re: Modelo lineal generalizado o Logística nominal para datos RNAseqGracias por las respuestas.
No creo que puedas evitar hacer la prueba t como un análisis. Las réplicas son la fuente de la estimación de la variabilidad y los grados de libertad para realizar el análisis y no es necesario anidarlas. Anidado en términos JMP está esto:
Si los niveles de un efecto (B) ocurren sólo dentro de un único nivel de otro efecto (A), entonces se dice que B es anidado dentro de A (B[A]).
Eso significa que debe tener un factor (B) tal que ciertos niveles de nivel B solo puedan aplicarse dentro de ciertos niveles de Env. Entonces. los niveles 1 y 2 del factor B solo ocurrirían en Env A y los niveles 3 y 4 del factor B solo ocurrirían en Env. B. Se supone que las réplicas están dentro del nivel asociado de Env si Env es el efecto del modelo. Por lo tanto, no es necesario asignarlos explícitamente a cada nivel de Env.
JMP le permitirá hacer esto, pero no creo que sea estadísticamente válido o significativo.
Además, tampoco es necesario incluir la réplica como aleatoria, ya que también está implícito (para empezar, las tres réplicas deben ser muestras aleatorias y no está permitido en el modelo lineal generalizado o en la regresión generalizada).
Reads es la Y en este caso y no creo que la opción Freq no vaya a hacer lo que usted espera que haga (generalmente evite esa opción). Poisson sería la distribución para utilizar el modelo lineal generalizado o binomial negativo o Poisson para regresión generalizada (JMP Pro).
¿Supongo que necesitarás hacer esto para miles de genes?
Gracias por enviar una tabla de ejemplo. He creado una tabla con scripts guardados para el análisis para que podamos continuar con esta discusión. Creé columnas adicionales (Replicar y Replicar ID) para usar en esta discusión.
Re: Modelo lineal generalizado o Logística nominal para datos RNAseqLas réplicas son de diferentes individuos; réplicas biológicas. Y tienes toda la razón: agruparlos no sería una buena idea. Sin embargo, puedo incluir la replicación como una variable aleatoria independiente en mi modelo, anidada dentro de los tratamientos ambientales, tratando esencialmente este diseño como un diseño de bloques: el mismo experimento se repite 3 veces.
Me preocupa más el enfoque general: crear observaciones ficticias con "recuentos" esperados bajo hipótesis nula (es decir, recuentos iguales de lecturas en todas partes) y utilizar una tabla de contingencia/modelo logístico nominal para ver si los recuentos reales difieren.
Como sugirió otro usuario, publicaré un ejemplo con los datos reales.
Re: Modelo lineal generalizado o Logística nominal para datos RNAseqHola @l_yampolsky ,
Para ser claros, para cada entorno tiene tres muestras (réplicas). Pero en lugar de combinar las réplicas para cada entorno y realizar un análisis tipo prueba t, desea tratar cada muestra como si el recuento representara el número de observaciones de esa transcripción en particular (transcripción A) en la población de transcripciones de esa muestra. La siguiente muestra de ese mismo entorno es como extraer un nuevo conjunto de observaciones de la misma población de transcripciones y observar cuántas son del mismo transcrito A. ¿Entendí eso correctamente?
Pregunta: ¿Cada muestra proviene del mismo individuo (es decir, una muestra de la población de células dentro de ese individuo, por lo tanto, réplicas técnicas) o son de diferentes individuos en el mismo entorno (es decir, una muestra de cada individuo y, por lo tanto, representa una muestra de diferentes poblaciones? de células que han experimentado el mismo ambiente)?
Si las muestras son de diferentes personas, no creo que este sea un enfoque válido. Los conteos son la respuesta a algún cambio en el entorno. Es como contar el número de fotones de una longitud de onda particular de una fuente de luz en un entorno de prueba y luego combinarlo con el recuento de fotones de la misma longitud de onda de otro dispositivo, aunque diferente, de fuente de luz similar y también en el mismo entorno. . No son la misma fuente de luz (o dispositivo), sino representantes de la misma fuente de luz y deben tratarse de forma independiente entre sí. Esto representaría una variabilidad entre dispositivos y debe rastrearse por separado, ya que cada dispositivo no es una copia exacta del otro. Si lo fueran, entonces no se necesitarían varios dispositivos para la prueba, ya que todos los fotones provendrían de una única fuente y cada muestra sería una muestra representativa de esa fuente.
RNAseq es similar en el sentido de que es un esfuerzo de cuantificación de entidad, o la abundancia de una transcripción, en una muestra. La siguiente muestra no suele ser una muestra de la misma población de origen. Generalmente es una muestra de un individuo diferente y, por lo tanto, debe tratarse de esa manera. Variabilidad de individuo a individuo. Incluso las muestras del mismo tejido del mismo individuo tienen variabilidad (células en diferentes estados de división, estratificación de funcionalidad, etc.) y no deben combinarse como si provinieran de la misma población de células.
En última instancia, todo esto realmente depende de cuál sea la pregunta científica que se plantee y del diseño experimental utilizado para descubrir la respuesta a esa pregunta. Es posible que puedas agruparlos y hacer lo que quieras o tal vez no. Eso depende....
Re: Modelo lineal generalizado o Logística nominal para datos RNAseqPodría resultar útil adjuntar una tabla de datos de ejemplo con sus diferentes análisis. Me parece mucho más fácil de entender que intentar imaginar una tabla de datos a partir de una descripción de texto.