modelo computacional de la evolución de secuencias

93
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY UNIVERSIDAD VIRTUAL MAESTRIA EN CIENCIAS DE LA COMPUTACIÓN Especialidad en Inteligencia Artificial UNIVERSIDAD VIRTUAL MODELO COMPUTACIONAL DE LA EVOLUCIÓN DE SECUENCIAS BIOLÓGICAS BASADO EN LA PROGRAMACIÓN CELULAR TESIS QUE PRESENTA: Francisco Javier Martínez Ruiz BAJO LA ASESORÍA DE: Dr. Edgar Emmanuel Vallejo Clemente JURADO: Presidente: Dr. Neil Hernández Gress Secretario: Dra. Maricela Quintana López Vocal: Dr. Edgar Emmanuel Vallejo Clemente Mayo 2002

Upload: others

Post on 25-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo computacional de la evolución de secuencias

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

UNIVERSIDAD VIRTUAL

MAESTRIA EN CIENCIAS DE LA COMPUTACIÓN

Especialidad en Inteligencia Artificial

UNIVERSIDAD VIRTUAL

MODELO COMPUTACIONAL DE LA EVOLUCIÓN DE SECUENCIAS BIOLÓGICAS BASADO EN

LA PROGRAMACIÓN CELULAR

TESIS QUE PRESENTA:

Francisco Javier Martínez Ruiz

BAJO LA ASESORÍA DE:

Dr. Edgar Emmanuel Vallejo Clemente

JURADO:

Presidente: Dr. Neil Hernández Gress Secretario: Dra. Maricela Quintana López Vocal: Dr. Edgar Emmanuel Vallejo Clemente

Mayo 2002

Page 2: Modelo computacional de la evolución de secuencias

RESUMEN

La bioinfonnática es una ciencia interdisciplinaria que trata de solucionar

problemas de corte biológico empleando técnicas computacionales. El

desarrollo de métodos para inferir las relaciones evolutivas entre los distintos

organismos ha sido una parte importante de los estudios en biología evolutiva y

bioinfonnática.

Un proceso básico en la evolución de secuencias de ADN lo constituye la

sustitución de un nucleótido por otro a través del tiempo, también llamado

substitución. Para detectar estos cambios es necesario comparar dos o más

secuencias que provengan de un ancestro común.

En este trabajo proponemos un método computacional para inferir relaciones

evolutivas entre secuencias de ADN basado en la programación celular, la cual

combina dos técnicas: los algoritmos genéticos y los autómatas celulares.

Los algoritmos genéticos son métodos de búsqueda que han sido usados

exitosamente en un amplia variedad de aplicaciones, incluso la bioinfonnática.

Esto debido a su capacidad para analizar espacios de búsqueda que por sus

dimensiones resultan prohibitivos para métodos tradicionales. Los autómatas

celulares vienen a complementar la labor de los algoritmos genéticos

proporcionando un marco para modelar la dinámica evolutiva de las secuencias.

Las secuencias así modeladas nos pueden proporcionar no solo un estimado del

número de cambios ocurridos, sino además un mecanismo computacional para

inferir cambios nuevos o las estructuras que revelan las relaciones evolutivas

bajo este modelo enriquecen las distancias evolutivas entre organismos con el

costo computacional involucrado en la evolución de las secuencias.

Luego de probar nuestro modelo computacional, usando el costo computacional

que nos proporciona como unidad de medida para la construcción de árboles

5

Page 3: Modelo computacional de la evolución de secuencias

filogenéticos. Los resultados fueron alentadores ya que, los árboles generados

presentaron una estructura coherente al ser cotejada contra árboles generados

con otra técnica.

6

Page 4: Modelo computacional de la evolución de secuencias

ÍNDICE DE CONTENIDO

Página AGRADECl1\1ENTOS.................................................................. 4 RESUMEN ................................................................................ 5 ÍNDICE DE TABLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 9

ÍNDICE DE FIGURAS.................................................................. 10

Capítulo

1 INTRODUCCIÓN..................................................................... 15 1.1 Antecedentes ................................................................ . 1.2 Problema planteado ........................................................ . 1.3 Método propuesto ......................................................... . 1.4 Organización del documento ............................................. ..

2 PANORAMA GENERAL DE LA BIOLOGÍA MOLECULAR ............... . 2.1 Introducción ................................................................. . 2.2 El ADN ...................................................................... . 2.3 Genes y proteínas ........................................................... .

2.3.1 Genes ............................................................ .. 2.3.2 Proteínas ........................................................ ..

2.4 Genética .................................................................... .. 2.4.1 Métodos de alineación de secuencias ....................... .. 2.4.2 Tipos de alineación de Pares de secuencia .................. .

2.4.2.1 Matriz de puntos ..................................... . 2.4.2.2 Algoritmos basados en la programación

15 15 16 17 18 18 19 21 21 22 24 24 25 25

dinámica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.2.3 Métodos de K-tuplas.. .. . .. . .. . .. . .. . . . . .. . .. . .. . .. . . 27

2.4.3 Alineaciones múltiples.......................................... 27 2.5 Evolución..................................................................... 28

2.5.1 Arboles filogenéticos............. .... .. ... .... .. ... . .. . .. . .. .... 28 2.5.2 Generación de árboles, usando distancia entre parejas de secuencias................................................................ 30

2.5.2.1 UPGMA y Neighbor-Joining.................... ... 31 2.5.2.2 Parsimonia.............................................. 32 2.5.2.3 Métodos probabilísticos.............................. 33 2.5.2.4 Análisis de los métodos.............................. 33

3 ELEMENTOS DE LA PROGRAMACIÓN CELULAR......................... 35 3.1 Introducción ................................................................. . 3 .2 Autómatas celulares ........................................................ .

3.2.1 Definición formal. .............................................. . 3.2.2 No-reversibilidad ............................................... . 3.2.3 Tipos de autómatas celulares ................................. .. 3.2.4 Comportamiento de los autómatas celulares ............... ..

3.3 Algoritmos genéticos ...................................................... . 3.3.1 Un algoritmo genético simple .............................. ..

35 35 37 38 38 39 39 40

3.3.2 Ventajas........................................................... 44 3.4 La programación celular................................................... 45

7

Page 5: Modelo computacional de la evolución de secuencias

4 PLANTEAMIENTO Y MODELO USADO ....................................... 46 4.1 Introducción.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 46 4.2 Planteamiento de la hipótesis de trabajo ................................. 46 4.3 El proceso de sustitución de nucleótidos ................................. 46

4.3.1 Revisión del modelo de un parámetro........................ 46 4.3.2 Comparación del modelo de un parámetro y el modelo con autómatas celulares ................................................ 49

4.4 Espacio de búsqueda ........................................................ 51 4.5 Justificación ................................................................... 51 4.6 Modelo propuesto............................................................ 52

4.6.1 Diseño del algoritmo genético ................................. 55 4.6.1.1 Representación binaria ............................... 55 4.6.1.2 Función de aptitud.................................... 55 4.6.1.3 Operadores genéticos................................. 56

4.7 Algoritmo general propuesto .............................................. 57 4.8 Ejemplo práctico............................................................ 58

5 EXPERIMENTOS Y RESULTADOS.............................................. 63 5.1 Introducción .................................................................. 63 5.2 Algoritmos utilizados ....................................................... 64 5.3 Selección de especímenes .................................................. 64 5.4 Experimento 1: Secuencias artificiales ................................... 65

5.4.1 Factor de mutación.............................................. 69 5.4.2 Elitismo ............................................................ 69

5.5 Análisis de resultados...................................................... 69 5.5.1 Colisión de reglas................................................ 69 5.5.2 Aptitud escalonada ............................................... 71

5.6 Cambio de estrategia ........................................................ 71 5.6.1 Parámetros usados en la alineación........................... 73

5.7 Experimentos 2: Utilizando mutaciones puntuales (o BNCs) ........ 74 5.7.1 Genomas completos ............................................. 75

5.8 Grupos de posiciones de mutación adyacentes .......................... 77 5.9 Arboles ....................................................................... 82

5.9.1 Más ejemplos de árboles ........................................ 84

6 CONCLUSIONES..................................................................... 85 7 TRABAJOS FUTUROS ............................................................... 87

ANEXO A ................................................................................. 89 ANEXO B ................................................................................. 91

B.1. Versión que trabaja con configuraciones completas ................... 91 B.2. Versión que trabaja con bases no-concordantes....................... 92 B.3. Versión que trabaja con bases no-concordantes adyacentes ......... 93

REFERENCIAS.......................................................................... 94

8

Page 6: Modelo computacional de la evolución de secuencias

ÍNDICE DE TABLAS

3 .1 Cálculo de aptitud de una población de cromosomas............................... 41 3.2 Resultado de girar 4 veces la ruleta para seleccionar a los padres de la

siguiente generación..................................................................... 42 3.3 Resultados parciales después de aplicar el cruzamiento ............................ 43 3.4 Resultados completos donde se presenta la segunda generación y calculo de

su aptitud. A partir de aquí volverá a comenzar el ciclo de nuevo ................ 44

4.1 Dimensiones del espacio de búsqueda para el problema usando cuatro caracteres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Conjunto de reglas de transición para el autómata celular......................... 54

5.1 Resultado de simulaciones con datos artificiales. Donde Pm es la Probabilidad de mutación y Pe es la probabilidad de Cruce....................... 65

5.2 Se muestran los valores de los parámetros estándar que utiliza el programa de alineación .................................................................................. 73

5.3 Resultados de experimentos con genomas completos .............................. 76 5 .4 Número de iteraciones observadas.. .. .. .. . .. .. .. .. . .. .. .. .. .. .. .. .. .. . .. .. .. . .. .. .. .. 77

9

Page 7: Modelo computacional de la evolución de secuencias

ÍNDICE DE FIGURAS

Figuras Página

2.1 En esta gráfica se muestra una representación esquemática de la doble cadena de una secuencia de ADN................................... 20

2.2 Representación esquemática del proceso de replicación conservativo de las cadenas de ADN. (a). Al punto donde comienza la duplicación, se le llama: "origen de la replicación". (b ). Los nucleótidos libres se unen a las bases de las cadenas separadas....................................................................... 20

2.3 (a) En esta gráfica se muestra el proceso de transcripción.(b) Tras ser copiada la información de la cadena de ADN al mARN, Los ribosomas terminan el proceso traduciendo el código y construyendo las cadenas aminoácidos que formarán las proteínas. En la lamina se muestran 2 de ellos. La fenilalamina (Phe) y la valina (Val).................................................................... 23

2.4 (a). Alineación Global. (b). Alineación local. Cuando una base de una secuencia empata con la base de la otra secuencia, se dice que ha habido una concordancia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 25

2.5 En este ejemplo minimalista podemos ver que el segmento ATG, que esta sobre la diagonal, es común a las dos secuencias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.6

2.7

2.8

En este ejemplo, mostramos la ruta que eligió el algoritmo y el resultado de la alineación. Los valores que están en las casillas corresponden a los parámetros que manejamos para calcular el puntaje. Aquí, un par de bases que coinciden agrega al puntaje un valor de 5, por el contrario una no-concordancia resta -2. El puntaje total de esta alineación es igual a 16 .............................................................................. ..

. 1 d l' . ' '1 . 1 EJemp o e a meac1on mu tlp e ............................................ .

La gráfica presenta un árbol filogenético mostrando la relación evolutiva entre 4 especies: A,B,C y D. Al ancestro común a todos se le llama raíz. Los nodos terminales se conocen como unidades taxonómicas operacionales (en inglés, OTUs). Los nodos internos que se refieren a inferencias de supuestos antecesores, se les suele llamar unidades taxonómicas hipotéticas (en inglés, HTUs) ......... .

27

28

29

2.9 Árbol filogenético construido a partir de la alineación múltiple de las secuencias presentadas en la figura 2.6.......................... ....... 30

10

Page 8: Modelo computacional de la evolución de secuencias

2.10 Vemos aquí un ejemplo de cómo funciona el algoritmo UPGMA. (a) Se presentan las secuencias como puntos. (b) Se asocian los puntos más cercanos generando un primer nivel. ( c) Se agrupan el primer cúmulo y la distancia restante para así, completar el árbol............................................................................. 31

2.11 La gráfica muestra un ejemplo de árbol generado con el algoritmo de Neighbour-joining.................... .... .. . . .. . . . . .. . .. . . . . .. . .. . .. . . . . . 32

2.12 En este ejemplo de la parsimonia, que estamos evaluando los cambios ocurridos a la base de la tercera posición de todas las cadenas. (a) Primero, se colocan como hojas del árbol las bases que se quieran comparar. (b) En este primer árbol, vemos que con un solo cambio se puede llegar de una secuencia a otra. ( c ). En este árbol requerimos 3 cambios para llegar de la secuencia 1 a la 4................................................................................. 32

3.1 Tabla de transiciones de un autómata celular unidmensional.......... 36 3.2 Configuración inicial del autómata celular del ejemplo................. 36

3 .3 Diagrama de tiempo que muestra tres lapsos de tiempo que muestran otras tantas configuraciones sucesivas......................... 36

3.4 En esta gráfica aparecen representados los conceptos de población, cromosoma, alelo, cruce y mutación........... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.5 En la gráfica aparecen las casillas que le son asignadas a cada miembro de nuestra población.............................................. 42

3.6 Aquí se describe el procedimiento de cruzamiento para la primera generación...................................................................... 43

4.1 En la gráfica se muestra una secuencia de ADN y dos descendientes de la misma. (a). Aquí se observa como se suceden 2 sustituciones de la base original. (b ). En este caso, la sucesión de sustituciones regresa al mismo nucleótido por lo que no sabremos que ocurrió. (c) y ( d). Podemos observar que ambas secuencias cambiaron hacia la misma base, por lo tanto tampoco aparecerá en una simple inspección comparativa de las dos secuencias. (e). Las cadenas actuales nos muestran solamente dos puntos divergentes así la historia real de sustituciones no ha sido conservada.. . . . . . . . . . . . . . . . .. .. 4 7

4.2 En esta gráfica se muestra que la tasa de sustitución para cada nucleótido es . Dado que el modelo sólo tiene este parámetro de allí su nombre..................................................................... 48

4.3 Dos secuencias de ADN vistas como arreglos para los autómatas celulares........................................................................ 53

11

Page 9: Modelo computacional de la evolución de secuencias

4.4 Diagrama de tiempo para nuestra secuencia-configuración sobre dos lapsos de tiempo............................................................. 54

4.5 En esta gráfica se muestra la tabla de mapeo(a). Una tabla de reglas (~) . y el proceso de conversión a la representación b1nana.. .. . . . . .. . . . . .. . .. . .. . . . . .. . . . . .. . .. . .. . . . . .. . .. . .. . . . . .. . . . . . . . .. . .. . ... 55

4.6 Representación esquemática de la mutación (a) y del cruzamiento (b ). en ( c) El cruce eligió una posición que dividió un caracter que fue definido por la función de mapeo.. .. . . . . .. . . . . .. . . . . .. . .. . . . . .. . . . . ... 56

4.7 Algoritmo general propuesto................................................ 58

4.8 Dos secuencias de ADN representadas como autómatas celulares de modo que, cada nucleótido representa una célula del autómata........................................................................ 59

4.9 (a) Una tabla de reglas de transición completa para un autómata celular de radio igual a 1, es decir, solo se toma el vecino izquierdo y el derecho. (b) orden en que se toman las reglas para formar el arreglo. ( c) El arreglo obtenido de la operación anterior en convertido a una representación binaria, al finalizar esta ya tenemos codificadas las tablas como cromosomas del algoritmo genético. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.1 O La primera generación de cromosomas estará constituida de tablas de transición generadas al azar. Nuestra población esta constituida de 3 elementos: (a), (b) y (c)..... .. . .. . .. . .. . .. . .. . . . . .. . .. . . . . . . . .. . .. . .. . . 60

4.11 (a) Se muestra la configuración inicial sin modificación. (b )Obtención de puntaje de similaridad basado en la distancia de Hamming. (c) Segunda configuración de la primera tabla de reglas. (d) las configuraciones obtenidas con el segundo conjunto de reglas de transición. (e) Las configuraciones generadas con el tercer conjunto de reglas de transición............................................ 61

4.12 Luego de la selección de los cromosomas con mejor aptitud, cruzarlos con alguna mutación puntual ocasional, obtenemos a la nueva población de cromosomas, es decir, de tablas de reglas de transición que se probarán con la configuración inicial. Se presentan aquí únicamente los valores que devuelve la tabla de transiciones: (a), (b) y (c).. .. . .. . . . . .. . .. . .. . .. . ... . . . .. . .. . .. . . . . .. . .. . . . . . . . . . . ............ 62

4.13 Aquí se muestran las configuraciones obtenidas de aplicar las reglas de transición de la nueva población a la configuración inicial......... 62

12

Page 10: Modelo computacional de la evolución de secuencias

5.1 En la gráfica aparece el resultado de una ejecución típica que no 66 alcanzó el valor óptimo, definido aquí como: Esta simulación tiene los siguientes parámetros: Tamaño de secuencia = 1 O, radio = 1, iteraciones del autómata celular = 20, número de generaciones = 64 y tamaño del cromosoma = 128 ........ .

5.2. La gráfica nos muestra los valores del máximo, el promedio y peor 67 de la generación, el promedio de la corrida actual. Cabe destacar que la progresión de valores no presentan una evolución sino que simplemente brincan del mínimo al máximo, lo que indica que el individuo se localizó por azar (alcanzado aquí en la generación 47). Esta simulación tiene los siguientes parámetros: Tamaño de secuencia = 1 O. Radio = 1, Iteraciones del autómata = 20, Número de generaciones = 64, Población = 256 y Tamaño del cromosoma = 128 ......................................................................... · .. ..

5.3. Ahora, revisemos la siguiente simulación, la cual tiene los 68 parámetros: Tamaño de secuencia = 100, radio = 1. Iteraciones del autómata = 1 OO. Número de generaciones = 100, Población = 256 y Tamaño del cromosoma = 128 ............................................ .

