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:
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)
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.
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.
He aquí el árbol correspondiente a estos datos, usando el
SOTA y midiendo correlación lineal:
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%.
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í:
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.
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:
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: