Práctica de Clustering para datos de DNA-arrays





1. Introducción

1.1. ¿Cuándo es necesario?

No todos los experimentos de DNA-arrays requieren este tratamiento a posteriori. Los DNA-arrays son sólo una técnica experimental, por lo que el diseño del experimento puede variar mucho de un caso a otro.

Por ejemplo, un experimento podría consistir en comparar el comportamiento de dos poblaciones de individuos, unos sanos y otros con alguna particularidad como una enfermedad, una mutación, etc. en unas condiciones determinadas para ver qué genes están implicados. En ese caso solo tendríamos que ver qué genes varían su expresión y ver en qué medida lo hacen.

Sin embargo, lo más normal es estudiar una serie temporal. En este caso, sí encontramos un patrón de expresión para cada gen y nos va a interesar saber cuáles varían de la misma forma. En este caso tendremos que clasificarlos en todos los tipos de patrón de expresión que encontremos.

1.2. ¿Qué tenemos?

El desarrollo clásico de un experimento de DNA-array es un estudio de transcripción génica a lo largo del tiempo para dos condiciones, una será la de referencia y la otra será la propia del experimento. Así podremos ver cómo afecta la condición dada a la transcripción de estos genes.

1.3. ¿Qué buscamos?

Queremos ver diferencias en la expresión de los genes entre ambas condiciones. Para eso podemos dividir los valores de la condición en estudio por los de las condiciones de referencia. Así obtendremos valores cercanos a 1 cuando el gen no haya variado su expresión. Los valores por debajo indicarán una disminución de la transcripción y los valores por encima, lógicamente, un aumento de la transcripción

1.4. Transformación de los datos

Desafortunadamente, al dividir unos valores por los otros, obtenemos valores entre 0 y 1 cuando se apaga un gen y valores entre 1 y +infinito cuando se sobreactiva. Nos gustaría tener una escala simétrica alrededor del 1, puesto que este es el valor al que corresponde una transcripción igual en ambos condiciones.

Con una transformación logarítmica conseguimos este propósito. De hecho, esta es la transformación más usada, por no decir la única. En principio cualquier otra transformación podría valer, siempre y cuando obtengamos una escala simétrica para valores de represión y de activación de los genes.

1.5. El problema de la distancia

En principio, podemos suponer que genes que se comportan de la misma forma lo hacen por alguna razón biológica. Para encontrar esta función biológica, lo primero es saber cuándo podemos considerar que dos genes se comportan igual y cuándo no o, dicho de otro modo, debemos definir una distancia entre patrones.

Según la distancia que usemos para agrupar los distintos patrones de expresión, obtendremos unos grupos u otros, es decir, la distancia define la relación que buscamos entre los genes. Las distancias más usadas son la distancia euclídea y el coeficiente de correlación lineal.

Si usamos la distancia euclídea tal cual, encontraremos genes en los que su transcripción se ha activado (o reprimido) en un número de veces parecido, mientras que si usamos el coeficiente de correlación lineal, juntaremos los genes según los valores relativos y no absolutos de sus patrones de expresión. Por ejemplo:
ejemplo

En este caso, si miramos distancia euclídea, el patrón rojo y el negro aparecerán juntos y el azul separado mientras que si medimos correlación lineal, el rojo y el azul se juntarán y el negro no.

Normalmente se usa correlación lineal, pero si se usa la distancia euclídea, se normalizan previamente los patrones de modo que estén todos comprendidos en un mismo rango de valores.

2. Pasos a seguir

2.1 Conseguir los datos

Si no disponemos de un laboratorio experimental que nos sumistre los datos, podemos usar los de otros grupos que hayan publicado sus experimentos.

2.2 Preparar los datos

Eliminar los valores en los que la expresión esté fuera de los límites de detección del método o en los que se haya detectado algún error.

Dividir los datos de expresión de las condiciones en estudio por los valores de las condiciones de referencia.

Transformar logarítmicamente los datos.

Eliminar los genes para los cuales las diferencias de expresión no sea significativa.

2.3 Hacer el clustering

Existen muchos métodos de clustering muy distintos. Aquí usaremos el SOTA (Self-Organizing Tree Algorithm), una red neuronal con topología de árbol binario. Es un método divisivo, esto es, que va separando los distintos patrones paso a paso. Los algoritmos aglomerativos son los que van juntando poco a poco los patrones más similares hasta llegar a la raíz del árbol.

2.4 Analizar los resultados

Todavía no se ha publicado ningún método automático para hacer este ánalisis, por lo que lo único que se ha hecho hasta la fecha es ir analizando los genes de cada cluster uno a uno de forma manual.

3. Ejemplo

3.1 Los datos

Estos datos son los correspondientes a un experimento hecho por un grupo de Stanford sobre el salto diauxico (paso de condiciones aerobias a condiciones anaerobias en S. cerevisiae)
[Ver datos]

3.2 Preparación

Los datos consisten en una tabla donde aparecen los valores en columnas separadas por tabuladores. La 1a columna corresponde al nombre de la ORF, la 2a al del gen si este se conoce y a partir de la 3a encontramos los datos experimentales.

En este caso, también nos dan los resultados de la división, así que nos basta con extraerlos de la tabla.
[Ver datos]


Ahora transformamos los datos logarítmicamente los datos (base 2).
[Ver datos]


Y, finalmente, eliminamos los datos que no sean relevantes, esto es, los que no varían significativamente. En concreto, se han eliminado los que no varían más de dos veces en al menos dos de los puntos medidos. Puesto que tenemos los datos en una escala logarítmica, tienen que tener al menos dos valores por encima de 1 o por debajo de -1.
[Ver datos]

3.3 Clustering

He aquí el árbol correspondiente a estos datos, usando el SOTA y midiendo correlación lineal:
Arbol completo

Aparecen dibujados en el margen los patrones correspondientes a cada gen en una escala de colores (ver pie de la imagen).

Y lo mismo, con otra representación, y con un nivel de confianza en la variabilidad del 95%.
Arbol completo

En este caso, se representa con un círculo más o menos grande, el tamaņo de los clusters (el número de genes que tiene). Al lado aparece el patrón del nodo correspondiente.

La variabilidad se define en cada cluster como la mayor de las distancias entre dos patrones asignados a ese cluster, esto es, los dos patrones más alejados en un grupo definen su variabilidad. El nivel de confianza se basa en un método estadístico: se barajan todos los datos (en columnas y filas) y se calcula la distribución de distancias (distancias aleatorias); se corta esta distribución al nivel de confianza deseado y se toma la distancia correspondiente como umbral para parar el clustering.

4. Ejercicios prácticos

4.1 Repetir el ejemplo

1a Parte:
Abrir la página del servidor del SOTA pulsando aquí:
Servidor SOTA para DNA-arrays

Guardar el el disco/disquette o copiar al portapapeles el archivo ya pre-procesado:
Archivo

Cargar el archivo anterior pulsando sobre el botón Browse... o copiar el contenido en la caja de texto.

Seleccionar la distancia Pearson Correlation Coefficient (por defecto)

Seleccionar la opción Unrestricted Grow (por defecto)

Seleccionar la opción Complete description (por defecto) y verificar la casilla Profiles (por defecto)

Finalmente, pulsar el botón Run SOTA.

ATENCIÓN: el servidor sólo admite una ejecución a la vez...
2a Parte:
Cargar el archivo anterior pulsando sobre el botón Browse... o copiar el contenido en la caja de texto.

Seleccionar la distancia Pearson Correlation Coefficient (por defecto)

Seleccionar la opción Confidence Level y poner el valor de 95.

Seleccionar la opción Clusters' description

Finalmente, pulsar el botón Run SOTA.

Observaréis que en la parte inferior de la pantalla aparecen los nombres de los genes asociados a cada cluster. Si pincháis en alguno de los círculos del árbol, aprecerá en el recuadro inferior la lista de los genes correspondientes.

4.2 Probar con más ejemplos

Datos pre-procesados correspondientes a un experimento de ciclo celular sincronizado con factor alfa:
Archivo


Datos pre-procesados correspondientes a un experimento de ciclo celular sincronizado en la línea celular cdc28:
Archivo

4.3 Analizar a mano un cluster

Si todavía queda tiempo, elegir un cluster de los obtenidos anteriormente, que contenga entre 5 y 10 genes más o menos y buscar información sobre la función de cada gen.

Se puede encontrar mucha información en la base de datos Swiss-Prot:
Buscar en Swiss-Prot

Intentar asignar una función global al cluster.

Febrero de 2000

Javier HERRERO SÁNCHEZ
Glaxo Wellcome S.A. Tres Cantos Centro Nacional de Biotecnología. Cantoblanco
Bioinformatics Team. R & D Department Protein Design Group.
Phone: +34 91 807 06 70 Phone: +34 91 585 46 69
ezz25282@GlaxoWellcome.co.uk jherrero@gredos.cnb.uam.es