Table of Contents
Expression microarrays data analysis
Introduction
Hemos leído un artículo sobre artritis reumatoide donde se indica que se desconoce la etiología de esta enfermedad inflamatoria y que sería interesante caracterizarla a nivel molecular para encontrar algunas mecanismos clave que mejoraran su prevención y tratamiento.
Para ello, los autores diseñaron un experimento con arrays de expresión, distinguiendo tres grupos:
- Pacientes con artritis reumatoide.
- Pacientes con osteoartritis.
- Personas sanas.
Nos gustaría utilizar los mismos datos de arrays de expresión que utilizaron los autores y reproducir el análisis de datos de microarrays.
Este es el artículo (no hace falta descargarlo): Molecular signatures and new candidates to target the pathogenesis of rheumatoid arthritis. Physiol Genomics2010 Nov 29;42A(4):267-82.
Los datos originales correspondiente al estudio están en el repositorio Gene Expression Omnibus, concretamente en este link. Hay que descargarse una carpeta comprimida llamada GSE1919_RAW.tar (tarda un poco porque pesa 45.9 Mb). También te los puedes descargar aquí.
Objetivo
Realización de un análisis bioinformático completo de datos de expresión con Babelomics que permita conocer que genes están diferencialmente expresados entre los grupos de sujetos indicados anteriormente. También estamos interesados en la interpretación funcional de los resultados obtenidos, utilizando diversos recursos web como PANTHER y STRING.
Datos
Disponemos de datos correspondientes a 15 sujetos. 5 para cada uno de los grupos definidos: normal, osteartritis y artritis reumatoide. En la siguiente tabla se indica el grupo al que pertenece cada muestra (microarray). El tipo de plataforma comercial del chip es Affymetrix:
filename samplename id CLASS disease
GSM34379.CEL GSM34379 ND_1 ND normal_donor
GSM34383.CEL GSM34383 ND_2 ND normal_donor
GSM34385.CEL GSM34385 ND_3 ND normal_donor
GSM34388.CEL GSM34388 ND_4 ND normal_donor
GSM34391.CEL GSM34391 ND_5 ND normal_donor
GSM34393.CEL GSM34393 OA_A OA osteoarthritis
GSM34394.CEL GSM34394 OA_B OA osteoarthritis
GSM34395.CEL GSM34395 OA_x OA osteoarthritis
GSM34396.CEL GSM34396 OA_y OA osteoarthritis
GSM34397.CEL GSM34397 OA_z OA osteoarthritis
GSM34398.CEL GSM34398 RA_A RA rheumatoid_arthritis
GSM34399.CEL GSM34399 RA_B RA rheumatoid_arthritis
GSM34400.CEL GSM34400 RA_x RA rheumatoid_arthritis
GSM34401.CEL GSM34401 RA_y RA rheumatoid_arthritis
GSM34402.CEL GSM34402 RA_z RA rheumatoid_arthritis
¿Cuál es el plan de trabajo?
- Tres fases con distintos procesos en cada una de ellas:
1. Procesamiento
Nos creamos un usuario en Babelomics.
- Cargamos los datos en Babelomics. Para ello subimos una carpeta comprimida que contenga todas las muestras. Tal como la bajamos desde el repositorio GEO, la podríamos cargar en Babelomics en el menú “Upload data”. Hay que indicar que los datos son de Affymetrix. En el tutorial hay algunas pistas sobre la carga de datos.
- Para eliminar las variaciones sistemáticas derivadas del proceso de medición y además obtener una medida común a todos los chips, realizaremos la normalización de los datos desde Processing / Normalization / Microarray One Channel /Affymetrix. Escogeremos los parámetros que hay por defecto. ¿Tendría sentido normalizar los datos de nuestro experimento en varios grupos o mejor todos a la vez en un único proceso de normalización?
- Hasta ahora la herramienta no sabe a que grupo pertenece cada array. Se lo tenemos que decir desde Processing/Edit. Aquí seleccionaremos los datos que hemos normalizado y generaremos una nueva variable llamada class (por ejemplo) e incluiremos tres categorías: osteo, reu, normal. Info para editar variables.
- Antes de empezar con el análisis de la expresión diferencial, nos gustaría explorar nuevamente los datos ahora que ya están normalizados. En principio, espero que los pacientes que pertenezcan a cada uno de los 3 grupos indicados, muestren un patrón de expresión común. Para verificar esto, realizaremos un análisis de clustering. Interpreta los resultados obtenidos.
- Clustering. Desde Expression /Clustering. Seleccionamos nuestros datos normalizados. Dejamos los valores que hay por defecto en los parámetros que aparecen en Babelomics, excepto el método que elegiremos SOTA. Tienes más información detallada de los métodos de clustering en este link. ¿Quedan agrupadas las muestras como suponíamos?
Algunas preguntas más:
- Si las muestras que pertenecen al mismo grupo presentan un patrón común de expresión (próximas en el clustering y en el pcaplot) y un patrón diferente entre grupos (diferenciados o lejanos en el clustering y en el pcaplot), ¿crees que obtendremos un gran número de genes diferencialmente expresados?.
- Si detectarámos alguna muestra con un patrón diferente a las muestras de su mismo grupo, ¿qué estrategia propondrías?
2. Análisis de la expresión diferencial
Continuamos trabajando con Babelomics:
Los datos ya están normalizados y listos para el análisis de la expresión diferencial. Nos gustaría encontrar los genes diferencialmente expresados en las siguientes comparaciones.
- Osteoartritis vs. Normal
- Artritis reumatoide vs. Normal
- Osteoartritis vs. Artritis reumatoide
Dependiendo del diseño experimental utilizaremos un método u otro en Babelomics. En este caso queremos realizar una comparación de grupos y escogeremos la opción Expression/ Differential Expression / Microarray /Class comparison. Es importante indicar cual es la variable que establece los grupos en class name. Automáticamente Babelomics detectará el número de categorías que disponemos y nos ofertará los métodos adecuados a ese número de categorías. Por ejemplo, con dos categorías dispondremos del t-test, limma o fold-change. Con tres categorías: anova o limma.
Como queremos trabajar con comparaciones por parejas, aunque aparezca en la pantalla las 3 categorías: normal, osteo y reu, cambiaremos la que no queremos que esté por none, clickando el desplegable.
Importante: si queremos realizar la comparación Osteoartritis vs. Normal, la primera categoría que debe aparece en el cuadrito de diálogo será Osteoartritis y en el segundo Normal. Escogeremos en el tipo de test limma.
Para cada una de estas 3 comparaciones lanzaremos un job que nos muestre los correspondientes resultados de la expresión diferencial. Los valores de los parámetros los dejaremos con lo que aparezca por defecto.
Cuestiones
A. En la comparación Osteoartritis vs. Normal utilizando el test limma:
- ¿Cuántos genes detectamos diferencialmente expresados?
- ¿Cómo están ordenados los genes en el heatmap?
- ¿Qué relación hay entre statistic, p-value y el adj.p-value?
- Cambiamos el p-valor ajustado y ahora trabajaremos con adj.p-value < 0.1. ¿Cuántos genes detectamos diferencialmente expresados?
- Analiza de nuevo la diferencia de expresión entre ambos grupos pero utilizando el método t-test. ¿Cuántos genes detectamos ahora como diferencialmente expresados?
- Abre el fichero de texto con los resultados significativos. ¿Cónoces cada uno de los indicadores estadísticos que aparecen? (Significative results / Statistic values table).
- Los genes diferencialmente expresados, ¿son los mismos en ambos métodos?. Para cuantificar esta intersección hay varias formas, en ambas necesitaremos utilizar los ficheros txt con los genes significativos en ambos jobs (están en el apartado de Significative results / Statistic values table):
- Descargamos ambos ficheros de texto y los leemos desde R. Con la funcion intersect obtendremos los genes comunes.
- Otra opción para intersectar dos grupos de identificadores (genes, mirnas….) es Venny: una herramienta muy útil y fácil de usar para valorar intersecciones. Para ello abre cada uno de los 2 ficheros de texto anteriores, con una hoja de cálculo y selecciono los ids de los genes y los pegas en Venny, lo mismo para el segundo fichero y determina el número de genes que están diferencialmente expresados en ambos escenarios.
- ¿Por qué ambos métodos ofrecen diferentes resultados?
B. ¿Puedes reproducir el proceso anterior para el resto de comparaciones?
C. Utilizando el método limma, ¿qué genes están diferencialmente expresados en las dos comparaciones: Osteoartritis vs. Normal y Artritis reumatoide vs. Normal?
3. Interpretación funcional de los resultados
Ya conocemos los genes que están diferencialmente expresados en cada una de las 3 comparaciones de interés descritas anteriormente. Esta información es muy útil, pero además nos gustaría conocer qué funciones están “detrás” de esos genes e incluso conocer si hay grupos de genes con un patrón de expresión común que comparte estas funcionalidades.
A partir de los resultados del análisis de expresión diferencial en la comparación Osteoartritis vs. Normal:
- Para empezar realiza una descripción de las funciones asociadas a los genes que están UP expresados en osteoartritis, utilizando las bases de datos biológicas: GO biological process, GO molecular function y GO cellular component, mediante la herramienta web PANTHER. Sugerimos que utilices la primera y segunda de las opciones de análisis. Interpreta la representación gráfica de los GO biological process
- Ahora realiza un análisis de sobrerrepresentación en los genes que está UP expresados en osteoartritis, utilizando las bases de datos biológicas: GO biological process, GO molecular function y GO cellular component, mediante la herramienta web PANTHER.
- ¿Hay funciones que están sobre-representados en este grupo de genes UP expresados en osteoartritis?
- En esta caracterización funcional valoramos las funciones que están asociadas a nuestro grupos de genes de interés. ¿Frente a que otro grupo de genes estamos realizando esta evaluación?
- Realiza otro análisis de sobrerrepresentación pero esta vez sobre los genes que están DOWN expresados en la comparación Osteoartritis vs. Normal utilizando las mismas bases de datos que se escogieron en el ejercicio anterior.
- Por último queremos realizar un Gene Set Enrichment a partir de los resultados de la expresión diferencial de Osteoartritis vs. Normal. ¿Qué input necesitarías ahora? Interpreta los resultados obtenidos.
- Repite los análisis anteriores para las otras dos comparaciones de interés:
- Artritis reumatoide vs. Normal
- Osteoartritis vs. Artritis reumatoide
Nos gustaría realizar otros abordajes para caracterizar funcionalmente los resultados obtenidos en la expresión diferencial. Para ello, utilizaremos los genes significativos up y down expresados en cada una de las comparaciones descritas anteriormente, y mediante STRING realizaremos un análisis de redes de interacción proteína-proteína.