5.4 Descripción de las colisiones................................................ 70

5.5 (a). Ejemplo de bases no-concordantes. (b). Un par de los autómatas celulares resultantes.......................................................... 72

5.6 En esta gráfica podemos ver el resultado de 55 simulaciones en segmentos de ADN real de tamaño 100 y radio igual a 1. En la gráfica se agruparon de izquierda a derecha los fragmentos con menor número de BNCs. Como podemos observar en esta etapa entre menor sea el número de BNCs el algoritmo genético es capaz de obtener un conjunto de reglas de transición capaz de resolverlo... 74

5.7 En esta gráfica podemos ver el resultado de 61 simulaciones en segmentos de ADN real de tamaño 1000 y radio igual a 1 ............ .

5.8 La simulación de un número de generaciones considerable venía acompañado de un costo computacional muy alto la ejecución de la

75

que se muestra en la gráfica discurrió en un plazo de 72 horas......... 76

5.9 En esta tabla podemos observar la evolución de nuestro algoritmo genético usando el arreglo de BNCs. Los parámetros de esta corrida son los siguientes: Tamaño de configuración 9,000 bp. Número de BNC 900. Número de generaciones =1000. Población= 512. Número de reglas = 64. Tamaño de cromosoma= 128 y Radio= 1........................ 79

13

Page 11: Modelo computacional de la evolución de secuencias

5.10 Los parámetros de esta corrida son los siguientes: Tamaño de configuración 9,000 bp. Número de BNC 900. Número de generaciones = 512. Número de reglas = 1024. Tamaño de cromosoma = 2048 y Radio = 2.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.11 Los paramétros de esta corrida son los siguientes: Tamaño de configuración 9,000 bp. Número de BNC 900. Número de generaciones = 512. Número de reglas = 16384 Tamaño de cromosoma= 32768 y Radio = 3........................................... 81

5 .12 El árbol resultante de analizar un conjunto de 1 O secuencias de HIV. Con nuestro segundo algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.13 El árbol resultante de analizar un conjunto de 10 secuencias de HIV. Con el paquete informático. ClustalW......................... . . . . . . . . . . . . 83

5 .14 Otro grupo de secuencias analizadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

14

Page 12: Modelo computacional de la evolución de secuencias

CAPÍTULO 1

INTRODUCCIÓN

1.1 Antecedentes

Desde los orígenes de la vida en la tierra, ésta ha evolucionado en las más diversas formas y

es hasta tiempos recientes, que hemos empezado a comprender los procesos que

permitieron esta diversificación. Desde el inicio de la civilización humana han existido

intentos para clasificar a las distintas especies, primero basándose en estudios morfológicos

de los organismos.

A mediados del siglo pasado, se descubrió la estructura de las secuencias de ADN, y a

partir de allí, todas las inferencias sobre relaciones evolutivas entre los distintos

organismos se basaron en datos más exactos y diferenciables como lo es la información

genética codificada en el ADN. Sin embargo, la cantidad de información recabada aún para

los organismos más simples, rebasaba la capacidad de todos los métodos manuales. Por

tanto, los biólogos moleculares se apoyaron en la ciencia de la computación. De allí nace

una ciencia interdisciplinaria llamada bioinformática.

1.2 Problema planteado

Al usar secuencias de ADN, un proceso básico para determinar o medir la evolución de

estas secuencias, es la sustitución de un nucleótido por otro durante un lapso de tiempo.

Para detectar estos cambios necesitamos comparar dos o más secuencias que provengan de

un ancestro común y verificar alteraciones en posiciones similares.

Existe una gran cantidad de métodos para modelar este proceso, estos se dividen en dos

vertientes: los que se basan en el cálculo de distancias y los que se basan en la revisión de

caracteres. En la actualidad se usan versiones híbridas[5][6] que buscan combinar lo

mejores de los métodos disponibles.

15

Page 13: Modelo computacional de la evolución de secuencias

Actualmente no existe un modelo computacional formal para modelar estos cambios. Los

métodos actuales pueden proporcionarlos un estimado probabilístico de la manera en que se

dieron los cambios o en la que se darán, es decir, cual es la probabilidad de que cierto

nucleótido sea sustituido por otro.

Cabe destacar que, todos los métodos tienen puntos débiles. Por ejemplo, algunos no

pueden lidiar con tasas de sustitución de nucleótidos variables, otros no pueden aplicarse a

cantidades relevantes de secuencias sin presentar un problema de explosión combinatoria,

etc., de modo que ninguno de ellos puede decirse el mejor para todas las situaciones.

1.3 Método propuesto

En este trabajo proponemos un método para inferir relaciones evolutivas entre secuencias

de ADN basado en la programación celular, la cual combina dos técnicas: los algoritmos

genéticos y los autómatas celulares.

Los algoritmos genéticos son métodos de búsqueda que han sido usados ampliamente en

muchos ámbitos, incluso la bioinformática. Esto debido a su capacidad de analizar espacios

de búsqueda que por sus dimensiones resultan prohibitivos para los métodos tradicionales.

Los autómatas celulares vienen a complementar la labor de los algoritmos genéticos

proporcionando un modelo computacional para modelar los cambios en las secuencias.

La idea general es modelar a las secuencias de ADN como autómatas celulares, de modo

que las mutaciones (sustitución de nucleótidos) son expresadas como consecuencia de la

aplicación de reglas locales a los nucleótidos. La idea posee inspiración biológica ya que

la manera en que se realizan procesos como la duplicación o la transcripción de secuencias

de ADN es por medio de componentes de la célula (ribosomas) que procesan

secuencialmente (a veces en forma paralela) las secuencias de ADN en los procesos corno

meiosis y expresión de genes.

Las secuencias así modeladas nos pueden proporcionar no solo, un estimado del número de

cambios ocurridos sino además un mecanismo computacional para derivar los cambios

anteriores o los nuevos en las secuencias.

16

Page 14: Modelo computacional de la evolución de secuencias

Luego de probar nuestro modelo computacional, usando el costo computacional que nos

proporciona como unidad de medida, para la construcción de árboles filogenéticos, los

resultados fueron alentadores ya que, los árboles generados presentaron una estructura

coherente al ser cotejada contra árboles generados con la técnica conocida como alineación

múltiple en conjunto con el algoritmo para construir árboles filogenéticos, llamado

agrupación por vecindad ( en inglés, neighbor-joining) que proporciona el paquete

informático: CLUSTALW.

1.4 Organización del documento

Este documento esta organizado de la siguiente manera: En el segundo capitulo

presentamos una introducción a la biología molecular y a conceptos biológicos a los cuales

se hará referencia, durante todas las secciones. En el tercer capitulo hablamos de los

fundamentos de los algoritmos genéticos y de los autómatas celulares. En el cuarto daremos

una explicación tanto informal como formal del modelo propuesto, así como la justificación

de su uso. Y en el quinto daremos una explicación de los experimentos realizados.

17

Page 15: Modelo computacional de la evolución de secuencias

CAPÍTUL02

PANORAMA GENERAL DE LA BIOLOGÍA MOLECULAR

2.1 Introducción

La biología molecular ha tenido un desarrollo sin paralelo. En las últimas décadas, el

cúmulo de información ha sido impresionante. Al principio, el papel que la ciencia de la

computación tenía era bastante pasivo, se contentaba con registrar y recuperar la

información obtenida. Esto, debido a que en un principio los científicos estaban más

interesados en la recopilación de la mayor cantidad posible de información, que en su

interpretación. Aún hoy, no termina esta etapa, pero se hace mayor énfasis en el análisis de

los datos biológicos.

Muchos de los problemas que trata la biología molecular, como la alineación de secuencias,

la elaboración de filogenias y la construcción de mapas genéticos; por su complejidad, no

pueden resolverse manualmente y debido a esto, los biólogos han recurrido a las

computadoras.

Además, modelados adecuadamente, esta clase de procesos pueden concebirse como

problemas de optimización y por tanto, se pueden aproximar por medio de los métodos

estándares de la computación. Para los científicos computacionales esta es una gran área de

oportunidad. No sólo porque se pueden estudiar situaciones que involucran capacidades de

cómputo enormes, sino que además les brinda la oportunidad de aportar modelos nuevos,

tanto de las estructuras como de los procesos involucrados en la biología molecular.

Esta asociación entre la biología molecular y la computación se conoce como

bioinformática[S]. Los retos que tiene esta ciencia comprenden el diseño de nuevos

modelos biológicos (como ya hemos mencionado anteriormente), el desarrollo de métodos

o técnicas que revelen nuevas relaciones entre genes, ADN y proteínas; y por supuesto, la

optimización de los procesos existentes.

18

Page 16: Modelo computacional de la evolución de secuencias

Para la mayoría de los científicos computacionales, el primer problema con el que se

enfrentan es la falta de conocimiento, tanto de la terminología como de los rudimentos de la

biología molecular. Es la intención de este capitulo, dar al lector una base mínima en que

apoyarse y además, presentar conceptos que se tratarán en capítulos subsecuentes.

Invitamos, al lector que pretenda entender con mayor detalle a consultar las referencias

[1][2][3] que aparecen al final de este documento.

El resto del capítulo esta organizado de la siguiente manera. En la sección 2.2

describiremos la estructura del ADN. En la sección 2.3 presentamos nociones de los genes.

La sección 2.4 versa sobre la genética y la sección 2.5 es acerca de la evolución.

2.2 El ADN

Todas las formas de vida que conocemos en la tierra se construyen a partir de un mapa

maestro llamado genoma. Para poder comprender la información contenida en el genoma,

es necesario definir el lenguaje usado por la naturaleza para codificar la vida. Los bloques

básicos de este lenguaje son las moléculas del ADN.

Un genoma se compone de ácido desoxirribonucleico (ADN), presente en cada célula del

organismo y está constituido de dos cadenas de nucleótidos unidas en espiral. Cada

nucleótido es una molécula compuesta de un azúcar, un fosfato y un elemento nitrogenado,

llamado base. Hay cuatro bases en el ADN; concretamente: adenina (A), timina (T), citosina

(e) y guanina(G).

Las dos cadenas están entrelazadas en forma de una doble hélice, ligadas por sus bases

nitrogenadas, formando los llamados pares de bases (bp ). Las bases no se pueden unir de

manera arbitraria. Los únicos emparejamientos permitidos son adenina con timina A-T y

guanina con Citosina: G-C.

Estos emparejamientos A-T y G-C son la base del concepto de complementariedad, esto es

que para tener la forma de doble hélice las dos cadenas se acomodan antiparalelamente (ver

19

Page 17: Modelo computacional de la evolución de secuencias

figura 2.1 ). Esta propiedad proporciona al ADN la habilidad de replicarse a sí mismo. Cada

vez que una célula se divide y su genoma completo es duplicado, la molécula de ADN se

desenrolla y las cadenas se separan. Entonces, los nucleótidos libres que se encuentran en la

célula se unen a las bases complementarias de alguna de las cadenas separadas De esta

manera, cada célula nueva recibe una cadena nueva y una vieja de ADN. A este modo de

replicación se le conoce como "replicación conservativa" (fig 2.2). Existen además, la

replicación semiconservativa y la dispersa [28][29].

Figura 2.1En esta gráfica se muestra una representación esquemática de la doble cadena de una secuencia de ADN.

1 1 1 _____ ,

Figura 2.2 Representación esquemática del proceso de replicación conservativo de las cadenas de ADN. (a). Al punto donde comienza la duplicación, se le llama: "origen de la replicación". (b). Los nucleótidos libres se unen a las bases de las cadenas separadas.

La complementariedad asegura, hasta cierto punto, que el genoma resultante sea una copia

exacta del genoma original. Sin embargo, es posible que se presenten errores. Por ejemplo,

que algunas bases presentes se pierdan o se cambien por otras. Estas alteraciones reciben el

nombre de mutaciones[28] y pueden afectar radicalmente al organismo resultante y a sus

descendientes. (Si los hay, ya que, las mutaciones en ocasiones suelen ser mortales, para el

BIBLIOTECA 20

Page 18: Modelo computacional de la evolución de secuencias

organismo que las sufre). En algunos casos pueden ser inofensivas, o como algunas teorías

postulan, pueden dirigir la evolución de las especies[24].

Las células de la mayoría de los organismos superiores son diploides. Es decir, su ADN

está organizado en parejas de cromosomas. Los dos cromosomas que forman una pareja son

llamados homólogos. Los cromosomas vienen en pares debido a que una copia es heredada

por el padre y la otra por la madre. Por el contrario, las células de algunos organismos

simples, tales como algunas algas unicelulares tienen una sola copia; células de este tipo se

denominan haploides.

El genoma está organizado en una colección de cromosomas, cada uno de los cuales

contiene un número determinado de genes de los cuales, hablaremos a continuación.

2.3 Genes y proteínas.

2.3.1 Genes

Únicamente una pequeña fracción de las cadenas de ADN codifica información útil. Por

ejemplo, en los humanos sólo un 10% del total del ADN contiene información que se

expresa en características del organismo[28]. Estas regiones que tienen información

codificada están organizadas en genes.

Cada gen tiene una o más tareas especificas como por ejemplo, codificar una proteína. Las

secciones de la cadena de ADN que conforman los genes son llamadas exones. Asimismo,

existen regiones cuya función aún no ha sido determinada y que en apariencia no tienen

influencia conocida, se las conoce como intrones.

El gen es la unidad de la herencia. Actuando sólo o con otros genes, es responsable de una o

más características de organismos. Para ejemplificar de una manera más clara estos

conceptos, supongamos que se tiene una especie de mosca que tiene un gen Ga responsable

del color de los ojos y otro gen Gb que determina el tamaño del insecto. Las formas

alternativas que puede tomar un gen son llamadas alelos. Por ejemplo, pudiera ser Ga

21

Page 19: Modelo computacional de la evolución de secuencias

e{blanco, rojo} y Gi,e{grande, enana}. Se llama fenotipo a cada una de las

posibles combinaciones resultantes de estas características. Cuando el contenido actual de

ADN determina un fenotipo especifico es llamado genotipo.

Las posiciones especificas donde aparecen los genes en los cromosomas son llamadas loci.

En los organismos diploides, por cada gen en un cromosoma hay un gen similar

correspondiente en el cromosoma homólogo. Esta redundancia actúa como un mecanismo

de defensa contra los defectos; ya que los organismos pueden sobrevivir aún cuando una

copia de un gen sea defectuosa. Un par de genes pueden consistir del mismo alelo en ambos

cromosomas, en cuyo caso decimos que el organismo es homozigoto o de diferentes alelos,

en este caso se denomina heterozigoto.

Por último, hablaremos de los genes recesivos y los genes dominantes. En un organismo

heterozigoto, puede darse el caso de que un alelo sea expresado, mientras que el otro se

encuentre desactivado. Al rasgo activo se le llama dominante y al último recesivo. Para que

un gen dominante sea expresado en un organismo diploide con cromosomas homólogos, se

requiere que las dos copias del alelo especifico sean iguales. Regresando a nuestro ejemplo

previo, si el genotipo de una mosca para el gen Gi, es (bl aneo, rojo). Los

descendientes pueden tener las siguientes las combinaciones de alelos:

(blanco, blanco), (blanco, rojo), (rojo, blanco), (rojo, rojo). Si el

descendiente tiene como carga genética (rojo, rojo), la mosca tendrá necesariamente,

ojos de color rojo.

2.3.2 Proteínas.

A pesar de la enorme variedad de formas de vida existentes, el mecanismo básico por el

cual son desarrollados morfológicamente en la naturaleza es el mismo para todos los

organismos. De hecho, toda la información que describe a un organismo está codificada en

su genoma a través de secuencias de ADN, conocidas en su conjunto como el código

genético. Este código es usado para describir cómo se construyen las proteínas, las cuales

proveen los componentes estructurales de las células y tejidos, así como las enzimas

necesarias para reacciones bioquímicas esenciales.

22

Page 20: Modelo computacional de la evolución de secuencias

El código genético se confonna de tripletes de bases de ADN conocidos también como

codones. Y a que hay 4 bases, que se pueden combinar en tripletes, el número de

combinaciones resultante es 43 = 64. Debido a que existen muchos aminoácidos codificados

por más de un triplete (llamados sinónimos para ese aminoácido), mientras que unos pocos

son identificados por un único codón.

Para construir una proteína, el ADN de un gen es primero copiado a una molécula de ácido

ribonucleico llamada ARN mensajero (mARN)[l], el cual servirá como una plantilla para

la síntesis de la proteína. En este proceso conocido como "transcripción", solamente los

exones son copiados, con una particularidad: la base timina es sustituida por otra base,

llamada uracilo.

El proceso continua cuando el mARN sale del núcleo y allí los ribosomas [ 1] leen los

tripletes secuencialmente y los traduce a los aminoácidos correspondientes, los cuales unen

en una secuencia que dará como resultado a la proteína. A parte de identificar aminoácidos,

existen tripletes con la función de identificar el comienzo y el fin de cada región con

infonnación codificada. Por ejemplo, estos codones señalan el fin de sección: UGA, UAA,

UAG. Figura 2.3

A GATA G A T A6 C T T G A

e u u G A

(a)

u u u G u A

------goPhe-V<ll ______ y[O

G G A

(b)

Figura 2.3 (a) En esta gráfica se muestra el proceso de transcripción.(b) Tras ser copiada la infonnación de la cadena de ADN al mARN, Los ribosomas terminan el proceso traduciendo el código y construyendo las cadenas aminoácidos que fonnarán las proteínas. En la lamina se muestran 2 de ellos. La fenilalamina (Phe) y la valina (Val).

23

Page 21: Modelo computacional de la evolución de secuencias

2.4 Genética.

En la segunda mitad del siglo XIX, el monje austríaco Gregor Mendel realizó las primeras

investigaciones sobre la herencia. Mendel cruzó diferentes plantas y observó los rasgos de

los descendientes, y conjeturó que los factores hereditarios (genes) debían existir dos por

rasgo. Y a en el siglo XX, el descubrimiento y análisis del ADN le dio la razón a Mendel.

El mecanismo que permite la propagación de la información genética de una generación a

otra es la reproducción. Existen dos tipos: sexual y asexual [1][2]. Sin embargo, en la base

de la reproducción y la herencia hay un proceso llamado meiosis.

En este proceso, una célula diploide se divide primero en dos células haploides, las cuales a

su vez vuelven a dividirse dando como resultado que las dos secuencias que conforman

cada cromosoma se separen. Tenemos entonces cuatro gametos que contendrán sólo un gen

de cada rasgo y los distintos gametos de un mismo padre podrán contener alelos diferentes.

Durante la primera división de las células en el proceso de la meiosis, los cromosomas

homólogos pueden romperse y los segmentos rotos de cada par pueden volver a unirse con

partes de otros cromosomas homólogos. Este proceso recibe el nombre de· cruce. En

consecuencia la combinación de genes que porta la descendencia es diferente a la paterna.

Este intercambio de material genético es un mecanismo importante, ya que produce nuevos

genotipos. Este proceso es uno de los pilares de la evolución. Cuando un gameto ( célula

sexual) del padre se mezcla con un gameto de la madre, la célula resultante es nuevamente

diploide y contiene un juego completo de parejas de cromosomas.

2.4.1 Métodos de alineación de secuencias.

Una de las herramientas más usadas dentro de los estudios evolutivos para determinar

relaciones entre pares de secuencias y grupos de ellas, así como para descubrir información

estructural o funcional de las mismas, está constituida por los métodos de alineación. En

particular, estos métodos son ampliamente usados para construir árboles filogenéticos.

24

Page 22: Modelo computacional de la evolución de secuencias

Podemos definir a una alineación de secuencias como el procedimiento que rios permite

comparar dos o más secuencias en busca de patrones comunes en las mismas. Hay dos tipos

de alineaciones: global y local. En el primero se trata de encontrar el mayor número posible

de concordancias entre los elementos de las secuencias. En el segundo, sólo se busca

encontrar regiones especificas, donde se encuentre el mayor número de coincidencias. En

la figura siguiente (2.4) podemos ver ejemplos de los tipos de alineación.

(o)

AGATAGAATAC

1 1 1 1 1 ACCTAGGCGAG

(e)

-CATA---

1 1 1 - - - C A T T - - -

Figura 2.4 (a). Alineación Global. (b). Alineación local. Cuando una base de una secuencia empata con la base de la otra secuencia, se dice que ha habido una concordancia.

2.4.2 Tipos de alineación de Pares de secuencia.

La lista siguiente no busca ser exhaustiva. Nuestro interés es revisar algunos de los métodos

más utilizados: Análisis de matriz de puntos, Algoritmos basados en programación

dinámica y métodos de K-tuplas.

2.4.2.1 Matriz de puntos.

En el método de la matriz de puntos una secuencia SA es colocada en la parte superior de la

matriz, siguiendo la horizontal. La otra secuencia S8 se alinea con respecto a la vertical de

la matriz. Comenzando con el primer caracter de la secuencia B, se evalúa la secuencia A y

el cualquier lugar donde las bases concuerden, se coloca un punto.

Dentro del patrón de puntos dispersos, aparecerán como líneas sobre la diagonal los

segmentos similares en ambas secuencias. Figura 2.5.

25

Page 23: Modelo computacional de la evolución de secuencias

A e A T G

AGATG

• • • • • •

Figura 2.5 En este ejemplo minimalista podemos ver que el segmento ATG, que esta sobre la diagonal, es común a las dos secuencias.

2.4.2.2 Algoritmos basados en la programación dinámica.

Los métodos basados en programación dinámica fueron introducidos pnmero en el

algoritmo de Needleman y Wunsch [6] para realizar alineaciones globales, y luego en las

locales por Smith y Waterman [6]. La manera en que trabajan es la siguiente: se comienza

en la sección final de ambas secuencias y se intenta empatar el mayor número posible de

pares de caracteres entre las secuencias, siguiendo un esquema de puntaje definido por el

número de concordancias (pares que coincidieron), no-concordancia y huecos. El

procedimiento genera entonces una matriz con las posibles alineaciones y se selecciona la

ruta entre las casillas de la matriz que devuelvan el mayor puntaje posible.

En el caso de proteínas se han desarrollado matrices con valores estándares basadas en el

estudio de algún número representativo de secuencias. Estos valores ayudan a definir el

puntaje. Ejemplo de esto son la matriz PAM250[5] y la PAM62[5].

Estos algoritmos se usan de manera generalizada, de hecho, el algoritmo que usamos en

este proyecto es uno de ellos, el algoritmo de alineación de pares de secuencias usado es: El

GAP ( en inglés, Global Alignment Program ). [31]. Una cuestión a considerar en estos

algoritmos es el número de pasos que requieren y que generan un esfuerzo computacional

considerable. Uno ejemplo de este algoritmo puede verse en la figura 2.6.

26

Page 24: Modelo computacional de la evolución de secuencias

A G A T A A 5 ......... -2 ... '"-¡ 5 -2 5 e -2 -2 r -2 • -2 -2 T -2 -2 -2 '.._ 5 -2 T -2 -2 -2 1 5 " -2 A 5 -2 5 -2 " 5

A G A T A

1 1 1 A e T T A

Figura 2.6 En este ejemplo, mostramos la ruta que eligió el algoritmo y el resultado de la alineación. Los valores que están en las casillas corresponden a los parámetros que manejamos para calcular el pontaje. Aquí, un par de bases que coinciden agrega al pontaje un valor de 5, por el contrario una no­concordancia resta -2. El pontaje total de esta alineación es igual a 16.

2.4.2.3 Métodos de K-tuplas.

Si deseáramos hacer un estudio comparativo de un número considerable de secuencias,

todos los métodos se verían abatidos por el incremento exponencial del costo

computacional involucrado en la tarea. Estos métodos primordialmente, buscan K-tuplas

idénticas de tamaño reducido en las secuencias y después, usando programación dinámica

unen estas tuplas y generan la alineación. Además se incluye el uso de heurísticas, lo cual

acelera el proceso pero no garantiza alcanzar valores óptimos de alineación.

2.4.3 Alineaciones múltiples.

Básicamente, en un alineamiento múltiple, varias secuencias se acomodan una bajo la otra,

para construir una tabla de modo que es más fácil observar las regiones comunes que

aparecen más conservadas y las divergentes.

Supóngase que las secuencias 81= CTGC, 82= CATAT, 83= CTAT y 84= CTGC,

son usadas en una alineación múltiple. La información que nos proporciona la alineación

sugiere que: S 1 y 8 4 están relacionadas de manera cercana, ya que presentan un mayor

27

Page 25: Modelo computacional de la evolución de secuencias

número de caracteres coincidentes que si se asocian a otra cadena. Lo mismo ocurre con las

secuencias 82 y 8 3 . Figura 2.7.

81:

82:

83:

84:

e e e e

-A --

T - G T A -T A -T - G

Figura 2.7 Ejemplo de alineación múltiple.

e -- T - T e -

Las alineaciones múltiples se suelen implementar con programación dinámica; siendo ésta

una generalización del caso de pares de secuencias.

2.5 Evolución.

La evolución es el proceso que resulta de aplicar la selección natural 1 a una población de

genes. En un punto medio, la selección inducirá una especialización de los miembros de

una población, de modo que estén completamente adaptados a su medio ambiente. La

especialización llevada al extremo por condiciones como el aislamiento, puede dar como

resultado la divergencia de la especie en dos o más, nuevas especies.

Dentro de la genética ( específicamente, la genética evolutiva). Se estudian los cambios que

han sufrido los genes a lo largo de grandes periodos de tiempo. La principal estructura de

información usada para representar relaciones evolutivas es el árbol filogenético.

2.5.1 Arboles filogenéticos.

Los árboles filogenéticos son diagramas que muestran las relaciones evolutivas entre

organismos (existentes o extintos). Estas relaciones han sido determinadas usando sus

características morfológicas y bioquímicas desde tiempos de Darwin[8]. Sin embargo, en la

1 Después de su viaje en el velero Beagle por los años 30 del siglo XIX, Charles Darwin trabajó en el problema de la evolución de las especies y llegó a la conclusión de que el motor de la misma es la selección natural. No pudo, sin embargo, explicar como se conservaban las características en la población ni cómo se heredaban las mejores a la descendencia.

28

Page 26: Modelo computacional de la evolución de secuencias

actualidad los árboles filogenéticos son derivados comúnmente de secuencias de ADN y

proteínas [6][7]. Ver figura 2.8.

Así que, para estudiar los cambios ocurridos durante la divergencia desde un ancestro

común, se estudian las diferencias entre secuencias provocadas por tres posibles

operaciones genéticas:

a. Sustitución. En este proceso de alteración una base de una secuencia es

reemplazada por otra.

b. Inserción. En este proceso se agregan bases a la secuencia biológica en cualquier

posición de la secuencia.

c. Eliminación. En este proceso se eliminan bases a la secuencia biológica en

cualquier posición de la secuencia.

Por ejemplo, a partir de dos secuencias muy similares entre sí, salvo que al final de una de

ellas tiene una base que no aparece en la otra, podemos inferir que esta alteración es ya sea

una inserción de nuevas características, lo que la hace una secuencia más reciente, o una

eliminación de la misma base debido a cambios en el entorno que declinaron su utilidad.

@HTU A

eon,

B

Ralz e

D

Figura 2.8 La gráfica presenta un árbol filogenético mostrando la relación evolutiva entre 4 especies: A,B,C y D. Al ancestro común a todos se le llama raíz. Los nodos tenninales se conocen como unidades taxonómicas operacionales (en inglés, OTUs). Los nodos internos que se refieren a inferencias de supuestos antecesores, se les suele llamar unidades taxonómicas hipotéticas ( en inglés, HTUs).

29

Page 27: Modelo computacional de la evolución de secuencias

Por lo general, los árboles se construyen analizando regiones especificas del ADN de las

secuencias bajo estudio, por ejemplo, un gen común. Para comparar las cadenas y entender

las mutaciones que pudieron haber ocurrido, se utiliza regularmente (pero no de manera

exclusiva) una alineación múltiple.

Un posible árbol resultante de la alineación presentada en la figura 2.6, sería el que aparece

en la figura siguiente:

' ' ' . '

' ' ' . . ' . . ' ' ' . . . .

' . . ,

S1

, ' .

'

. ' s.

.. . . , ' , ' . . I ' .

' ' '

I .

' '

. . ' . . . .

. . '

Figura 2.9 Árbol filogenético construido a partir de la alineación múltiple de las secuencias presentadas en la figura 2.6.

Además de la alineación múltiple, la bibliografia existente habla de varios métodos para

inferir árboles filogenéticos usando alineaciones de pares de secuencias. Antes de pasar a

estos métodos, conviene señalar que, aunque la alineación múltiple parece ser la opción

obvia para analizar grupos de secuencias, está no es aplicable a grandes cantidades de las

mismas, debido a que su complejidad computacional es muy grande ya que tiene un

crecimiento exponencial.

2.5.2 Generación de árboles, usando distancia entre parejas de secuencias.

Estos métodos se basan en el cálculo de distancias entre pares de secuencias de un

conjunto de datos dado. La distancia se puede definir de muchas maneras, por ejemplo, uno

puede definirla como el porcentaje en que difieren las bases de una secuencia a otra.

30

Page 28: Modelo computacional de la evolución de secuencias

2.5.2.1 UPGMA Y Neighbor-Joining

Un par de técnicas desarrolladas basadas en esta idea son las técnicas de cúmulos ( en

inglés, c/usters) UPGMA y Neighbour-joining [6]. En la primera, se construye el árbol en

forma ascendente. Primero se asocian las dos secuencias más cercanas y continua así hasta

que se termina con los pares, luego se comienza asociar los cúmulos entre sí. Una ventaja

de este método es que nos permite crear árboles con raíz, de modo que podemos localizar

una secuencia ancestro de todas las demás. Adicionalmente, nos da la posibilidad de

visualizar un "reloj molecular", esto es, que las distancias nos pueden permitir inferir los

periodos en que se desarrollaron estas secuencias. (Figura 2.1 O).

En la segunda, se aprovecha una propiedad de los árboles que explicaremos a continuación.

En un árbol dado, la longitud de sus bordes se dice que es aditiva si la distancia entre

cualquier par de hojas es la suma de las longitudes de los bordes en la ruta que los conecta.

Usando esta técnica se pueden generar árboles que no tienen raíz. (Figura 2.11).

Cabe señalar que estos métodos pueden fácilmente generar árboles incorrectos, ya que

manejan varios supuestos, como que en promedio, los cambios que ocurren en las proteínas

tiene un crecimiento constante. Lo cual no es cierto o al menos, es dificil de comprobarlo .

• • 1 • 3

2

1

(a)

• 1 • 3

r+l 2

(b)

4

1

5

2

(e)

3

Figura 2.10 Vemos aquí un ejemplo de cómo funciona el algoritmo UPGMA. (a) Se presentan las secuencias como puntos. (b) Se asocian los puntos más cercanos generando un primer nivel. ( c) Se agrupan el primer cúmulo y la distancia restante para así, completar el árbol.

31

Page 29: Modelo computacional de la evolución de secuencias

4

1

5 2

3

Figura 2.11 La gráfica muestra un ejemplo de árbol generado con el algoritmo de Neighbour-joining.

2.5.2.2 Parsimonia.

Esta familia de métodos es probablemente una de las más usadas para generar árboles

filogenéticos. La idea en que se basan, se refiere a encontrar el árbol que pueda "conectar" a

las secuencias con un mínimo de sustituciones. En este método, en lugar de construir un

sólo árbol, se construyen varios asignándoles un costo. El algoritmo tratará de minimizar

ese costo y nos dará como resultado el árbol buscado[6]. Figura 2.12.

--, J AG:A:TA 2 AT~:TA

1 1

3 G A :or: TA

4 G A~ :e A :_.!

(a) 1 3

2>--<4 (e)

A T

A~T

(b)

Figura 2.12 En este ejemplo de la parsimonia, que estamos evaluando los cambios ocurridos a la base de la tercera posición de todas las cadenas. (a) Primero, se colocan como hojas del árbol las bases que se quieran comparar. (b) En este primer árbol, vemos que con un solo cambio se puede llegar de una secuencia a otra. ( c ). En este árbol requerimos 3 cambios para llegar de la secuencia 1 a la 4.

32

Page 30: Modelo computacional de la evolución de secuencias

2.5.2.3 Métodos probabilísticos.

En los últimos años se da dado gran impulso a los métodos probabilísticos para encontrar

filogenias, esto partiendo del supuesto de que los cambios no pueden ser puntuales, es

decir, que los cambios que han sufrido las secuencias a través del tiempo se deben medir de

acuerdo a un factor probabilístico. Por ejemplo: la probabilidad de que la pareja de bases

AC halla sido sustituida por AT.

Con respecto a los árboles filogenéticos, el método general habla de definir una

probabilidad para cada árbol de acuerdo a su semejanza entre sí. Algunos de los métodos

definidos para usar estas técnicas son las cadenas ocultas de Markov (HMM por sus siglas

en inglés)[6], redes neuronales[15] y redes de creencias[6].

Estos métodos están idealmente ajustados para dominios caracterizados por la presencia de

grandes cantidades de datos, patrones con ruido y la ausencia de teorías generales. La idea

fundamental detrás de estos enfoques es "aprender la teoría automáticamente a partir de los

datos"; a través de un proceso de inferencia, ajuste del modelo y aprendizaje a partir de

ejemplos. De modo que constituyen un enfoque complementario viable a los métodos

convencionales.

2.5.2.4 Análisis de los métodos

Los métodos antes mencionados tienen tanto ventajas como desventajas, las cuales

comentaremos a continuación. El método UPGMA como hemos mencionado antes, no

puede manejar tasas distintas de sustitución de nucleótidos y al realizar promedios para

asociar a los cúmulos irá perdiendo precisión. Al método Neighbor-Joining no le preocupan

las tasas de crecimiento distintas, pero depende para la construcción del árbol que se

cumpla la propiedad de adición [6]. La parsimonia no sirve más que para un grupo muy

reducido de secuencias ya que el método es muy costoso computacionalmente, ya que no

sólo genera un árbol sino un grupo de ellos que ira descartando progresivamente. Por último

los métodos probabilísticos aunque menos costosos que la parsimonia, suelen manejar

demasiados supuestos lo cual compromete su efectividad.

33

Page 31: Modelo computacional de la evolución de secuencias

Nuestro método es un enfoque a medio camino de los métodos de distancia y la parsimonia,

pero con un costo computacional mucho menos elevado. Además, nos permite caracterizar

el proceso de sustitución de nucleótidos, es decir, devolverá el posible siguiente valor. Lo

cual justifica el desarrollo de este proyecto, porque propone una alternativa menos costosa y

que aporta nuevos datos.

34

Page 32: Modelo computacional de la evolución de secuencias

CAPÍTUL03

ELEMENTOS DE LA PROGRAMACIÓN CELULAR

3.1 Introducción

En este capitulo, introduciremos los conceptos del modelo de autómata celular,

especialmente los autómatas celulares unidimensionales; luego hablaremos de los

algoritmos genéticos y por último de la programación celular. Al igual que en el capítulo

anterior, la intención de este es servir de introducción al lector respecto a estos modelos y/o

técnicas usados en este trabajo; sin la intención de ser exhaustiva pero sí, suficiente.

3.2 Autómatas celulares

Los autómatas celulares son modelos matemáticos de sistemas fisicos en los cuales espacio

y tiempo son discretos. Un autómata celular está constituido por un arreglo usualmente

infinito en su extensión con una variable discreta en cada casilla ( célula). El estado ( o

configuración) de un autómata celular lo especifican los valores de las variables en cada

célula. Un autómata celular "evoluciona" en pasos discretos de tiempo. El valor de una

célula depende de interacciones locales con las células vecinas en un paso previo de tiempo,

es decir, cambia de valor de acuerdo a los valores de las células más próximas. Los

autómatas celulares pueden ser de una o más dimensiones.

Los elementos que conforman a un autómata celular son:

a. Estado. Es el conjunto de valores que toman las células en un punto dado.

b. Vecindad o radio. Es el conjunto de celdas que interactúan entre sí.

c. Reglas. Es el conjunto de condiciones de definen como cambiará una celda de

acuerdo a sus vecinos.

d. Configuración. Es el conjunto de valores que en un intervalo de tiempo dado

presentan la colectividad de células (también llamadas, celdas).

35

Page 33: Modelo computacional de la evolución de secuencias

Veamos ahora un ejemplo sencillo de un autómata celular unidimensional, definido de la

siguiente manera:

Posibles estados: {0,1}

Radio: 1

(Esto quiere decir que, se considerará una célula a la izquierda y una, a la derecha).

Reglas: lzq-Centro-Der

Salida 000 001 O 1

010 011 1 O

100 101 1 1

Figura 3.1 Tabla de transiciones de un autómata celular unidimensional.

110 111 o o

El número de reglas depende de la vecindad o radio que se utilice, en este caso radio = 1.

El número de reglas a usar es: 22r+i = 220

>+1 = 8 . Donde r = radio.

Utilizaremos como ejemplo un autómata celular de una dimensión[16]. Para mostrar su

evolución durante un tiempo finito, se utilizan los denominados diagramas de tiempo. Estos

diagramas van colocándose, una bajo la otra, copias del "arreglo" mostrando como se ven

afectadas sus células por la aplicación de las reglas definidas para controlarlo, en cada paso

de tiempo.

Definimos una configuración inicial del Autómata celular de la siguiente forma:

O 1111 O 1 1 o

Figura 3.2 Configuración inicial del autómata celular del ejemplo.

Ahora mostraremos sus cambios respecto al tiempo cada que se aplicaron las reglas que

definimos previamente.

1 o o o o 1 o o 1

o 1 o o 1 1 1 1 o 1 1 1 1 o o o o 1

... ... . .. ... . .. . .. ... ... . ..

Figura 3.3 Diagrama de tiempo que muestra tres lapsos de tiempo que muestran otras tantas configuraciones sucesivas.

36

Page 34: Modelo computacional de la evolución de secuencias

Los autómatas celulares fueron introducidos originalmente por Von Newman y Ulam

(bajo el nombre de espacios celulares) como una posible idealización de los sistemas

biológicos (Von Newman 1963, 1966), con el propósito particular de modelar la auto

reproducción biológica[ 16].

3.2.1 Definición formal

Ahora, proporcionaremos una descripción formal de los autómatas celulares. Dado que

trabajaremos con autómatas unidimensionales, nos centraremos en estos.

Un autómata celular lineal puede definirse como una tupla, AC= (A,E,r,f)

Donde,

A

E= {0,1, ... ,k -1}

reN

f :E2r+1 ~E

Es un arreglo de m celdas de d dimensiones m ~ 1, d ~ 1

Es el conjunto de estados que puede tener una celda.

Es el radio de la vecindad.

Es la función de transición local.

Una configuración de un autómata celular es una función que especifica el estado de cada

celda x : Z ~ E y puede ser representada como una secuencia infinita

x = ( ... ,x;-n, ... ,x;, .. ,,x;+n' ... ). De modo que el espacio de configuraciones del autómata

celular es Ez. La vecindad de la celda i e Z es el vector (i - r, ... ,i, ... ,i + r). La función de

transición global del autómata celular, G : Ez ~ Ez, especifica el estado siguiente de cada

celda de acuerdo a la función local aplicada a los estados de las celdas en la vecindad

(Vi E Z): G;(x) = f(x;-r, .. ,,X¡, .. ,,X;+r).

Cada celda x e A cambia su estado en un periodo de tiempo discreto, agregado la variable

ta la función global tenemos:

a:= f(x;~;, ... ,x;-1, ... ,x;;;) donde te {l,2,3, ... ,N}

37

Page 35: Modelo computacional de la evolución de secuencias

Una última consideración es que, si manejamos un arreglo de celda de tamaño finito, el

arreglo se puede ver como un arreglo toroidal. Tenemos entonces, que para calcular la

vecindad:

Si i = m -1 entonces, X;+i = x 0 ; Si i = O entonces, X;_1 = xm-i

Nota: Z = {0,1,2,3, .... }

3.2.2 No-reversibilidad

Los autómatas celulares despliegan una cantidad n de configuraciones donde n e Z. Usando

las reglas del mismo, podemos determinar unívocamente el siguiente paso de una celda en

particular. Sin embargo, lo mismo no se aplica a su historial, es decir, no podemos

determinar los pasos anteriores que determinaron el estado actual de la celda, a menos que

se trate de un caso trivial. A esta limitación se le conoce como no-reversibilidad.

3.2.3 Tipos de autómatas celulares

Nos hemos centrado en autómatas celulares de una dimensión, pero de hecho, los autómatas

celulares pueden ser de 2 o más dimensiones. El conocido juego de la vida de Conway esta

construido usando como base una matriz de n x n donde n E Z es un autómata celular de

dos dimensiones[ 16].

Otra clase de autómatas celulares que difieren de la definición clásica, la constituyen los

autómatas asíncronos. Estos comparten todas las características de los autómatas ya

descritos excepto que, el colectivo de celdas no cambia de valor en un mismo lapso de

tiempo.

Por último, mencionaremos a los autómatas celulares no-uniformes. Estos en lugar de

utilizar una regla universal (que aplique a todas las celdas), se define un conjunto de reglas

38

Page 36: Modelo computacional de la evolución de secuencias

para cada una de las celdas. Esto incrementa el esfuerzo computacional considerablemente,

pero se ha probado que este tipo de autómatas celulares es capaz de computo universal [20].

3.2.4 Comportamiento de los autómatas celulares

Los autómatas celulares presentan un comportamiento bastante complejo y fuera de los

casos triviales es muy dificil determinar el comportamiento que presentarán. En algunos

casos simplemente se llega a un estado estable donde ya no ha cambio alguno en la

estructura del autómata. En otros casos se presenta un comportamiento cíclico, donde el

autómata celular transita por un conjunto de configuraciones, una y otra vez. Por último

hay algunos autómatas que presentan comportamientos totalmente caóticos o casi-caóticos.

No sabemos aún como producir estos comportamientos a voluntad de modo que, diseñar

que un autómata celular para que reproduzca un comportamiento es muy dificil.

3.3 Algoritmos genéticos

Durante los años cincuentas y sesentas del siglo pasado, investigadores del área de

computación, de manera independiente, se interesaron en los mecanismos que gobiernan la

evolución en los seres vivos. El interés fundamental fue construir modelos computacionales

que sirvieran para desarrollar nuevos métodos de optimización.

Aún y cuando varios científicos trabajaron en varias clases de algoritmos que incluían

técnicas evolutivas, fue John Holland quien definió un esquema que incluían los elementos

básicos de la selección natural y la genética. Sus descubrimientos fueron descritos en

1975[23]. Fue un alumno de Holland, David Goldberg, quien los aplicó exitosamente a un

problema del mundo real: la optimización de líneas de distribución de gas natural[19].

Hoy día, los algoritmos genéticos se utilizan en casi todos los ámbitos de resolución de

problemas. Desde aplicaciones en ingeniería[19], economía[19], sistemas sociales y en un

curioso giro, para estudiar e interpretar los datos provenientes de los estudios genéticos[30].

39

Page 37: Modelo computacional de la evolución de secuencias

3.3.1 Un algoritmo genético simple

Aunque pueden vanar, todo algoritmo genético contempla -al menos- los siguientes

elementos:

1. Una población de cromosomas que generalmente se representan por medio de

un conjunto de cadenas de caracteres binarios de longitud fija.

2. La selección, escoge a los cromosomas más aptos para cruzarlos. Cada

cromosoma es evaluado por una función de aptitud que determina su desempeño

en la resolución de un problema.

3. La operación de cruzamiento es la combinación de una o más porciones de dos

cromosomas para producir nuevos descendientes.

4. Ocasionalmente, puede darse alguna mutación entre los descendientes. Esta

operación se refiere al cambio esporádico de uno o más alelos de los

cromosomas que intervinieron en el cruce.

En la figura siguiente aparecen de manera esquemática, algunos de los elementos de un

algoritmo genético. Figura 3.4.

Pobladón

1 1

1 1 1-----------------------1 1 I L....L....,..L-'-..L-.L.......1---'----'--' , ____ ----------- ------

Gen o alelo Cromosoma

Operación de cruce

Secuencia A :

1 1 1 1 1 1 ! 1 1 1

•••••••• Locl

Descendiente A'

111111 ••• Dc:scc11dlie11tc B'

11111 •••

Operación de 1nutadón

1 1 1 1 ,---, 1 1 1 1

1 :1 1: 1 1 1 1 1 1 1

'J-' M11tación p11nt11al

l l • 111

Figura 3.4 En esta gráfica aparecen representados los conceptos de población, cromosoma, alelo, cruce y mutación.

40

Page 38: Modelo computacional de la evolución de secuencias

Ahora, revisemos el algoritmo genético simple, pero para hacerlo de manera más explícita

trabajaremos un problema específico que ayude a clarificar los conceptos. Supóngase que

deseamos optimizar la función Max(x) cuyo único propósito es encontrar el valor más

grande dex, codificado en base 2.

a. Iniciamos generando una población aleatoria de cuatro cromosomas de longitud 1 O. Y

calculamos su aptitud.

# Cromosomas Aptitud f (x) % del total 1 0010010110 150 25.81 2 0101010011 339 58.34 3 0000011001 25 4.30 4 0001000011 67 11.53

L= 581 100 X= 145.25

Tabla 3.1 Cálculo de aptitud de una población de cromosomas.

El proceso de selección escogerá a los individuos más aptos para reproducirlos. La manera

en que se elige a los cromosomas y qué tantas veces se reproducirá, depende del método de

selección usado. Aquí usaremos el popular método de la ruleta descrito por Goldberg [ 19].

En este método, se le asignan espacios de una ruleta a cada cromosoma (selección

proporcional a la aptitud) de acuerdo a su porcentaje de contribución respecto al total de la

función de aptitud. Luego, cada vez que necesitemos seleccionar un padre para

reproducción, simplemente se hace girar la ruleta. En este esquema, aún cuando algunos

miembros de la población cuentan con mayor número de casillas, es probable que debido al

factor aleatorio de la elección se elijan padres con menor aptitud, permitiendo una buena

diversidad genética. Para nuestro ejemplo, la ruleta de esta primera generación se puede ver

en la figura 3.5.

41

Page 39: Modelo computacional de la evolución de secuencias

Figura 3.5 En la gráfica aparecen las casillas que le son asignadas a cada miembro de nuestra población.

Giramos la ruleta 4 veces y obtenemos la siguiente selección de progenitores:

# Cromosomas Aptitud f (x) Selección

1 0010010110 150 1 2 0101010011 339 2 3 0000011001 25 o 4 0010010010 146 1

Tabla 3.2 Resultado de girar 4 veces la ruleta para seleccionar a los padres de la siguiente generación.

Al igual que en otros métodos de búsqueda, una temprana selección de valores demasiado

altos, puede conducir a óptimos locales, por lo que es mejor usar métodos que nos permitan

dar oportunidad a otros miembros de la población, aparentemente menos aptos [19][30].

b. Para crear una nueva generación, se escogerá de manera consecutiva pares de

cromosomas hasta completar el total de la población. Para este ejemplo, simplificado en

extremo, no consideramos la posibilidad de poblaciones superpuestas, es decir, ningún

individuo de la generación previa sobrevivirá.

Por la operación de selección tenemos que la cadena 2 y la cadena 1 son las cadenas

previamente escogidas para cruzar. Entonces, el operador de cruzamiento seleccionará

un punto de cruce y combinará los cromosomas. La selección de este punto ( o puntos de

cruzamiento) es un proceso aleatorio, el cual nuevamente refuerza la diversidad de la

población. Supongamos, que se elige al azar como punto de cruce la posición 4 de

derecha a izquierda.

42

Page 40: Modelo computacional de la evolución de secuencias

Punto de Cruzamiento = 4

1 001001b110 1

1 1

1 010101~011 1 1 1 1

Produce los descendientes siguientes: 1

# Cromosomas Aptitud f(x)

5 0010010011 147 6 0101010110 342

Seleccionaremos ahora la cadena 2 y la 4 y se cruzan.

Nuevo punto de Cruzamiento

1 0101p10011 1

1 1

1 0010p100101 1 1

Figura 3.6 Aquí se describe el procedimiento de cruzamiento para la primera generación.

La función de la mutación es producir nuevos puntos a evaluar en el espacio de

búsqueda. Supongamos que el alelo 1 O, de izquierda a derecha del cromosoma 2

cambia (muta) de 1 a O, el cromosoma entonces seria 0101010010.

Produce los descendientes siguientes:

# Cromosomas Aptitud f(x)

7 0101010010 338 8 0010010010 146

Tabla 3.3 Resultados parciales después de aplicar el cruzamiento.

43

Page 41: Modelo computacional de la evolución de secuencias

Nuestra nueva población es la siguiente:

# Cromosomas Aptitud f (x)

5 0010010011 147 6 0101010110 342 7 0101010010 338 8 0010010011 146

Promedio= 243.25

Tabla 3.4 Resultados completos donde se presenta la segunda generación y calculo de su aptitud. A partir de aquí volverá a comenzar el ciclo de nuevo.

Observación: Como podemos ver se perdió el mejor individuo de la generación

previa, pero el promedio muestra que la población ha mejorado.

c. El proceso anterior de generación de nuevos descendientes continuará hasta que se

alcance el valor óptimo o al llegar a un número predeterminado de generaciones. A la

selección, cruce y mutación se les conoce como operadores genéticos.

Existe una amplia gama de variantes de estos operadores [19][22]. Los algoritmos genéticos

no garantizan alcanzar el valor óptimo y dado que muchos de los procesos incluyen

elementos aleatorios, es conveniente realizar varias simulaciones para evaluar el desempeño

del algoritmo genético.

3.3.2 Ventajas

Los algoritmos genéticos no exploran de manera aleatoria un espacio de búsqueda, lo que

hacen es explotar la información histórica para especular sobre nuevos puntos de búsqueda

que mejoren los resultados obtenidos hasta ese momento. Son especialmente útiles en

situaciones en las cuales, hay muchos puntos del espacio de búsqueda que nos pueden llevar

a óptimos locales. Además los algoritmos genéticos además, evalúan varios puntos al

mismo tiempo, mientras que otros métodos tradicionales tratan de maximizar un sólo

parámetro.

44

Page 42: Modelo computacional de la evolución de secuencias

3.4 La programación celular

La programación celular es una técnica utilizada por Moshe Sipper [20], por Melanie

Mitchell [30] y por John Koza [30], como una respuesta a la observación de la manera en

que la naturaleza resuelve problemas usando sistemas que funcionan utilizando reglas

locales y paralelismo, de modo que son capaces de lograr comportamientos muy complejos.

Ejemplo de esto son los ensamblajes de células, las colonias de insectos, etc. Estos sistemas

muestran una asombrosa capacidad de resolver problemas en un ambiente dinámico.

El enfoque general de la programación celular es el siguiente: se basa en hacer evolucionar

un autómata celular mediante un algoritmo genético. Los cromosomas que conforman la

población del algoritmo genético son las reglas de transición que dirigen al autómata

celular. Posteriormente se producen un cierto número de configuraciones, generadas al

azar, que se probarán con cada uno de los conjuntos de reglas.

En pruebas realizadas por Melanie Mitchell usando la programación celular para resolver el

problema de densidad en un plano[30]. Los resultados fueron bastante alentadores [l 9][20].

En estos, los autómatas celulares "evolucionaron" a soluciones bastante peculiares. Claro

está, no se logró alcanzar el óptimo para la tarea.

45

Page 43: Modelo computacional de la evolución de secuencias

CAPÍTUL04

PLANTEAMIENTO Y MODELO USADO

4.1 Introducción

En este capítulo, revisaremos pnmero un modelo clásico sobre la sustitución de

nucleótidos. Posteriormente, lo compararemos con el nuestro. Después, presentaremos el

modelo propuesto y su representación dentro del ámbito del algoritmo genético.

4.2 Planteamiento de la hipótesis de trabajo

En este trabajo, pretendemos determinar si es posible, a través del modelo computacional

de los autómatas celulares, simular el comportamiento observado en la evolución de las

secuencias de ADN. Esto es, caracterizar el proceso de sustitución de nucleótidos durante

un lapso de tiempo relevante, evolutivamente hablando.

Para esto, debemos conocer un poco más de uno de los procesos que involucran la

evolución de las secuencias, el proceso de sustitución de nucleótidos.

4.3 El proceso de sustitución de nucleótidos

En la evolución de secuencias de ADN, un proceso fundamental es la substitución de una

base por otra a lo largo del tiempo. En los estudios evolutivos, el número de substituciones

así como el ritmo de ocurrencia de las mismas, se utiliza para reconstruir la evolución de

los organismos [27].

Después de que 2 secuencias divergieron de un antecesor común, cada una de ellas

comienza a acumular sustituciones, de modo que el número de las mismas es una de las

medidas más usadas en evolución molecular. Si dos secuencias de longitud N difieren de

la otra en n puntos, entonces la proporción de diferencias es n / N , es referida como el grado

de divergencia o distancia de Hamming [25].

46

Page 44: Modelo computacional de la evolución de secuencias

El problema fundamental se refiere a que, una inspección del estado actual de las

secuencias no nos aporta mucha información respecto al número real de sustituciones que

han tenido lugar. Un mismo sitio pudo ser actor de múltiples sustituciones. Por ejemplo, si

una posición de una cadena de ADN cambio de A a e y en la otra cadena en la misma

posición de A paso a T y luego a C. Nuestro análisis arrojará que ambas son idénticas, ya

que no tenemos forma de saber de las 3 sustituciones que tuvieron lugar. En la figura 4.1

mostramos un ejemplo más completo.

(d)

e A

i T /A e A T G A e e T A

A C A T G

~A C A T G A G A T A

! ! ! (e) T G A ! ! G T

(a) (b) (e)

Figura 4.1 En la gráfica se muestra una secuencia de ADN y dos descendientes de la misma. (a). Aquí se observa como se suceden 2 sustituciones de la base original. (b). En este caso, la sucesión de sustituciones regresa al mismo nucleótido por lo que no sabremos que ocurrió. (c) y (d). Podemos observar que ambas secuencias cambiaron hacia la misma base, por lo tanto tampoco aparecerá en una simple inspección comparativa de las dos secuencias. (e). Las cadenas actuales nos muestran solamente dos puntos divergentes así la historia real de sustituciones no ha sido conservada.

V arios modelos han sido propuestos para representar la dinámica de la substitución de

bases. Ejemplos de estos son, los modelos de Kimura [27] y el de Jukes y Cantor [27].

Ambos, desarrollados para determinar, la probabilidad de que una base sea sustituida por

otra en un tiempo t .

47

Page 45: Modelo computacional de la evolución de secuencias

4.3.1 Revisión del modelo de un parámetro

El modelo de Jukes y Cantor, conocido como el modelo de un parámetro trabaja bajo el

supuesto de que los cambios de una base a otra ocurren como eventos puntuales y con una

misma probabilidad. Esto queda esquematizado como se muestra en la figura 4.2.

a

Figura 4.2 En esta gráfica se muestra que la tasa de sustitución para cada nucleótido es a . Dado que el modelo sólo tiene este parámetro de allí su nombre.

De modo que la probabilidad de que una base cambie a otra es: 3a. y la probabilidad de que

en un tiempo t un nucleótido X sea sustituido por un nucleótido Y esta dado por:

Si X=Y,

Si X :;t: Y,

1 1 -4al Pxr<1> =---e

4 4

(4.1)

(4.2)

Para el modelo de un parámetro de Jukes y Cantor. Dado que en la practica, no es posible

determinar el tiempo de divergencia, no se puede estimara . Pero es posible estimar K, que

es el número de sustituciones por posición desde el tiempo de divergencia de las dos

secuencias. Podemos calcular a K como

48

Page 46: Modelo computacional de la evolución de secuencias

(4.3)

Donde, p es la proporción observada de nucleótidos diferentes entre las dos secuencias.

Por ejemplo, si la longitud de la secuencia es L = 300 y se observan 25 transiciones2 y 5

cambios transversales Tenemos que K ~ 0.1073

El calculo de K, es lo más cercano que los métodos actuales tienen para calcular el número

de sustituciones que han ocurrido desde el tiempo de divergencia de las secuencias. Pero no

me pueden decir que la progresión de nucleótidos que apareció, nuestro método sí. Esta es

una de las aportaciones más importantes de esta tesis.

4.3.2 Comparación del modelo de un parámetro y el modelo con autómatas celulares

Podemos ver una secuencia de ADN como una secuencia de caracteres. De manera formal,

definimos a la cadena usando teoría de conjuntos como:

X= { A, C, T, G}

Donde

m~l

m,iel

Tenemos entonces una cadena así:

(4.4)

2 Los nucleótidos pueden ser de dos tipos: purinas (A,G) y pirirnidinas (C,T). Si al cambiar de una base por otra, estas son del mismo tipo se le llama transición, si son de tipo diferente se dice que ocurrió un cambio transversal.

49

Page 47: Modelo computacional de la evolución de secuencias

Usando el modelo de un parámetro tendríamos algo así para modelar la evolución de las

secuencias:

I p 1 3 -4at yj = X¡, XY(r) = 4 - 4 e

1 1 1 -4at yj *- X¡,Pxrc,¡ =---e

4 4

Quedado entonces la secuencia como:

(4.5)

(4.6)

Esta secuencia define el proceso de evolución de una secuencia a otra usando el método de

un parámetro. A continuación, veremos el modelo de evolución usando autómatas

celulares:

Aquí consideramos que los cambios no dependen de situaciones independientes sino de

interacciones con sus vecinos. Tenemos entonces que la secuencia de ADN modelada de la

(Vi e 'l): G¡(x) = f(x¡_,, ... ,X¡,· .. ,xi+,) Es la función global que define el estado de una

celda de acuerdo a interacciones locales con sus vecinos. Incluyendo el tiempo t , tenemos:

e:= f(x;~: .... ,x;-1, ... ,x;;:) donde te {l,2,3, ... ,N} (4.7)

La secuencia resultante de la aplicación de las reglas quedaría como:

c~.c;, ... ,c: (4.8)

50

Page 48: Modelo computacional de la evolución de secuencias

4.4 Espacio de búsqueda

Analizaremos ahora el espacio de búsqueda en el cual trabajaremos:

Si tenemos un alfabeto de cuatro símbolos y consideramos un radio igual a uno, el número

de combinaciones posibles es igual a: 43 = 64. Los conjuntos de reglas que debemos

evaluar dado el mismo alfabeto, son:

El cuadro siguiente muestra el crecimiento del espacio de búsqueda con los diferentes

valores de radio.

Radio Dimensión del espacio de búsqueda

1 44¡ = 464 ~ 1040

2 445 = 41024 ~ 10600

3 4 47 = 416384 ~ 109850

... ...

Tabla 4.1 Dimensiones del espacio de búsqueda para el problema usando cuatro caracteres.

Como hemos visto el espacio de búsqueda es demasiado grande para los métodos de

búsqueda tradicionales. Por lo que, para resolver el problema de búsqueda hemos

considerado utilizar dos técnicas especiales: los algoritmos genéticos y los autómatas

celulares.

4.5 Justificación

Los algoritmos genéticos proveen una manera muy poderosa de implementar búsquedas, ya

que en lugar de evaluar un solo punto, los algoritmos genéticos realizan búsquedas en una

población de puntos.

En nuestro caso específico, la gran cantidad de posibles reglas de transición a evaluar hace

necesario usar una herramienta que pueda lidiar con el espacio de búsqueda y tratar de

encontrar el autómata celular deseado.

51

Page 49: Modelo computacional de la evolución de secuencias

La literatura nos anticipa que la tarea de obtener reglas de transición que hagan converger

al autómata hacia una configuración dada, es extremadamente dificil [20]. Esta

complicación parte de una de las características de los autómatas celulares: en los casos no

triviales, el comportamiento que emerge de los autómatas celulares es imprevisible, o al

menos explicarlo a partir de interacciones locales es un proceso bastante complejo[16].

Estos se conocen como comportamientos emergentes[ 16]. La programación celular es una

herramienta especialmente desarrollada para tratar de generar automáticamente autómatas

celulares que realicen una tarea específica.

4.6 Modelo propuesto

Las moléculas de ADN, aún y cuando son estructuras tridimensionales, pueden transcribirse

en forma de secuencias de caracteres sin pérdida de información esencial. Esto es posible

gracias a que de manera experimental determinadas secuencias biológicas pueden ser

obtenidas con completa certeza.

En una secuencia dada, en una posición particular, podemos encontrar sin posibilidad de

mezcla alguna una base específica [ 4].

Para la informática, la naturaleza digital de las secuencias de información biológica hace

que parte de los problemas que presenta el ADN se puede caracterizar como los

relacionados con búsquedas, análisis y procesamiento de cadenas de caracteres. En efecto,

ya que los datos que conforman una secuencia de ADN se pueden representar como una

cadena de caracteres combinando las letras A, e, T y G [5].

Un segmento de una secuencia de ADN podría ser transcrito, como:

AGTGGAGTAACTCAACATCGGCGGGTGGAGGGTGGGGACG

En este trabajo se pretende construir un modelo sustentado en la programación celular a

través de manipulaciones al conjunto de reglas que gobiernan a un autómata celular, con el

52

Page 50: Modelo computacional de la evolución de secuencias

propósito de que pueda simular los mecamsmos moleculares que penniten que las

secuencias de ADN evolucionen. Esto bajo el supuesto de que las secuencias biológicas que

divergen de una secuencia ancestral común llegaron al punto actual por medio de cambios

moleculares iterativos; los cuales ya hemos explicado con anterioridad (ver sección 2.5.1):

sustitución, inserción y eliminación.

El modelo propuesto comienza con la selección de dos secuencias de ADN:

Secuencia 1 Secuencia 2

A

A

e A

T T G

T T G

A A e e T ... G A A e e ...

Figura 4.3 Dos secuencias de ADN vistas como arreglos para los autómatas celulares.

Estas, las secuencias toman otro nombre, desde ahora serán denominadas: configuración

inicial y configuración final, para ser consistente con la tenninología de los autómatas

celulares. La selección de una configuración como inicial y de la otra como final depende

de cuál configuración se quiera demostrar que desciende de la otra.

En temía, al inicio, éstas son intercambiables, ya que debemos probar ambas posibilidades.

Después de evaluarlas será posible identificar su precedencia correctamente.

Una situación especial a considerar, sería el caso en que ya se tenga alguna infonnación que

predisponga nuestra elección. Por ejemplo, que las configuraciones sean el resultado de un

algoritmo alterno de construcción de árboles filogenéticos que se quiera evaluar.

Para trabajar, un autómata celular requiere de un conjunto de reglas. El algoritmo genético -

como hemos comentado anterionnente- está confonnado por un conjunto de cromosomas

que integran la población a evaluar. En nuestro modelo, los cromosomas serán las reglas de

transición del autómata celular, de modo que tendremos una tabla como la siguiente:

53

Page 51: Modelo computacional de la evolución de secuencias

A e G T

AA G T A A

AC A T G e AG A e G A

AT G T A e CA G A e T

ce T G e A

... . .. . .. . . . . ..

Tabla 4.2 Conjunto de reglas de transición para el autómata celular.

Ya con una tabla de reglas de transición, podemos ejecutar N veces las reglas sobre la

configuración inicial, generando el siguiente diagrama espacio-tiempo:

~ AACTAAGGCCCACCTGGGGCCGTTAACCATAAG

t1 CCTGGGGCCGTTAACCATAAGAACTAAGGCCCA

t2 GGGCCGTTAAAACTAAGGCCCCCATAAGACCTG

Figura 4.4 Diagrama de tiempo para nuestra secuencia-configuración sobre dos lapsos de tiempo.

En cada ciclo, se comparará la proximidad de la configuración actual (la que ha pasado por

la aplicación de las reglas a partir de la configuración inicial) contra la final, para

determinar si antes del ciclo N + 1 converge a la final.

Es importante señalar que el problema básico de ir de una secuencia inicial a una final,

puede plantearse como una búsqueda. Esto constituye otro punto para apoyar la elección de

la herramienta de los algoritmos genéticos, ya que como hemos mencionado anteriormente,

son métodos eficientes para implementar búsquedas[ 16] [ 19].

Ahora bien, en caso de converger a la configuración deseada podemos utilizar este conjunto

de reglas que nos permitió llegar de una configuración a otra, para intentar acceder a otras

configuraciones emparentadas. De hecho esta es la característica más importante de nuestro

trabajo. Esta facultad no la tienen los otros métodos.

54

Page 52: Modelo computacional de la evolución de secuencias

4.6.1 Diseño del algoritmo genético

Los algoritmos genéticos requieren que la función a optimizar se encuentre codificada en

una representación apropiada. Además, es muy importante que esta codificación transmita

datos relevantes al algoritmo genético de lo contrario, su desempeño no será el mejor. A

continuación describiremos la representación que usamos para codificar nuestro problema y

la definición de nuestra función de aptitud.

4.6.1.1 Representación binaria

Primero, debemos codificar a nuestra población de reglas para que se ajusten al formato que

de acuerdo con la literatura, funciona mejor con los algoritmos genéticos, esto es una

representación binaria[ 19]. Para conseguir esto, haremos un mapeo entre el alfabeto de los

nucleótidos y valores binarios. Ver figura 4.3a. Después, almacenamos de la tabla de reglas,

los estados nuevos, figura 4.3b y por último los convertimos a la representación binaria

4.3c.

Tabla de rei:lu

(a) '.\topeo de bases a valores binarios AAAAACAATAAG

(b) ::: :::1::: :::tt:: :::1::: ==~== :::;:;:;:: :: A o o e o l T l o l\"uevo estado

G 1 1 (e)

Figura 4.5 En esta gráfica se muestra la tabla de mapeo(a). Una tabla de reglas (b) y el proceso de conversión a la representación binaria.

4.6.1.2 Función de aptitud

En el centro del algoritmo genético se encuentra el proceso que calcula la aptitud de cada

uno de los miembros de la población. En este caso, el proceso se realiza de la siguiente

55

Page 53: Modelo computacional de la evolución de secuencias

manera: A la configuración inicial le aplicamos un número predeterminado de iteraciones

sobre el conjunto de reglas, comparando después de cada cambio, que tan similar es a la

configuración final. La similitud nos la proporcionan tres opciones: la primera la distancia

de Hamming, la segunda el puntaje que devuelve el programa de alineación global y por

último, el número de pares de caracteres en la misma posición, que tras la alineación

quedan empatados a un caracter diferente. Esta última medida de la aptitud será evaluada a

fondo en el sección 5.8.

4.6.1.3 Operadores genéticos

Debemos implementar la selección, cruce y mutación, sobre la representación binaria. La

selección dependerá de una medida de similitud entre las secuencias ( comentada en la

sección anterior) de modo que se reproducirán aquellas que dirijan la evolución del

algoritmo genético hacia una configuración que sea similar a la configuración final.

La mutación que utilizamos es un evento aleatorio siempre es puntual, es decir, solo afecta

un bit de la representación binaria. Figura 4.6a. La operación de cruce que usaremos es

sencilla, ya que hay sólo, un punto de cruzamiento. El cruzamiento puede o no darse de

manera ya que esta definido también como un evento aleatorio y es también, a nivel bit.

Figura 4.6b.

[!] [TI (a)

~ 0 (b) (e)

J o J J J J I

O I J o o o J

Figura 4.6 Representación esquemática de la mutación (a) y del cruzamiento (b). en (c) El cruce eligió una posición que dividió un caracter que fue definido por la función de mapeo.

56

Page 54: Modelo computacional de la evolución de secuencias

4. 7 Algoritmo general propuesto

Usando el modelo propuesto, hemos construido el siguiente algoritmo general que

utilizaremos para generar múltiples simulaciones, que nos permitan evaluar nuestra

hipótesis en la práctica.

En la figura siguiente 4. 7 mostramos de manera esquemática este algoritmo. El cual

explicaremos a continuación:

1. La primera parte es la inicialización 4. 7 a donde, definiremos el número de generaciones

a simular, el número de configuraciones que se evaluarán (al total de estas las hemos

llamado "iteraciones" de la configuración inicial sobre una tabla de reglas especificas).

También se define en esta sección que secuencia de ADN será la configuración inicial

(Ci) y cual la final (C/). Y la población inicial de tablas de reglas de transición.

2. Posteriormente, comenzamos el ciclo principal (figura 4.7b) donde se generarán nuevas

configuraciones a partir de cada uno de los elementos de la población. Cada nueva

configuración será comparada contra la configuración final (figura 4.7c), en caso de

converger se termina el ciclo, en caso contrario, se evaluará la similitud entre la

configuración inicial y la configuración final y se guarda como la medida de aptitud.

3. Luego se utilizará esta medida de aptitud para cruzar los elementos de la población y

generar una nueva población. La mutación se da como un evento probabilístico de

manera puntual en los miembros la nueva población durante el cruzamiento. (Ver figura

4.7d).

57

Page 55: Modelo computacional de la evolución de secuencias

Inicio

(a) Inicialización

(b)

Fin

Iteraciones

Nueva configuración

(e) '".>--~ Salir ciclo

(d)

Nueva población

Figura 4.7. Algoritmo general propuesto.

4.8 Ejemplo práctico

Una vez presentado el modelo y el algoritmo general, los usaremos para desarrollar un

ejemplo muy simple que nos permita ilustrar todo el proceso:

1. Seleccionamos 2 secuencias de ADN que aparecen a continuación, llamaremos a la

primera secuencia: configuración inicial (figura 4.8a) y la segunda: configuración final

(figura 4.8b).

58

Page 56: Modelo computacional de la evolución de secuencias

(a) !A !G !T !A!

(b) !T!T!A!G!

Figura 4.8. Dos secuencias de ADN representadas corno autómatas celulares de modo que, cada nucleótido representa una célula del autómata.

El tamaño de la población de nuestro algoritmo genético será de tres. Y el número de

configuraciones que se generarán a partir de la configuración inicial (las cuales

llamaremos iteraciones) será de dos. Además, utilizaremos un radio = 1 (lo que nos da

un total de 64 reglas). Nota: Los valores seleccionados fueron escogidos para

simplificar el ejemplo.

2. Definimos un conjunto inicial de tablas de reglas (población). Cada una de las tablas de

reglas tiene la estructura que se muestra en la figura fig. 4.9a. Para que el algoritmo

genético pueda utilizar las tablas de reglas, estas se deben ordenar como un arreglo o

vector.

De modo que la tabla completa se representa solo por sus reglas. En la figura 4.9b

mostramos la manera en que se van recogiendo las reglas. Por último, las reglas

ordenadas son mapeadas a la representación binaria, discutida previamente en la

sección 4.6.1.1. (figura 4.9c ).

59

Page 57: Modelo computacional de la evolución de secuencias

(a)

A A

A A

e e e e

(b)

A e T G A e T G A A G C A. T A e A A. e e T e A A T C T GAT 'l' T A e 'r T T A. T T G G G GA e T G e G G e

A e T G A e T G A T G· e A G A G A. T G e e A T G G e e G· A 'r T G T A GG 'l' T A GC G A A e T G GA A C A

(e)

CAATACTGGACTGCACATG ••.

Figura 4.9. (a) Una tabla de reglas de transición completa para un autómata celular de radio igual a 1, es decir, solo se toma el vecino izquierdo y el derecho. (b) orden en que se toman las reglas para formar el arreglo. ( c) El arreglo obtenido de la operación anterior en convertido a una representación binaria, al finalizar esta ya tenemos codificadas las tablas como cromosomas del algoritmo genético.

Se generan tres tablas de reglas de manera aleatoria:

(o) (b) (e)

A G CA CAAC G A T G T G CA T G CA A G CA

T CA A T G A T C G A T CA T G CA T G T CA A

TAC T A T T G TA G C G TA G G TA G T A C T

G G A C CGGC A A CA A A C T A A C T G G A C

T G CA G A T G AGCA e A A e G A T G e A A e

CA T G C G A T T CA A T G A T C G A T T G A T

G TA G TA G C T A C T A T T G TA G C A T T G

A A C T A A CA G G A C e G Ge AACA e G G e

Figura 4.10. La primera generación de cromosomas estará constituida de tablas de transición generadas al azar. Nuestra población esta constituida de 3 elementos: (a), (b) y (c).

60

Page 58: Modelo computacional de la evolución de secuencias

3. Por cada elemento de la población generaremos dos iteraciones, es decir, aplicaremos

dos veces las reglas de transición para obtener dos nuevas configuraciones.

(a)

(b)

7;!GiTi'l'iC! !T!T!A!G! 0100•1

(e)

(d)

r~-1 1;~=0

le)

Figura 4.11. (a) Se muestra la configuración inicial sin modificación. (b)Obtención de puntaje de similaridad basado en la distancia de Hamming. (c) Segunda configuración de la primera tabla de reglas. (d) las configuraciones obtenidas con el segundo conjunto de reglas de transición. (e) Las configuraciones generadas con el tercer conjunto de reglas de transición.

Revisemos el proceso más detalladamente, al inicio ( t0 ) tenemos a la configuración

original { AGTA}. En el siguiente paso ( t1) le aplicamos las reglas de la primera tabla de

la población y obtenemos {TTAG}. Antes de que prosigamos con la generación de una

segunda configuración, comparamos el grado de similaridad de la configuración actual

con la final. Usando por simplicidad, la distancia de Hamming[25].

El resultado obtenido es igual a l. (figura 4.11 b ). El óptimo que deseamos alcanzar es

igual a 4, que es el número de caracteres que contienen las cadenas. Como no se

alcanzo este valor, el puntaje obtenido solo se guarda y se genera una segunda

configuración para el lapso t2 (figura 4.1 lc) y esta recibe un puntaje igual a dos.

Consecuentemente, se aplica la segunda y tercera tablas de reglas generándose por cada

una 2 configuraciones a partir de la configuración inicial original con los resultados

mostrados en las figuras 4.11 d y 4.11 e

4. El proceso de selección de progenitores tomará en cuenta el desempeño obtenido por

las tablas de reglas y sobre la base de la aptitud obtenida los cruzará con alguna

61

Page 59: Modelo computacional de la evolución de secuencias

mutación puntual involucrada en el proceso, una posible segunda generación se muestra

en la figura 4.12.

(a) (b) (e)

G T A G A T T G AACA A G CA A T T G AGCA CA T G T G A T 'l' A G C T CA A T G A T T CA A T G CA A A A C GATG T A C T A A A C TAC T AACT G G G e C G A T GGAC G G G e G G A C A G CA A A CA G TA G A 'l' T G AACA G TA G

TCAA 'l' A G C CA T G T G A T T A G C CA T G

T A C T GATG T G CA A A A C G A T G T G CA

GGAC C G A T A A C T G G G C CGAT A A C T

Figura 4.12. Luego de la selección de los cromosomas con mejor aptitud, cruzarlos con alguna mutación puntual ocasional, obtenemos a la nueva población de cromosomas, es decir, de tablas de reglas de transición que se probarán con la configuración inicial. Se presentan aquí únicamente los valores que devuelve la tabla de transiciones: (a), (b) y (c).

5. Las configuraciones que toma nuestra configuración inicial con esta nueva población de

tablas de reglas son las siguientes:

Fig. 4.13. Aquí se muestran las configuraciones obtenidas de aplicar las reglas de transición de la nueva población a la configuración inicial.

Como podemos ver en la figura 4.13c, el tercer elemento de la población después de

2 iteraciones de las reglas ha logrado llevamos de la configuración inicial a la final.

Este caso no es excepcional pero, obtener la solución no es asequible en todas las

ocasiones, dado que, los algoritmos genéticos no garantizan óptimos [19].

62

Page 60: Modelo computacional de la evolución de secuencias

CAPÍTULOS

EXPERIMENTOS Y RESULTADOS

5.1 Introducción

En los experimentos realizados desarrollamos tres líneas de investigación. En la primera

utilizamos secuencias de ADN creadas artificialmente. Después revisamos genomas

completos y por último, evaluaremos mutaciones puntuales y grupos de mutaciones en

posiciones adyacentes. El propósito de estos experimentos es inferir relaciones

filogenéticas entre pares de secuencias de ADN y construir en última instancia árboles

filo genéticos.

Las medidas de similaridad que utilizaremos que para construir los árboles filogenéticos

fueron dos: primero, fue la distancia de Hamming y posteriormente el número de bases no

concordantes, esta medida será explicada a detalle en la sección 5.8.

En este capitulo incluiremos los experimentos que se realizaron en este trabajo, así como

los resultados obtenidos. Antes de entrar a detalle, describiremos los algoritmos utilizados.

Posteriormente, la selección de las muestras utilizadas, así como las razones de su

selección.

Usamos como elemento de control el paquete informático para construir filogenias

ClustalW [33]. Algunos experimentos involucraban varias horas de simulación, lo cual

limita un poco el tamaño de sus parámetros y la cantidad de ejecuciones que se pueden

realizar. Elegimos como algoritmo de alineación la proporcionada por el programa GAP

[31] y para el procesamiento de nuestra matriz de resultados y la subsecuente la generación

del árbol al programa NEIGHBOR del paquete informático PHYLIP [32].

63

Page 61: Modelo computacional de la evolución de secuencias

5.2 Algoritmos utilizados

La metodología empleada se puede enumerar de la siguiente manera:

1. En una primera etapa, únicamente se estudió, la sección que incluía la programación

celular y que manejaba genomas completos.

2. La segunda versión, que trabajaba únicamente con un arreglo de bases no-concordantes.

3. La versión alterna actual, que procesa los mini-arreglos formados por conjuntos de

bases no-concordantes adyacentes.

Nota: Al lector interesado en los pseudo-códigos estos se encuentran en el anexo B. Donde

están descritos estas versiones del algoritmo general descrito previamente en el capitulo 4.

5.3 Selección de especímenes

Debido a que, como hemos mencionado anteriormente, algunos genomas pueden incluir

millones de caracteres[4], elegimos primero trabajar, con secuencias sintéticas de tamaño

1 O, 100 y 1000; las cuales no tenían ninguna relación con secuencias biológicas. Un

ejemplo de estas secuencias seria:

TAGTAACAGATATCCACTGA

La cual, debido a que presenta en su inicio 2 codones de alto (TGA y T AA) probablemente,

de encontrarse en una secuencia real, estaría inhabilitando a la misma.

Nota: Dentro del código genético existen tripletes que no codifican ningún aminoácido sino

que, sirven como elementos de separación entre la codificación de estos. A estos tripletes se

les llaman codones de alto[l].

La utilidad que estas secuencias artificiales nos prestaron fue la calibración de parámetros

del algoritmo genético, por ejemplo, el factor de mutación y el tamaño de la población;

además de la verificación del tiempo de ejecución.

64

Page 62: Modelo computacional de la evolución de secuencias

Nuestra primera opción fue utilizar los organismos conocidos como arqueabacterias [29],

con genomas de aproximadamente 2 Millones de pares de bases, pero fueron desechadas

posteriormente, ya que en las bases de datos biológicas[8][9][10][11] no existen muchos

genomas secuenciados.

Finalmente, optamos por seleccionar como espécimen básico en nuestros experimentos a un

grupo de virus. Preferimos utilizar secuencias de retrovirus de inmunodeficiencia adquirida

tanto humana (HIV), como los presentes en otras especies. En promedio, las cadenas de

estos retrovirus contienen 10,000 caracteres, y su acelerada tasa de mutación nos auguraba

árboles filogenéticos bien demarcados.

5.4 Experimento 1: Secuencias artificiales

Las pnmeras secuencias seleccionadas para los experimentos fueron las secuencias

artificiales de tamaño 1 O, que fueron las primeras en probarse, de las más de 90 corridas un

10% convergieron en menos de 40 generaciones del algoritmo genético. La idea de que

estos resultados fueron repetibles en cadenas de longitudes mayores era prometedora.

Veamos una tabla con los resultados de varias simulaciones y por último, una simulación

típica. Cabe destacar que en estas corridas solo se evaluó la convergencia de una secuencia

a otra. La tabla siguiente nos muestra como porcentajes el número de ocasiones que se

alcanzó el óptimo, es decir que se logró converger de una configuración inicial en una

configuración final.

Número de Tamaño de Radio Número de Pm Pe % de veces simulaciones configuración generaciones que se llegó al

óptimo 30 10 1 100 0.01 0.6 25 30 10 2 100 0.01 0.6 20 30 10 3 100 0.01 0.6 20 30 100 1 100 0.01 0.6 5 30 100 2 100 0.01 0.6 5 30 100 3 100 0.01 0.6 7

Tabla 5.1 Resultado de simulaciones con datos artificiales. Donde Pm es la Probabilidad de mutación y Pe es la probabilidad de Cruce.

65

Page 63: Modelo computacional de la evolución de secuencias

En las figuras 5.1 y 5.2 presentamos una corrida típica que no alcanza el óptimo y otra que

lo logra.

100

40

20

o 10

Evolución de las reelas de transici6n de un autÓlllata celular-

20 30

Generaciones

40 ~o

Mejor·-+­Pr-0~1ech o -+-­

Peor --e--

60

Figura 5.1. En la gráfica aparece el resultado de una ejecución típica que no alcanzó el valor óptimo, definido aquí corno: optimo = tamaño_ configuracion x puntaje _ concordancia Esta simulación tiene los siguientes parámetros: Tamaño de secuencia= 10, radio= 1, iteraciones del autómata celular= 20, número de generaciones= 64, Pm = 0.01, Pe= 0.6 y tamaño del cromosoma= 128.

La gráfica 5.1 nos muestra una corrida típica donde se trató de hacer converger a una

configuración inicial en una configuración final ( ambas de diez caracteres de longitud). La

simulación generó 64 generaciones. Esta gráfica, como en las siguientes, mostrará una

estructura utilizada en los algoritmos genéticos. Donde se listará la aptitud del mejor

individuo de la población en cada una de las generaciones (Esta serie esta etiquetada como

"Mejor"), además se muestra el individuo con peor desempeño de la población y el

promedio, estas series están etiquetadas como "peor" y "promedio", respectivamente.

66

Page 64: Modelo computacional de la evolución de secuencias

Evoluc16n de las reglas de trans!c16n de un aut6111ata celular

40

20

r·1e.ior -+­Proroecho --+­

Ptor ··-·-.e-

º"--~~~-'---~~~--'-~~~-'--~~~-'-~~~--'~~~~L..---" o 10 20 30

Generaciones 40 50 60

Figura 5.2. La gráfica nos muestra los valores del máximo, el promedio y peor de la generación, el promedio de la corrida actual. Cabe destacar que la progresión de valores no presentan una evolución sino que simplemente brincan del mínimo al máximo, lo que indica que el individuo se localizó por azar (alcanzado aquí en la generación 47). Esta simulación tiene los siguientes parámetros: Tamaño de secuencia = 10. Radio = 1, Iteraciones del autómata = 20, Número de generaciones = 64, Población = 256, Pm = 0.01, Pe= 0.6 y Tamaño del cromosoma= 128.

La gráfica 5.2 nos muestra una corrida típica donde se consiguió de hacer converger a una

configuración inicial en una configuración final ( ambas de diez caracteres de longitud). La

simulación convergió en menos de 40 generaciones, por lo que no fue necesario seguir

generando más.

67

Page 65: Modelo computacional de la evolución de secuencias

80

60

40

20

Evolución de la tabla de reglas del autómata celular.

Mejor---+---­Pro~1e(li o -

Peo1· ~

++++++++++++++-++ 1 1 1 I 1 1 1 + 1 1 1 1 1 -+ 1 l 1 1 1 ++-.+-++++++++++++ i -t .. + ++++ +-+-++++++++-++++++ 1 1 + t- 1 1 1 1 1 ++++++++++++++

º'--~~~~---'~~~~~-'-~~~~~-'-~~~~~..1..-~~~~___::J o 20 40 60 80 100

Generaciones

Figura 5.3. Ahora, revisemos la siguiente simulación, la cual tiene los parámetros: Tamaño de secuencia = 100, radio = 1, iteraciones del autómata = 100, número de generaciones = 100, población = 256, Pm = 0.01, Pe= 0.6 y tamaño del cromosoma= 128.

Si un algoritmo genético esta evolucionando adecuadamente, la gráfica típica resultante es

una curva ascendente. Y a que con cada generación, se va maximizando la función de

aptitud de la población en general. En nuestras simulaciones, en cambio, los resultados

obtenidos nos muestran, un panorama bastante desalentador donde, a través, de la serie de

generaciones no solo, no se maximiza la función de aptitud general sino que, observamos la

perdida de los mejores individuos de generaciones previas (figura 5.3).

Este resultado nos indica que el espacio de búsqueda es tan grande que provoca que el

algoritmo genético degenere en una búsqueda aleatoria, es decir, la gráfica nos muestra

picos y valles sucesivos producto del factor de mutación y los nuevos individuos generados

por los cruzamientos. Antes de avanzar debemos señalar que la selección de las

probabilidades para la operación de cruce y para mutación no fueron elegidos al azar.

Corresponden a los valores más utilizados en la práctica [19][30]. Y por lo tanto los

utilizamos para el proyecto.

68

Page 66: Modelo computacional de la evolución de secuencias

5.4.1 Factor de mutación

Para validar la relevancia del índice de mutación, probamos con distintos valores. Los

resultados muestran que un mayor índice de mutación parece alentar, al inicio a un

mayor desempeño pero a la larga vuelve aparecer el comportamiento que se ve en otros.

En nuestro estudio utilización porcentajes de 0.01 y de 0.05. Con resultados similares.

5.4.2 Elitismo

El elitismo consiste en conservar copias de los individuos más aptos en la siguiente

generación. La inclusión de esta estrategia se debió a nuestro interés en contrarrestar los

cambios globales que se presentan en los autómatas celulares. Esto es, cada vez que se

aplicaban las reglas a la totalidad del autómata celular, este no conservaba las regiones

que alcanzaron el estado deseado. Ya que en cada iteración de las reglas, la configuración

cambiaba completamente. El elitismo demostró que era capaz de retener las reglas más

eficientes y fue introducida al final de las pruebas con las secuencias artificiales.

5.5 Análisis de resultados

Los resultados obtenidos hasta este punto no son muy alentadores. Esto sin contar el

esfuerzo computacional involucrado, ya que como hemos mencionado antes, tanto los

algoritmos genéticos como los autómatas celulares requieren un cómputo intensivo.

Debido a esto, fue necesaria una revisión de las limitaciones del algoritmo, las cuales

describiremos a continuación.

5.5.1 Colisión de reglas

Hay dos razones que detectamos; primero, es una situación en el centro mismo de la

programación celular: la tabla de reglas. La cuestión es que un autómata celular no

puede definir comportamientos alternos para una regla dada, esto debido a que no se

69

Page 67: Modelo computacional de la evolución de secuencias

penniten reglas no-detenninistas. Por ejemplo, digamos que una tabla de reglas tiene una

definidas las siguientes transiciones:

A

A e e

Y que las configuraciones contienen los caracteres siguientes:

Configuración inicial i A i A i e i ... i A i A i e i ... 1

Configuración final i - 1 C i - i ... i - 1 A i - i ... 1

Para que nuestro autómata celular pudiera encontrar una regla que resolviera esto tendría que ser del tipo:

Figura S.4 Descripción de las colisiones.

Lo cual no es posible bajo el esquema de autómata celular con transiciones detenninistas.

Esta condición que hemos denominado "colisión de reglas", se presenta en un 10% de

nuestros experimentos y su efecto se traduce en que el algoritmo genético, al no dar

preferencia a una regla sobre otra, trata de cumplir con ambos requerimientos.

Una posible solución fue aumentar el tamaño del radio. Esto es, a mayor número de

caracteres involucrados en la definición de una regla, menor posibilidad de colisión.

Pero aún así, esta condición, se sigue presentando y debido a que, durante los

experimentos la utilización de radio > 1, implicaba un incremento relevante en la carga

de trabajo al procesador, al final, dimos preferencia a la eficacia del proceso en general.

70

Page 68: Modelo computacional de la evolución de secuencias

5.5.2 Aptitud escalonada

La segunda razón, tiene que ver con las características de algoritmo genético empleado,

las poblaciones utilizadas son de tamaño medio (de 256 a 512 individuos), consideradas

pequeñas en la práctica. Cuando se tienen poblaciones de tamaño mediano suele darse el

caso que se presente el problema de convergencia prematura, esto es, que algunos

individuos con una aptitud predominen y la selección no elija otros individuos más que

ellos, produciendo un pobre resultado, es decir un máximo local.

Para evitar eso, utilizamos el método de rueda de ruleta para seleccionar a los individuos

a cruzar. (Ver sección 3.2), pero se extendió con el método que plantea Goldberg, para

limitar su reproducción[ 19]: escalamiento de aptitud. Definido de la siguiente manera:

Sea f la función de aptitud normal y la aptitud escalonada f', la cual se construye

como:

f'=af +b

Donde los coeficientes a y b pueden definirse siguiendo múltiples esquemas. En este

caso se definió tratando de igualar f 'maximo =e. !promedio donde e es el número esperado

de veces que puede reproducirse los mejores individuos de la población. Siguiendo la

sugerencia de Goldberg[ 19] lo definimos como, C = 2 .

5.6 Cambio de estrategia

Los cambios que fueron introducidos a raíz de solucionar nuestros puntos débiles, no

bastan para resolver todos nuestros problemas. Aún queda un punto pendiente: el tamaño

actual de las configuraciones inicial y final que nos ha dado problemas desde la

utilización de las secuencias artificiales. Por lo cual proponemos definir un nuevo

enfoque, más cercano a los métodos que se ocupan actualmente para hacer estudios

filogenéticos. Específicamente, se utilizan secciones relevantes (y con funciones

71

Page 69: Modelo computacional de la evolución de secuencias

homólogas) entre las secuencias. Por ejemplo, se hacen árboles utilizando un gen común

en todas las cadenas.

Aquí lo que utilizaremos son las bases que, tras una alineación global, quedan

emparejadas con una base distinta; éstas en la literatura, se llaman bases no-concordantes

BNC (en inglés, se utiliza el término mismatches). Esquematicamente lo podemos ver en

la figura 5.5a.

A estas parejas de bases distintas, las tratamos en conjunto como un autómata celular

asíncrono Figura 5.5b, de modo que las reglas no afectarán a todas las bases circundantes

a las BNC. La definición formal del algoritmo, usada en esta parte de nuestro proyecto, se

encuentra descrita en el anexo B.3, como el tercer algoritmo.

,--, .-------, 1 1 1 1

(a) Ci A c:c:T G - A:c TA: 1: : 1 1 1 ¡ 1

Cf - c:G:T G G A:T G G: 1 1 1 1

·--' ·-------·

Autómatas r~lularei hecho de 81\{:'!1

(b) !C!T!A!

!T!G!G! Figura 5.5 (a). Ejemplo de bases no-concordantes. (b). Un par de los autómatas celulares resultantes.

Una vez obtenido el arreglo de BNCs, se procede a evaluar cada unas de las entradas de

la configuración inicial para ver si convergen a la final. Posteriormente, se intercambian

los lugares y se verifica si las BNC de la configuración final pueden converger a las BNC

de la configuración inicial, con alguna de las reglas definidas.

La razón de esta acción: aprovechar de una de las características de los autómatas

celulares, la no-reversibilidad. (Ver sección 3.2.2). Esta propiedad nos indica que es

posible saber con total certeza el siguiente estado de una celda por inspección de su

vecindad y la tabla de transiciones, pero lo mismo no es válido para los pasos previos.

72

Page 70: Modelo computacional de la evolución de secuencias

Bajo esta consideración, podemos suponer que es más fácil para nuestro autómata celular,

detectar secuencias más recientes a partir de una menos reciente, ya que estaría probando

configuraciones que están a n iteraciones de distancia.

Usando el concepto de los diagramas de tiempo significaría que buscamos una

configuración donde, tbuscado > tactual. En el caso opuesto donde, buscamos una secuencia

menos reciente, le estaríamos pidiendo al algoritmo genético que pruebe configuraciones

donde tbuscado < tactual. En la practica, buscar una configuración menos reciente parece

conllevar más esfuerzo computacional, las simulaciones realizadas, no proporcionaron

una confirmación completa, pero su comportamiento parecería encajar con este

comportamiento.

5.6.1 Parámetros usados en la alineación

Consideramos pertinente mencionar los parámetros que utiliza el algoritmo de alineación

usado (GAP). Los valores usados son una variación de los que maneja de manera

estándar, los cambios buscan permitir un ligero aumento del número de BNCs.

Parámetro Valores Valor usados estándar

Coincidencia 10 10 BNC -10 -15 Penalización por superar extensión mínima de 20 30 hueco Tamaño de hueco a partir 15 25 de la cual se penaliza Penalización por inicio de 3 3 hueco

Tabla 5.2 Se muestran los valores de los parámetros estándar que utiliza el programa de alineación.

73

Page 71: Modelo computacional de la evolución de secuencias

5.7 Experimentos 2: Utilizando mutaciones puntuales (o BNCs)

En esta serie de experimentos, utilizamos fragmentos de secuencias reales de ADN. Para

que los fragmentos fueran afines en la medida de lo posible, el criterio de selección de los

mismos fue que presentarán una distribución similar en la cantidad de nucleótidos

contenidos.

A continuación, las figuras 5.6 y 5.7 muestran como se desenvolvieron las simulaciones

en los casos en que se usaron fragmentos de ADN real conteniendo 100 y 1000,

caracteres, respectivamente.

500 400

o 300 z C!l 200

100 o

1

1 1

1

i i i i i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Experimentos

I • Total BNCs • Resueltas

1 1

1 i 1 i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

No Resueltas 1

Figura 5.6 En esta gráfica podemos ver el resultado de 55 simulaciones en segmentos de ADN real de tamaño 100 y radio igual a 1. Como podemos observar en esta etapa entre menor sea el número de BNCs, el algoritmo genético es capaz de obtener un conjunto de reglas de transición capaz de resolverlo.

74

Page 72: Modelo computacional de la evolución de secuencias

(/)

400

300 -,- - -

Prueba con segmentos tamaño = 1000

- f-- - f--

~ 200 ca

100

o ~ ~ u ~ u ~ u ~ u ~ u ~ u 1 1 1 1 1 1 1

~ m ~ m ~ m ~ m ~ m ~ m ~ ~ ~ N N M M ~ ~ ~ ~ ©

Experimentos

ID Total BNCs •Resueltas D No resueltas 1

Figura 5.7 En esta gráfica podemos ver el resultado de 61 simulaciones en segmentos de ADN real de tamaño 1000 y radio igual a 1.

En la gráfica 5.7 se agruparon en forma de barra superpuesta: el número de BNCs, los

BNCs que se pudieron resolver y Por último los BNCs que no pudieron ser resueltos.

Como en la gráfica previa, podemos observar en esta etapa entre menor sea el número de

BNCs el algoritmo genético es capaz de obtener un conjunto de reglas de transición capaz

de resolverlo.

5.7.1 Genomas completos

Los problemas presentes en el experimento previo con cadenas de longitud 1 OOy 1000, se

repite en los genomas completos. La cuestión más importante aquí es el tiempo que toma

en evaluarse cada nueva configuración, debido a lo establecido en el segundo algoritmo

(Ver anexo B.2). Para obtener la aptitud debemos alinear nuevamente las cadenas, la

nueva configuración resultante de aplicar las reglas a la configuración inicial y la

configuración final. Veamos la tabla de las simulaciones realizadas:

75

Page 73: Modelo computacional de la evolución de secuencias

% veces -Tamaño de Factor de - X

R2 Generaciones óptimo X BNCs SI Configuración mutación BNCs alcanzado resueltas 15 ~ 10000 1 100 0.01 6.67 700 70 15 ~ 10000 2 100 0.01 6.67 700 72 15 ~ 10000 3 100 0.01 6.67 700 70

Tabla 5.3 Resultados de experimentos con genomas completos.

Posteriormente, se hizo un experimento sobre la cuestión: ¿Es demasiado pequeño el

número de generaciones utilizado? Para responder esta pregunta se hicieron simulaciones

como la que se muestra a continuación. En la gráfica siguiente se muestra la evolución

del autómata celular para 32,500 generaciones.

(O o ..., -., :, (O ., <. (O u z "' ., 1J

o <. ., E

1:, z

100

80

60

40

20

o 5000

E va 1 uac i ón de a I gor i t mo genét ico en recorridos I argos .

10000 15000 20000 25000

Gene rae iones

Mejor -Pro~1>?i:lio -

Peor -

30000

Figura 5.8 La simulación de un número de generaciones considerable venía acompañado de un costo computacional muy alto la ejecución de la que se muestra en la gráfica discurrió en un plazo de 72 horas, que es un plazo normal para este tipo de simulaciones ya que conllevan procesos de cómputo muy intenso.

1 Número de simulaciones. 2 Radio considerado.

76

Page 74: Modelo computacional de la evolución de secuencias

5.8 Grupos de posiciones de mutación adyacentes

Los resultados preliminares muestran que los árboles resultantes de nuestro algoritmo se

acercan a los generados por otros métodos. Con esto, podemos asumir que el puntaje para

evaluar distancias evolutivas entre secuencias es, hasta cierto punto, válido. Debido a que

el método que usamos para comparar, al igual que todos los métodos para construir

filogenias, no puede asegurarnos haber alcanzado el valor óptimo.

Una característica importante a señalar es que en nuestros resultados usando el conjunto

de bases no-concordantes, es bastante variable ya que depende de las poblaciones

generadas aleatoriamente, así que una población con una aptitud promedio muy baja

puede generar puntajes muy bajos cercanos a cero o iguales para muchas secuencias. Lo

cual es desastroso para el método de neighbor-joining que requiere que se cumpla la

propiedad de adición [26]. Nos devuelve arboles con ramas de longitud =O, esto quiere

decir que el algoritmo no distingue diferencia alguna entre las secuencias.

En los árboles presentados, el algoritmo genético en general no logró resolver la

totalidad de los BNC, salvo en un par de ocasiones.

Otro punto interesante a destacar, respecto al tercer algoritmo (Ver anexo B.3), es que las

tablas de reglas resultantes tendían a minimizar el número de sustituciones de bases por

sitio. Esto es, después de n generaciones, la tabla de reglas presentaba un aspecto como

el siguiente:

Generación BNC Total de iteraciones resueltas del autómata celular

.. . ... ... 20 500 1600 21 501 1600 .. . ... ... 50 511 1580 51 511 1590 ... ... .. .

100 540 1300

Tabla 5.4 Número de iteraciones observados.

77

Page 75: Modelo computacional de la evolución de secuencias

Nota: la manera en que se determina el promedio de iteraciones que efectúa el autómata

celular para tratar de resolver las BNC, se obtiene contabilizando el número de veces

que se aplicaron las reglas bajo prueba en ese momento pudiendo ser =::; 4 por BNC.

Nuestro modelo guiado por el algoritmo genético, tiende a buscar el conjunto de reglas

que en un menor número de pasos llegue de una secuencia a otra. La deducción natural

aquí es que lo óptimo sería obtener un conjunto de reglas que llegara de la configuración

inicial a la final en un solo paso. Una de las hipótesis era encontramos que el número de

iteraciones variaría de manera irregular.

Este resultado inesperado, nos recuerda a la manera en que otra familia de métodos para

construir filogenias trabaja, nos referimos al método de la parsimonia [6], que trabaja,

uniendo las ramas que involucran el menor número posible de sustituciones.

En las gráficas siguientes, presentamos los resultados obtenidos usando esta nueva

versión del algoritmo. Tres gráficas nos muestran, los resultados para radio = 1, 2 y 3.

(Figuras 5.9, 5.10 y 5.11, respectivamente).

78

Page 76: Modelo computacional de la evolución de secuencias

Evolución de la tabla de reglas del autornata celular.

700 ,-----.-------,-------.-------,--------, Ne,ior - ­

Pror,edio -­Peor --

600

500

400

300

200

100

o------~-----_._ _____ _._ _____ ........, ........ ____ _____. o 200 400 600 800 1000

Generaciones

Figura 5.9 En esta tabla podemos observar la evolución de nuestro algoritmo genético usando el arreglo de BNCs. Los parámetros de esta corrida son los siguientes: Tamaño de configuración ~ 9,000 bp. Número de BNC ~ 900. Número de generaciones =1000. Población= 512. Número de reglas= 64. Tamaño de cromosoma= 128 y Radio = l.

Esta gráfica si muestra un cierto grado de mejoría entre una generación y otra, aunque los valores promedio y peor de la población siguen siendo extremadamente variables en general se logra un mejor desempeño del algoritmo genético.

79

Page 77: Modelo computacional de la evolución de secuencias

Evolución de la tabla de reglas del automata celular. (Radio=2)

700 .----.-------,---------,-----------~ tle,ior· -

Proroedio -Pec,r -

600

~, ~ __ _______ r-~

100

o ____ _.__ ___ __._ ___ ___._ ____ ..__ __ ~ o 200 400 600 800 1000

Generaciones

Figura 5.10 Los parámetros de esta corrida son los siguientes: Tamaño de configuración ~ 9,000 bp. Número de BNC ~ 900. Número de generaciones= 512. Número de reglas = 1024. Tamaño de cromosoma= 2048 y Radio= 2.

80

Page 78: Modelo computacional de la evolución de secuencias

Evolución de la tabla de reglas del automata celular. <Radio=3)

700 r-------.------,------.-------r------

600

500

Me,ior -Promedio -

Peor -

400~

i ,oo ~,~~~~\f~~~r~~JrA~ ~,~~~~'f'Y1iJ~~11W~ 200

100

o ...__ ____ __. _____ __,_ _____ __.__ _____ .....__ ____ ___,

o 200 400 600 800 1000

Generaciones

Figura 5.11 Los parámetros de esta corrida son los siguientes: Tamaño de configuración ~ 9,000 bp. Número de BNC ~ 900. Número de generaciones= 512. Número de reglas= 16384 Tamaño de cromosoma= 32768 y Radio = 3.

Aún y cuando, esta última simulación tiene un radio mayor su progreso no es excepcional, de hecho el gasto computacional de calcular 16,384 reglas no parece estar justificado ya que no se resuelven con esta vecindad una mayor tasa de BNCs.

81

Page 79: Modelo computacional de la evolución de secuencias

5.9 Arboles

Después de recopilar los puntajes de las alineaciones de pares de secuencias, ya estamos

en condiciones de construir un árbol filogenético. En este ejemplo se generó un árbol a

partir de 10 secuencias del retrovirus del HIV. Figura 5.12, y como medida de

comparación, incluimos un árbol construido usando el paquete informático para

construcción de filogenias llamado: ClustalW, que implementa su árbol usando una

alineación múltiple y una técnica que utiliza muestras sintéticas (llamada en inglés,

bootstrap). Ver figura 5.13.

HIV 9 2e+o4

HIV 10 HIV_7

\...--..,........~---HIV 8

HIV 2

HIV_3

HIV_5 HIV_4

Figura 5.12 El árbol resultante de analizar un conjunto de 10 secuencias de HIV. Con nuestro segundo

algoritmo.

82

Page 80: Modelo computacional de la evolución de secuencias

IITV 10

IITV 7 IITV 8

IITV 6 _ ____, ~-IITV 1

IITV 3 IITV 2

IITV 5 IITV_4

0.05 1 1

Figura S.13 El árbol resultante de analizar un conjunto de 10 secuencias de HIV. Con el paquete infonnático. ClustalW.

Entre las diferencias que podemos observar a pnmera vista es que el algoritmo

desarrollado, genera ramas más grandes, esto significa que las distancias evolutivas entre

dos secuencias es mayor. Mayor definición en las ramas puede ayudar a las ramas

internas a ser más distinguibles. Debemos recordar que las simulaciones pueden devolver

árboles ligeramente distintos en cada simulación pudiendo estar entre estos extremo:

árboles muy definidos o como ya hemos mencionado con ramas de tamaño cero.

83

Page 81: Modelo computacional de la evolución de secuencias

5.9.1 Más ejemplos de árboles.

Para un segundo grupo de secuencias se obtuvieron los siguientes árboles con nuestro

algoritmo figura 5.14a y ClustalW nos devolvió 5.14b. En este caso, los dos árboles son

distintos y el generado por el tercer algoritmo generó una rama con distancias muy cortas

cercanas a cero. Nos referimos al par de secuencias etiquetadas como hiv9 y el hiv8.

HiY14 Hivl7

Hivl3 Hivl5

Hivll

HidO

(a)

Figura 5.14 Otro grupo de secuencias analizadas.

84

~ i y

1 8

9 y

l (b)

i h

o 1

y

y 1 6

0.1 1--------i

Page 82: Modelo computacional de la evolución de secuencias

CAPÍTUL06

CONCLUSIONES

Los resultados preliminares nos muestran que de manera bastante aceptable, nuestro

procedimiento puede usarse como una alternativa a los métodos actuales de construcción de

árboles filogenéticos, cuando las secuencias no presentan un número reducido de puntos de

control. Es decir, que el número de parejas de bases a empatar no sea menor a un 1 % de la

longitud total de las secuencias, ya que de darse este caso nuestro algoritmo devolverá

valores muy pequeños o iguales a cero.

Esto es inaceptable para el algoritmo de Neighbor-Joining, que como hemos visto

devolverá ramas con Longitud= Oyen general árboles con ramas muy cortas.

Con la intención de producir alineaciones que contenga un buen número de bases no­

concordantes, se recomienda usar valores de penalización pequeños para el cálculo del

puntaje de bases no-concordantes.

Deben generarse por lo menos, tres corridas cada vez, ya que debido al carácter

probabilístico de los algoritmos genéticos y de todo el proceso en general. Es natural que

los resultados varíen de una simulación a otra. Aunque ese número se puede considerar

como una simple observación empírica.

Utilizamos un radio= 1 ya que, aunque detectamos el problema de las colisiones de

reglas, vimos muy poca justificación para incrementarlo debido al incremento exponencial

del esfuerzo de cómputo necesario, así como el espacio de búsqueda lo que de acuerdo a los

resultados presentados no mejoró significativamente.

85

Page 83: Modelo computacional de la evolución de secuencias

, Otro aspecto observado, atribuible a las colisiones de reglas, es que aún y cuando

generamos corridas de más de 30,000 generaciones unitarias, es decir como prueba del

comportamiento del algoritmo genético (fuera del esquema de generación de árboles

filogenéticos) y pudimos percibir que el algoritmo genético ya no podía mejorar a medida

que se incrementan las generaciones.

Consideramos nuestros resultados como preliminares y no definitivos por un apartado que

se discutiremos más a detalle en la sección de trabajos futuros. El cometido de desarrollar

un nuevo modelo de las secuencias biológicas se cumplió, pero hace falta más trabajo del

lado biológico para demarcar su relevancia. Es decir, con apoyo en base a pruebas de

laboratorio, averiguar si es válido nuestra teoría de la relevancia de las bases vecinas en los

procesos de la evolución o es un proceso puntual, independiente de la misma secuencia.

Por último nos interesa recalcar la que consideramos, la contribución más importante del

trabajo: el modelo computacional al menos para la medida evolutiva de la substitución de

nucleótidos, nos abre la posibilidad de inferir el estado de una secuencia en un futuro, no

como un valor probabilístico sino proporcionándonos una muestra artificial de como se

verá la secuencia.

86

Page 84: Modelo computacional de la evolución de secuencias

CAPÍTUL07

TRABAJOS FUTUROS

Creemos que este trabajo puede ser complementado en muchas maneras, aquí proponemos

algunas opciones interesantes que nos parece deben ser exploradas.

1. La inclusión en el modelo, no solamente de las sustituciones de bases, sino además de las

inserciones y supresiones de segmentos. Para esto se deben usar modelos más generales de

autómatas celulares. Esto implica seguir un modelo asíncrono y la inclusión de nuevos

estados que representen inserciones en la siguiente configuración (/) y supresión del

caracter actual (S). Este incremento de estados generaría aún para radio= 1 presentaría una

mayor complejidad computacional, 63 = 216 estados para el caso más simple.

2. La implementación de una versión paralela. En los últimos años, se han desarrollado

versiones paralelas de algoritmos genéticos para poder reducir el esfuerzo de cómputo

involucrado. La migración a este formato podría hacer que nuestro programa, pudiera

entregar los resultados en un tiempo más aceptable.

3. La creación de una interfaz de usuario. Dado que, en su versión actual es un programa de

línea de comando que recibe los parámetros en línea, tal vez sería conveniente desarrollar

una interfaz gráfica para poder manipular de manera más sencilla los valores de entrada,

con ventanas para visualizar las alineaciones y el árbol resultante. Los cuales se pudieran

guardar en archivos definidos por el usuario.

4. La creación de un algoritmo especifico para construir el árbol resultante. Dado que este

método nos permite distinguir entre la complejidad de ir de la secuencia (A) a la secuencia

(B) y la complejidad de ir de (B) a (A). Podemos construir un árbol con ramales más acordes

a la historia evolutiva.

5. Estudio comparativo entre los resultados arrojados por este modelo y los revisados o

analizados en estudios de laboratorio, ya que sería muy interesante contrastar los resultados

87

Page 85: Modelo computacional de la evolución de secuencias

esperados devueltos por el modelo y los reales. Esto además, podría hacer más robusto el

modelo ya que los parámetros se calibrarían de una manera más realista.

6. En este proyecto sólo consideramos la secuencias de nucleótidos que conforman una

secuencia de ADN, sería interesante trabajar al nivel de las proteínas y analizar los

resultados con las mismas.

88

Page 86: Modelo computacional de la evolución de secuencias

ANEXO A

EJEMPLO COMPLETO DE ALINEACIÓN

En esta sección presentaremos una corrida típica del programa de alineación global, del Dr.

Xiaoqiu Huang, llamado GAP. Para esta simulación usaremos los siguientes parámetros:

1. Penalización por base no concordante: -15

2. Tamaño de los huecos (en ingles, gaps) que se penalizará: 10

3. Tamaño de 2

4. Penalización de la extensión de los huecos 3

Gap-Open Penalty Gap-Extension Penalty

Las secuencias que vamos a alinear son las siguientes,

Secuencia A caaagaagacaagagatccttgatctgtggatctaccacacacaaggctacttccctgatt ggcagaattacacaccagggccagggatcagatatccactgacctttggatggtgcttcaa gctagtaccagttgagccagagaaggtagaagaggccaatgaaggagagaacaacagcttg ttacaccctatgagcct

Secuencia B gcagattgagccctgggaggttctctccagcactagcaggtagagcctgggtgttccctgc tagactctcaccagtgcttggccggcactgggcagacggctccacgcttgcttgcttaaag acctcttaataaagctgccaattagaagcaagttaagtgtgtgttcccatctctcctagtc gccgcctggtcattcgg

Ambos, son fragmentos de secuencias de ADN de HIV, seleccionadas al azar pero con una

distribución de nucleótidos similar, es decir, segmentos que contienen el mismo número de

A, e, T y G en ellos.

89

Page 87: Modelo computacional de la evolución de secuencias

La salida del programa es presentada a continuación,

Val Acierto 10

Val Base no-concordantes -5

Secuencia Superior: secuencia A Longitud: 200

Secuencia inferior: Secuencia B Longitud: 200

Hueco Encontrado 5

Extensión hueco 3

Mejor alineación con costo constante para inserciones largas Puntaje de similaridad 731 Porcentaje de aciertos 51% Número de aciertos 128 Número de noconcordantes: 22

Longitud total de huecos: 100 Nota: Huecos en las secciones terminales, no penalizaran.

o

1 caaagaagacaag agatccttgatc tgtgga teta cea cae

------------1-1111---1 I I 1--11-111---111 -111-111-1 gcagat tgagccctg ggaggttctctccagcact

so 42 a ca ag ge tac ttccctgattggcagaattacacaccag

1-11---11-11-1 ---1111111 1----111 1--1 111111---35 agcaggtagagcctgggtgttccctgct agact ctcaccagtgc

100 80 ggccaggga t cagata tccactgacctttggatggtgcttca

--1111-11 1-1---1111 --11111-1--111--1 1--11111-1 79 ttggcc ggcactgggcagacggctccac g ctt gct tgctt a

150 122 agctagtaccagttgagccagagaaggtagaagaggccaat gaaggag

1---11-111 11---------11--11-111 111111--1111 1-120 a ag acctctt aa ta aagctgccaattagaagca

200 170 agaacaacagct tgttac a e ccta t ga gcct

11 -11 1-1-1111 l-1-1---1111-1-1 -llll----------1s3 agtt aagtg tgtgttcccatctctcctagtcgccgcctggtcattcgg

Donde,

I Significa una coincidencia. - significa un hueco

" " Significa un par de bases no-concordantes.

90

Page 88: Modelo computacional de la evolución de secuencias

ANEXOB

En este apartado incluiremos el pseudocódigo de las tres versiones que construimos con base en el algoritmo general propuesto en la sección 4. 7.

l. Versión que trabaja con configuraciones completas

El pseudo código que se transcribe a continuación, describe la primera versión desarrollada

como una primera aproximación para evaluar si le era posible hacer converger

configuraciones completas.

Inicio:

Ciclo:

Definimos Ci y Cf como las secuencias de ADN convertidas a binario. Definimos aptitud= O como el valor devuelto por el algoritmo de Alineación Global GAP(). Definimos Pm como la probabilidad de mutación Definimos Pe como la probabilidad de cruzamiento Temporal= O

1. Generar población inicial P de r tablas cada una, con

42r+l reglas. 2. Mientras no se alcance el optimo y

contador< Número Generaciones Ejecutar m veces

Generar nueva configuración de Ci usando P, Temporal = gap ( Ci , Cf ) Si aptitud< Temporal

aptitud= Temporal Si Ci = Cf

Terminar ciclo local.

Seleccionar P, con Max(aptitud)

Cruzar P, seleccionadas con factor de cruzamientoPc

los descendientes puede mutar con factor Pm contador = contador + 1

91

Page 89: Modelo computacional de la evolución de secuencias

2. Versión que trabaja con bases no-concordantes

El pseudo código que se transcribe a continuación, describe la segunda versión que

consideramos la más estable, porque el algoritmo genético como veremos después, resolvía

un mayor número de bases no-concordantes.

Inicio:

Definimos una matriz M de n X n donde n es el número de secuencias a procesar.

Definimos S como el conjunto de secuencias de ADN.

Definimos Pm como la probabilidad de mutación

Definimos Pe como la probabilidad de cruzamiento

Ciclo principal:

Para cada pareja de secuencias Sij

Terminación:

3. Realizar una alineación global y almacenar las posiciones de las

bases no-concordantes enBNC. 4 . contador = O

P 42r+l s. Generar población inicial de r tablas cada una, con reglas.

6. Mientras no se alcance el óptimo y contador< Número Generaciones

Para cada BNC; i

Ejecutar m interaciones de P,

Si BNC¡ alcanza el estado deseado

Bncresueltas = Bncresueltas + 1 Seleccionar P, con mayor aptitud Max(Bncresueltas)

Cruzar P, seleccionadas con probabilidad de cruzamiento Pe los descendientes puede mutar con una probabilidad Pm si Bncresueltas = Total BNC

Terminar ciclo local.

contador = contador + 1 7. Asignar puntajeü = Bncresueltas

B. Repetir paso 4 para Sji

9 . Bncresueltas = O 10. Asignar puntajeji = Bncresueltas

11. Si i = j entonces, M ü = M ji = O

De lo contrario Si puntajeji < puntajeü entonces,

M .. = M .. = puntay·e .. IJ JI JI

De lo contrario M .. = M .. = puntay·e .. IJ JI IJ

Ejecutar Algoritmo Neighbor-Joining conM .

92

Page 90: Modelo computacional de la evolución de secuencias

3. Versión que trabaja con bases no-concordantes adyacentes

Esta es la versión alterna actual, la cual trabaja con BNC adyacentes. Veremos más adelante un ejemplo de los árboles generados por este

algoritmo.

Inicio:

Definimos una matriz M de n X n donde nea el número de secuencias

Definimos S como el conjunto de secuencias de ADN.

Definimos el tamaño mínimo de los mini-arreglos de BNC, a explorar. E ~3 Definimos Pm como la probabilidad de mutación

Definimos Pe como la probabilidad de cruzamiento Ciclo principal:

Para cada pareja de secuencias Sij l. Realizar una alineación global y almacenar las posiciones de las bases

no-concordantes en BNC . 2 . contador = O

P 42r+I 3. Generar población inicial de r tablas cada una, con reglas.

4 . Para cada BNCi i

si i = con sec utivo(i-1)

Entonces, BNCi Se anexa a un miniarreglo mBNC _ temp De lo contrario,

si mBNC _ temp anterior ~ E

Entonces, mBNC _ temp se anexa a mBNC se comienza un nuevo miniarreglo mBNC _ temp

s. Mientras no se alcance el optimo y contador< Número Generaciones

Para cada mBNCi i

Ejecutar m interaciones de Pr

Si mBNCi alcanza el estado deseado

Bncresueltas = Bncresueltas + 1 Seleccionar P, con mayor aptitud Max(Bncresueltas)

Cruzar Pr seleccionadas con probabilidad de cruzamiento Pe . Los

descendientes puede mutar con una probabilidad de Pm si Bncresueltas = Total BNC

Terminar ciclo local.

contador = contador + 1 6. Asignar puntajeif = Bncresueltas

7. Repetir paso 4 para Sji

a . Bncresueltas = O 9. Asignar puntajeji = Bncresueltas

Si i = j entonces, M ij = Mji = O

De lo contrario' Si puntaje ji < puntajeij entonces' M ij = M ji = punta je ji

De lo contrario M ij = M ji = puntajeij Terminación:

Ejecutar Algoritmo Neighbor-Joining conM .

93

Page 91: Modelo computacional de la evolución de secuencias

REFERENCIAS

[1] GARDNER, E.J.;SIMMONS, M.J.; SNUSTAD, D.P., Principios de genética.Traducido por A.Santana Calderón. Editorial Limusa, 1998.

[2] BURNS, G.W. The science of genetics. Editorial Macmillan, 1989.

[3] ALEXANDER, P. et al. Biology: the living world.Annotated teacher's ed. Editorial Prentice Hall, 1989.

[4] LEWIN, B., Genes. 2a. ed. Editorial Reverté, S.A., 1993. Vol I.

[5] BALDI, P., BRUNAK, S., Bioinformatics: the machine learning approach. Editorial MIT Press, Cambridge MA, 1998.

[6] DURBIN, R. et al. Biological sequence analysis: probabalistic models of proteins and nuc/eic acids. Editorial Cambridge University Press, 1998.

[7] BAXEV ANIS, A.D., OUELLETTE, B.F.F., Bioinformatics. A Practica/ Guide to the Analysis of Genes and Proteins. 2a. ed. Editorial Wiley-Interscience 2001

[8] Center for lnformation Biology and DNA Data Bank of Japan. DDBJ Homepage. [ en línea]. 1111 Yata, Mishima, 411-8540, Japan. [Japón].Actualizado: 9 de agosto de 2001. <http://www.ddbj.nig.ac.jp/> [Consulta: 30 noviembre 2001].

[9] The European Molecular Biology Laboratory. EMBL - European Molecular Biology Laboratory. [ en línea]. Meyerhofstr. 1, 69117 Heidelberg, Germany. [Alemania]. < http://www.embl.org/> [Consulta: 30 noviembre 2001].

[10] National Center ofBiotechnology lnformation. GenBank Overview.[en línea]. 8600 Rockville Pike Bethesda, MD 20894. [Estados Unidos]. Actualizado: 31 octubre 2001. <http://www.ncbi.nlm.nih.gov/Genbank/Genbanküverview.html> [Consulta: 30 noviembre 2001].

[11] GDB(MR) Human Genome Database [base de datos en línea). Toronto (Ontario, Canada): The Hospital for Sick Children, Baltimore (Maryland, USA): Johns Hopkins University, 1990-. Actualizada diariamente. <http://www.gdb.org/> [Consulta: 30 noviembre 2001].

[12] Mouse Genome Database (MGD), Mouse Genome Informatics Web Site, The Jackson Laboratory, Bar Harbor, Maine. [Estados Unidos]. Actualizado: 27 noviembre 2001 <http://www.infonnatics.jax.org/>. [Consulta: 25 noviembre 2001].

[13] LEWIS, R., Part 4: Evolution of life. Editorial Wm. C. Brown Publishers, 1992.

94

Page 92: Modelo computacional de la evolución de secuencias

[14] MORTHOLT, E., BRANDWEIN, P.F., A sourcebookfor the bio/ogical sciences. 3a Ed. Editorial Harcourt Brace Jovanovich, 1986.

[15] FAUSSETT, L. V., Fundamentals of neural networks: architectures, algorithms, and applications. Editorial Prentice-Hall, 1994.

[16] WOLFRAM, S., Cellular automata and complexity: collected papers. Editorial Addison-Wesley Pub. Co., 1994.

[17] TOFFOLI, T.; MARGOLUS, N., Cellular automata machines: a new enviroment for modeling. Editorial MIT Press, 1987.

[18] WEISBUCH, G., Complex systems dynamics: an introduction to automata networks. Vol. 11. Traducido por Ryckebusch, S., Addison-Wesley Pub. Co., 1991.

[19] GOLDBERG, D. E., Genetic a/gorithms in search, optimization, and machine /earning. Addison-WesleyPub. Co., 1989.

[20] SIPPER, M., Evolution of Para/le/ Cellular Machines. Editorial Springer-Verlag, 1997.

[21] HOPCROFT, J.E.; ULLMAN, J. D., Introduction to automata theory, /anguages, and computation. 2a. Edicion. Addison-Wesley, 2001.

[22] ZBIGNIEW, M., Genetic algorithms + data structures = evolution programs. 3a Edicion. Editorial Springer-Verlag, 1996.

[23] HOLLAND, J.H., Adaptation in Natural and Artificial Systems. Editorial University of Michigan Press, 1975.

[24] GRAUR, D.; Li W., Fundamentals of molecular evolution. 2a. Edición. Editorial Sinauer Associates. 1999.

[25] GUSFIELD, D., Algorithms on strings, trees and sequences: computer science and computational biology. Editorial Cambridge University Press. 1997.

[26] MOUNT, D., Bionformatics: sequence and genome analysis. Editorial Cold Spring Harbor Laboratory Press, New York. 2001.

[27] D.M. P AGE, R., C. HOLMES, E., Molecular Evolution. Editorial Blackwell Science. 1998.

[28] S. KLUG, W., R. CUMMINGS, M., Conceptos de Genética. Editorial Prentice Hall Iberia. 1999.

[29] J. RUSSELL, P., Fundamentals of genetics. Editorial Addison Wesley Longman. 2000.

95

Page 93: Modelo computacional de la evolución de secuencias

(30] Mitchell, M., An introduction to genetic algorithms. Editorial "A Bradford Book" MIT Press. 1998.

(31] Xiaoqiu Huang 1992. A GLOBAL ALIGNMENT PROGRAM (GAP). Department of Computer Science. Michigan Technological University Houghton, Michigan.( cited 3 April 2002]. Available from World Wide Web: <ftp://cs.mtu.edu/pub/huang/> (32] NEIGHborr-joining, Phylip

(32] Felsenstein, J. 1993. PHYLIP (Phylogeny lnference Package) version 3.5c. Distributed by the author. Department of Genetics, University of Washington, Seattle. updated 10 August 2001 [cited 3 April 2002]. Program. Neighbor­Joining and UPGMA Methods. Accession no. 8317. Available from World Wide Web: <http://evolution.genetics.washington.edu/phylip/getme.html>

[33] Thompson, J.D., Higgins, D.G. and Gibson, T.J. 1997. Clustal W version 1.7. Multiple sequence alignment program. European Molecular Biology Laboratory. Heidelberg, Germany [ cited 3 April 2002]. available from World Wide Web: <ftp.ebi.ac.uk >]

96