Your SlideShare is downloading. ×
Mi proyecto de pre-tesis
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Mi proyecto de pre-tesis

9,194
views

Published on

Este es mi trabajo de pre-tesis I en la Universidad Nacional de Ingenieria - Lima Peru

Este es mi trabajo de pre-tesis I en la Universidad Nacional de Ingenieria - Lima Peru

Published in: Technology

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,194
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
222
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Universidad Nacional de Ingenier´a ı Facultad de Ingenier´a Industrial y de Sistemas ı Escuela Profesional de Ingenier´a de Sistemas ı Pre-Tesis presentada para obtener el grado de Ingeniero de Sistemas An´ lisis de la Similitud de Secuencias Mitocondriales a mediante Algoritmos Computacionales por Salas Coz Erwin Erasmo 20050053E ´ Lima - Peru Noviembre de 2008
  • 2. An´ lisis de la Similitud de Secuencias a Mitocondriales mediante Algoritmos Computacionales Salas Coz Erwin Erasmo 21 de diciembre de 2008
  • 3. De Salas Coz, Erwin Erasmo: Dedico esta tesis a mis padres Erasmo y Rosario por su gran esfuerzo dedicado a mi persona.
  • 4. An´ lisis de la Similitud de a Secuencias Mitocondriales mediante Algoritmos Computacionales Salas Coz Erwin Erasmo 20050053E Facultad de Ingenier´a Industrial y de Sistemas, 2008 ı Asesor de Tesis: Mag. Samuel Oporto D´az ı El presente trabajo pretende analizar dos algoritmos presentes en el mundo de la computaci´ n abocados a la soluci´ n del problema del nivel de similitud o o de secuencias g´ nicas. Los algoritmos analizados son el conocido algoritmo de e ´ Needleman-Wunsch y el del arbol de sufijos de Weiner. Estos algoritmos ser´ n a evaluados seg´ n su eficiencia de espacio y de tiempo los cuales ser´ n implemen- u a tados en MATLAB y usar´ n como muestras la base de datos de ADN mitocondrial a de GenBank y Human Mitochondrial Data Base.
  • 5. Analysis of Exacting Matching of Mithocondrial Sequences using Computational Algorithms Salas Coz Erwin Erasmo 20050053E Faculty of Industrial Engineering and Systems, 2008 Major Professor: Samuel Oporto D´az, Msc ı This work tries to analyse two current algorithms used for solving the match- ing genetic strings problem. The algorithms analysed are the classical Needleman- Wunsch algorithm and the suffix tree algorithm of Weiner. These algorithms will be tested their space and time efficiency, they will be coded in MATLAB and us- ing the mitochobdrial DNA from GenBank data base and Human Mitochondrial Data Base.
  • 6. ´ Indice general 1. Introducci´ n y Planteamiento del Problema o 8 1.1. Introducci´ n . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . 8 1.2. Descripci´ n de la situaci´ n problem´ tica o o a . . . . . . . . . . . . . . 11 1.3. Descripci´ n del problema . . . . . . . . o . . . . . . . . . . . . . . 12 1.4. Objetivo de la Investigacion . . . . . . . . . . . . . . . . . . . . . 13 1.4.1. Objetivo superior . . . . . . . . . . . . . . . . . . . . . . 13 1.4.2. Objetivo principal . . . . . . . . . . . . . . . . . . . . . 13 1.4.3. Objetivos espec´ficos . . . . . . ı . . . . . . . . . . . . . . 13 1.5. Justificaci´ n . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . 14 1.6. Alcances y Limitaciones . . . . . . . . . . . . . . . . . . . . . . 14 1.6.1. Alcances de la Investigaci´ n . . o . . . . . . . . . . . . . . 14 1.6.2. Limitaciones de la Investigaci´ no . . . . . . . . . . . . . . 14 2. Revisi´ n de la bibliograf´a o ı 15 2.1. Teor´a G´ nica . . . . . . . . . . . . . . . . . . . . ıe . . . . . . . . 16 2.1.1. ADN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.1.2. Transcripci´ n y traducci´ n . . . . . . . . . o o . . . . . . . . 17 2.1.3. Replicaci´ n Gen´ tica . . . . . . . . . . . . o e . . . . . . . . 17 2.1.4. Polimorfismo de Nucle´ tido Simple (SNP) o . . . . . . . . 18 2.1.5. Genoma Mitocondrial . . . . . . . . . . . . . . . . . . . 18 2.1.6. Genoma Humano . . . . . . . . . . . . . . . . . . . . . . 18 2.2. Taxonom´a . . . . . . . . . . . . . . . . . . . . . ı . . . . . . . . 19 2.2.1. Alineamiento de secuencias . . . . . . . . . . . . . . . . 19 2.2.2. Clasterizaci´ n Jer´ rquica . . . . . . . . . . o a . . . . . . . . 19 3. Base de Datos de ADN Mitocondrial 20 3.1. Fuente de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2. Estructura de los datos . . . . . . . . . . . . . . . . . . . . . . . 20 4
  • 7. 3.3. Descripci´ n de los datos . . . . . . . . . . . . . . . . . . . . . . 20 o 4. Modelo de soluci´ n o 21 4.1. Modelo de soluci´ n . . . . . . . . . . . . . . . . . . . . . . o . . . 21 4.1.1. Definici´ n de Notaciones y Conceptos B´ sicos . . . o a . . . 21 4.1.2. Explicaci´ n de los Algoritmos . . . . . . . . . . . . o . . . 21 4.1.3. An´ lisis de la Eficiencia Te´ rica . . . . . . . . . . . a o . . . 21 4.1.4. Medici´ n de la distancia de Levenhstein y Hamming o . . . 21 5. Definici´ n de Notaciones y Definiciones B´ sicas o a 22 5.1. Definici´ n de Notaciones y Conceptos B´ sicos . . . . . . . . . . 22 o a 6. Explicaci´ n de los Algoritmos o 25 6.1. Algoritmo de Needleman-Wunsch . . . . . . . . . . . . . . . . . 25 6.2. Algoritmo de Weiner . . . . . . . . . . . . . . . . . . . . . . . . 30 7. Evaluaci´ n Te´ rica o o 35 7.1. Medidas de eficiencia de un algoritmo . . . . . . . . . . . . . . . 35 7.2. Eficiencia en Tiempo del Algoritmo de Needleman-Wunsch . . . 36 7.3. Eficiencia en Tiempo del Algoritmo de Weiner . . . . . . . . . . 36 8. Medici´ n de la distancia de Levenhstein y Hamming o 38 8.1. Distancia de Hamming . . . . . . . . . . . . . . . . . . . . . . . 38 8.2. Distancia de Levenshtein . . . . . . . . . . . . . . . . . . . . . . 39 9. Conclusiones 40 9.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 9.2. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 9.3. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5
  • 8. ´ Indice de cuadros 6.1. Alineamiento de dos secuencias. . . . . . . . . . . . . . . . . . . 25 6.2. Matriz de sustituci´ n. . . . . . . . . . . . . . . . . . . . . . . . . 26 o 8.1. Distancia de Hamming . . . . . . . . . . . . . . . . . . . . . . . 38 8.2. Distancia de Levenshtein . . . . . . . . . . . . . . . . . . . . . . 39 6
  • 9. ´ Indice de figuras 1.1. Lista de algoritmos con sus eficiencias de tiempo y espacio [16]. . 10 2.1. Dogma central de la biolog´a. . . . . . . . . . . . . . . . . . . . . 16 ı 6.1. Comienzo del llenado de la matriz M. . . . . . . . . . . . . . . . 27 6.2. Proceso del llenado completo de la matriz M . . . . . . . . . . . . 27 6.3. Trazado del pathway o trazo de alineamiento . . . . . . . . . . . 28 ´ 6.4. Arbol de Sufijos para S . . . . . . . . . . . . . . . . . . . . . . . 31 Formaci´ n del arbol T1 a partir de T2 . . . . . ´ 6.5. o . . . . . . . . . . . 33 7
  • 10. Cap´tulo 1 ı Introducci´ n y Planteamiento del o Problema 1.1. Introducci´ n o La similitud de secuencias es un problema ampliamente estudiado en la bioin- form´ tica [5], debido a su importancia como procedimiento para establecer evolu- a ci´ n de las especies, variabilidad gen´ tica [4], herencia, identificaci´ n de dele- o e o ciones, inserciones y sustituci´ n en las secuencias los cuales pueden ser las de- o nominadas polimorfismo de nucle´ tido simple (SNP) asociados a diferentes en- o fermedades [8, 14, 1]. Existen otras aplicaciones importantes [16, 5] como la b´ squeda y recuperaci´ n u o de texto, la cual es la b´ squeda de un una palabra que es un string en un tex- u to, la dificultad se acrecienta cuando puede haber variaciones ortogr´ ficas, er- a rores de escritura o variaciones sint´ cticas como un sustantivo pluralizado o una a ´ variaci´ n de este que es la b´ squeda de palabras y frases en la internet mediante o u buscadores. La detecci´ n de intrusos y virus que atacan a un sistema y software de o aplicaci´ n. Adem´ s tenemos el ensamblaje de segmenteos, agrupamientos, proce- o a samiento XML, miner´a de datos, an´ lisis fitog´ nico, homolog´as funcionales y ı a e ı estructurales, cromatograf´a, etc. ı Para proceder a averiguar la similitud de secuencias exiten varios algoritmos los cuales pueden ser agrupados en: 1. Emparejamiento exacta de secuencias. 2. Emparejamiento aproximado de secuencias. 8
  • 11. Para el problema del emparejamiento exacto de secuencias se tienen algorit- mos como el Z algoritmo de Gusfield [5] ,b´ squeda de T´ ndem exactos , preproce- u a ´ samiento de secuencias en arboles de sufijos [5], el algoritmo de Boyer-Moore , el algoritmo de Knuth-Morris y otros. Para el problema de emparejamiento aproximado tenemos varios tipos de algo- ritmos , entre los cuales podemos citar a la programaci´ n din´ mica [10] , aut´ matas o a o finitos [3], filtradores [3], mayor subsecuencia com´ n aproximada, b´ squeda de u u t´ ndem repetidos aproximados [11] [17], algoritmos que usan la distancia de Lev- a enhstein [9], algoritmos que usan la distancia de Hamming [6] y distancia de episodios. Espec´ficamente los algoritmos m´ s conocidos tenemos al algoritmo de ı a Needleman-Wunsch [10], el algoritmo de Smith-Waterman [13], FASTA, BLAST y otros. Tambi´ n se tienen otros tipos de algoritmos y t´ cnicas computacionales como e e redes neuranales [7], algoritmos gen´ ticos [7], m´ todos estoc´ sticos [12], algo- e e a ritmos de aprendizaje [7] y otras t´ cnicas relacionadas a la inteligencia artificial e [7]. La evaluaci´ n de estos algoritmos se realiza mediante el an´ lisis de su eficien- o a cia O() en espacio y tiempo esto se puede ver en la Figura 1.1 en la que se lista una serie de algoritmos y sus eficiencias en espacio y tiempo as´ como a qu´ tipo de ı e famila de algoritmos procede, adem´ s un aspecto importante a evaluar es qu´ tan a e preciso es el alineamiento que proponen los algoritmos de programaci´ n din´ mi- o a ca, aut´ matas finitos, redes neuronales, algoritmos gen´ ticos y otros algoritmos o e usados para el problema de emparejamiento aproximado de secuancias. En el marco de la bioinform´ tica las secuencias de ADN a analizar est´ n con- a a stitu´das de caracteres denotado como A, G, C y T, los cuales respectivamente ı representan a la Adenina, Guanina, Citosina y Tiamina, tambi´ n existen otras se- e cuencias como las de ARN y de prote´nas los cuales se conforman de otro grupo ı de caracteres, pero pueden ser analizadas mediante las mismas t´ cnicas con con- e sideraciones de tama˜ o ya que en este aspecto difieren. n En el presente trabajo se pretende evaluar y comparar dos algoritmos descritos anteriormente los cuales son: 1. Un algoritmo de programaci´ n din´ mica: El algoritmo de Needleman-Wunsch o a [10]. 2. Un algoritmo de procesamiento de secuencias: El algoritmo de Weiner [5]. 9
  • 12. Figura 1.1: Lista de algoritmos con sus eficiencias de tiempo y espacio [16]. 10
  • 13. En lo que respecta al contenido de los cap´tulos en el cap´tulo 2 se aborda ı ı la teor´a gen´ tica necesaria para el comprendimiento de las secciones posteri- ı e ores as´ como un acercamiento a los algoritmos usados en el campo de la bioin- ı form´ tica para su posterior profundizaci´ n. a o Se hace un breve revisi´ n de la bibliograf´a, una exposici´ n de los conceptos o ı o necesarios para entender el tema abordado como lo ADN, los nucle´ tidos y su o importancia, la transcripci´ n, la traducci´ n, el polimorfismo de nucle´ tido simple, o o o el genoma humano y mitocondrial. En el cap´tulo 3 se muestra las fuentes de datos a usar para el proceso de la ex- ı perimentaci´ n las cuales guardan las secuencias de ADN mitocndrial de la NCBI o y HMDB, se detalla la estructura de los mismos, su disponibilidad, los mecanis- mos de acceso a estas bases de datos, la procedencia, los proyectos involucrados y su almacenamiento. En el cap´tulo 4 se presenta el modelo de soluci´ n el cual constar´ de cuatro ı o a secciones el conceptos y notaciones b´ sicas, el alineamiento y el c´ lculo de la a a significancia estad´stica la cual dir´ el grado de diferencia de las secuencias. ı a En el cap´tulo 5 se presenta el procedimiento 1 en el que se presenta las nota- ı ciones y conceptos b´ sicos usados durante el an´ lisis de los algoritmos a a En el cap´tulo 6 se presenta el procedimiento 2 que es la explicaci´ n detallada ı o de los algoritmos a usarse para poder manejar las largas secuencias presentes en el ADN mitocondrial. En el cap´tulo 7 se presenta el procedimiento 3 en el que se presenta los c´ lcu- ı a los usados para medir la eficiencia de los algoritmos. En el cap´tulo ?? se presenta el procedimiento 4 en el cual se determinar las ı variables las cuales ser´ n medidas para determinar la efectividad de los algorit- a mos. En el cap´tulo 9 se presenta las conclusiones, recomendaciones y trabajos fu- ı turos que se pueden plantear a partir de los resultados de esta investigai´ n. o 1.2. Descripci´ n de la situaci´ n problem´ tica o o a Los procedimiento algor´tmicos para la evaluaci´ n de similitud de secuen- ı o cias biol´ gicas como el ADN nuclear, ADN mitocondrial, ARN, prote´nas, etc. o ı Se tienen en diferentes familias las cuales resuelven el problema en diferentes tiempos y espacio de ejecuci´ n usados seg´ n qu´ variante del problema se de- o u e sea resolver, por tal motivo comparar los diferentes algoritmos procedentes de diferentes familias es importante para saber c´ mo se comporta estos algoritmos o 11
  • 14. ´ con secuencias como del ADN mitocondrial, ya que estos ultimos se encuentran inmersos en diferentes investigaciones debido a su amplia vinculaci´ n con enfer- o medades gen´ ticas como el Parkinson , Alzeimer , diabetes , c´ ncer de pr´ stata , e a o c´ ncer de mama y otros . a 1.3. Descripci´ n del problema o Los algoritmos que abordan el problema de la similitud de secuencias se tienen en diferentes tiempos y espacio de ejecuci´ n (una lista de algoritmos de la familia o de m´ s larga subsecuencias com´ n ver Figura 1.1) y se usan para distintas vari- a u antes del problema principal, adem´ s si tomamos en cuenta los algoritmos que a abordan el problema de emparejamiento aproximado de secuencias toman difer- entes criterios para decidir qu´ alineamiento es el indicado. Entonces ¿qu´ tiempo e e y espacio de ejecuci´ n son los indicados? adem´ s ¿qu´ criterio de decisi´ n es el o a e o apropiado? es lo que se formula en el contexto del ADN mitocondrial ante esto el problema radica en ¿c´ mo proceder para comparar los algoritmos de similitud de o secuencias de ADN mitocondrial?. En el marco de lo descrito se proceder´ a comparar dos algoritmos, que a crite- a rio de estar entre los m´ s comunmente usados [5], procedente de diferentes famil- a ias de algoritmos, los cual estos ser´ n sus representates, se evaluar´ qu´ tan simi- a ae lares son sus alineamientos y grados de similitud de secuencias es decir qu´ escala e correspondiente le otorga cada algoritmo, por lo que de esta manera se proceder´ aa su comparaci´ n. o Los algoritmos a comparar son: 1. Un algoritmo de programaci´ n din´ mica: El algoritmo de Needleman-Wunsch o a [10] el cual pertenece a la familia de la programaci´ n din´ mica y m´ s gen- o a a eralmente los de tipo emparejamiento aproximado. 2. Un algoritmo de procesamiento de secuencias: El algoritmo de Weiner [5] ´ que procede de los algoritmos de generaci´ n de arboles de sufijos el cual da o un formato que mejora el tiempo de procesamiento de varios algoritmos [5] [12]. 12
  • 15. 1.4. Objetivo de la Investigacion 1.4.1. Objetivo superior Dise˜ ar qu´ combinaci´ n de algoritmos son los que abordar´ n los problemas n e o a computacionales a los que est´ involucrado el ADN mitocondrial. a 1.4.2. Objetivo principal Identificar cu´ l algoritmo es el que logra la mejor distancia de Hamming y a Levenshtein adem´ s como la mejor eficiencia O() en el tiempo y espacio de eje- a cuci´ n. o 1.4.3. Objetivos espec´ficos ı Los objetivos espec´ficos son los sigueintes: ı 1. Investigar sobre algoritmos m´ s comunmente usados en bioinform´ tica. a a 2. Desarrollar y explicar los algoritmos de Needleman-Wunsch y Weiner. 3. Mostrar ejemplos de los algoritmos. 4. Identificar la base de datos adecuada para la evaluaci´ n de los algoritmos. o 5. Investigar la bibliografia correpondiente para la implementaci´ n de los al- o goritmos. 6. Desarrollar los algoritmos a comparar en MATLAB para su evaluaci´ n y o an´ lisis. a 7. Ejecutar los algoritmos usando las base de datos elegidas. 8. Recopilar la informaci´ n estad´stica de cada producto obtenido de los algo- o ı ritmos. 9. Medir las distancias de Hamming y Levenshtein de los alineamientos obtenidos. 10. Comparar los resultados obtenidos entre los dos algoritmos. 11. Identificar cual es el que tiene el mejor desempe˜ o seg´ n los plantemientos n u fijados. 13
  • 16. 1.5. Justificaci´ n o Existen enfermedades relacionadas a las variaciones que pueden presentar el ADN mitoncondrial como el Parkinson, Alzeimer, diversos c´ nceres, diabetes, y a otras enfermedades. Para lo cual el procedimiento para distinguir e identificar las caracter´sticas propias de cada ADN mitocodrial seg´ n la enfermedad a analizar ı u se procede computacionalmente para lo cual se necesita de algoritmos eficientes en tiempo y espacio para los investigadores de las ramas de biolog´a, medicina, ı qu´mica y otros. De esta manera se aporta al desarrollo de productos finales los ı cuales podr´ n reparar el ADN mitocondrial mediante drogas , medicamentos u a otros procedimientos para as´ disminuir el n´ mero de personas afectadas por los ı u males antes mencionados. 1.6. Alcances y Limitaciones 1.6.1. Alcances de la Investigaci´ n o Est´ limitado por los dos algoritmos a analizar procedentes de diferntes famil- a ias de algoritmos y las bases de datos utilizadas que son GenBank y HMDB. 1.6.2. Limitaciones de la Investigaci´ n o Principalmente la cantidad de algoritmos analizados, ya que en el mundo de la bioinform´ tica existen diversos algoritmos que abordan el problema de simil- a itud de secuencias como ya explicado en la introducci´ n, adem´ s la cantidad de o a datos a analizar no puede ser lo sufienciente debido a que ser´a necesario una base ı de datos de diferentes grupos humanos para postular una comparaci´ n general o de los algoritmos. Adicionalmente los recursos computacionales debido a que en los importantes centros de investigaci´ n de bioinform´ tica se tiene la disponibili- o a ´ dad de supercomputadores para el procesamiento optimo de los algoritmos en los experimentos. 14
  • 17. Cap´tulo 2 ı Revisi´ n de la bibliograf´a o ı Desde la d´ cada de los 60s se ha estado desarrollando la bioinform´ tica me- e a diante el cual se aplica la tecnolog´a de la computaci´ n a la gesti´ n y an´ li- ı o o a sis de datos biol´ gicos en el que abarcan diferentes t´ cnicas como inform´ tica, o e a matem´ tica aplicada, estad´stica, ciencia de la computaci´ n, inteligencia artificial, a ı o qu´mica y bioqu´mica. ı ı La tarea exhaustiva que tienen los investigadores en esta materia se incluyen en los siguientes campos: An´ lisis de secuencias, la labor est´ en analizar la secuencia de ADN co- a a mo las deleciones, inserciones y sustituciones los cuales pueden asociarse a enfermedades, caracteres g´ nicos, historia de evoluci´ n, etc. e o Anotaci´ n de genomas, mediante el cual se anotan los genes y sus carac- o ter´sticas para posteriores investigaciones hechas por bi´ logos, bioqu´micos ı o ı y otros. Biolog´a evolutiva computacional, es el estudio de los ancestros de las es- ı pecies para dibujar mapas gen´ ticos. e An´ lisis de expresi´ n g´ nica, mediante el cual se compara por ejemplo el a oe material gen´ tico de un tejido a analizar con uno canceroso para determinar e diferencias, patrones y similitudes. Los principales conceptos de gen´ tica involucrada en la bioinform´ tica son e a desarrollados a continuaci´ n. o 15
  • 18. 2.1. Teor´a G´ nica ı e 2.1.1. ADN ´ Es un acido nucleico que contiene instrucciones gen´ ticas usada en el desar- e rollo y el funcionamiento de todos los organismos vivos y algunos virus. Tiene como papel principal ser portador y transmisor de informaci´ n gen o La informaci´ n en el ADN es copiada a cada c´ lula de su progenie durante o e el proceso de la replicaci´ n, las porciones de ADN, los genes, son copiadas por o mensajeros de ARN durante un proceso denominado transcripci´ n por enzimas o llamadas ARN polimerasa. Estos mensajes son traducidos por mol´ culas ensam- e bladoras llamadas ribosomas. Seg´ n lo anterior descrito, la informaci´ n gen´ tica fluye desde el ADN al ARN u o e a la prote´na, esto es conocido como el dogma central de la biolog´a. ı ı Figura 2.1: Dogma central de la biolog´a. ı Con respecto a la composici´ n del ADN est´ compuesto de una larga secuen- o a cia de nucle´ tidos conformados por az´ cares y grupos fosfato unidos por enlaces o u ´ de tipo ester. Conectado a cada az´ car se encuentran los cuatro tipos de mol´ cu- u e las llamadas bases nitrogenadas. Es esta disposici´ n de bases la forma c´ mo es o o almacenada la informaci´ n, as´ como en las computadoras personales toda la in- o ı formaci´ n esta codificada en n´ meros binarios 0 y 1 lo es de este modo en los o u seres vivos. La lectura de esta secuencia es dada por el c´ digo gen´ tico. o e La localizaci´ n de la mol´ cula de ADN se encuentra en estructuras llamadas o e cromosomas, estas son las que intervienen en el proceso de replicaci´ n.o Las cuatro bases nitrogenadas que se encuentran mayoritariamente en el ADN son: Timina, representado por la letra T. Siempre se empareja con la Adenina de la cadena complementaria. Citosina, denominado con la letra C en el c´ digo gen´ tico, Siempre se em- o e pareja con la Guanina en la cadena complementaria. Guanina, en el c´ digo gen´ tico G. Siempre emparejado con la Citosina. o e 16
  • 19. Adenina, representado por la letra A en el c´ digo gen´ tico. Siempre em- o e parejada con la Timina. La secuencia de ADN est´ conformada por aproximadamente 3 mil millones a de bases, en aproximadamente 200 000 a 250 000 genes. 2.1.2. Transcripci´ n y traducci´ n o o En un gen, la secuencia de nucle´ tidos a lo largo de una hebra de ADN se o transcribe a un ARN mensajero (ARNm) y esta secuencia a su vez se traduce a una prote´na que un organismo es capaz de sintetizar o expresar en uno o varios ı momentos de su vida, usando la informaci´ n de dicha secuencia. o La relaci´ n entre la secuencia de nucle´ tidos y la secuencia de amino´ cidos o o a de la prote´na viene determinada por el c´ digo gen´ tico, que se utiliza durante el ı o e proceso de traducci´ n o s´ntesis de prote´nas. La unidad codificadora del c´ digo o ı ı o gen´ tico es un grupo de tres nucle´ tidos (triplete), representado por las tres le- e o tras iniciales de las bases nitrogenadas (por ej., ACT, CAG, TTT). Los tripletes del ADN se transcriben en sus bases complementarias en el ARN mensajero, y en este caso los tripletes se denominan codones (para el ejemplo anterior, UGA, GUC, AAA). En el ribosoma cada cod´ n del ARN mensajero interacciona con o una mol´ cula de ARN de transferencia (ARNt o tRNA) que contenga el triplete e complementario, denominado anticod´ n. Cada ARNt porta el amino´ cido corre- o a spondiente al cod´ n de acuerdo con el c´ digo gen´ tico, de modo que el riboso- o o e ma va uniendo los amino´ cidos para formar una nueva prote´na de acuerdo con a ı las ¨nstrucciones”de la secuencia del ARNm. Existen 64 codones posibles, por ı lo cual corresponde m´ s de uno para cada amino´ cido; algunos codones indican a a la terminaci´ n de la s´ntesis, el fin de la secuencia codificante; estos codones de o ı terminaci´ n o codones de parada son UAA, UGA y UAG. o 2.1.3. Replicaci´ n Gen´ tica o e El proceso de replicaci´ n de ADN es la base de la herencia del material o gen´ tico. Se basa en la duplicaci´ n de la informaci´ n gen´ tica y su posterior di- e o o e visi´ n, ya que en toda c´ lula que va a dividirse la cromatina debe duplicarse para o e poder repartirse por igual en cada una de las c´ lulas hijas. Para ello las dos ca- e denas complementarias que componen la doble h´ lice de ADN (mol´ cula madre) e e deben separarse para poder formar dos nuevas cadenas, cada una de las cuales es complementaria a una de las cadenas de la mol´ cula madre. e 17
  • 20. Este tipo de duplicaci´ n de ADN se llama replicaci´ n semiconservativa, porque o o cada una de las dos mol´ culas hijas contiene la mitad (una de las cadenas de ADN) e de la mol´ cula madre. La duplicaci´ n semiconservativa tiene lugar precisamente e o por el hecho de que la secuencia de las bases que la constituyen se conserva, de forma que la secuencia de cada mol´ cula madre sirve de molde para formar la e secuencia de dos mol´ culas hijas. e 2.1.4. Polimorfismo de Nucle´ tido Simple (SNP) o El polimorfismo de nucle´ tido simple o SNP es una variaci´ n de la secuencia o o de ADN que afecta a un solo nucle´ tido (A, G, C o T) del genoma. Una de estas o variaciones debe de darse en al menos un porciento para ser considerado como SNP. Los SNP forman hasta el 90 por ciento de todas las variaciones gen´ micas o humanas, y aparecen cada 100 a 300 bases en promedio, a lo largo del genoma humano. Dos tercios de los SNP corresponden a la sustituci´ n de una citosina (C) o por una timina (T). Estas variaciones en la secuencia del ADN pueden afectar a la respuesta de los individuos a enfermedades, bacterias, virus, productos qu´micos, ı f´ rmacos, etc. a El polimorfismo de nucle´ tido simple est´ siendo ampliamente estudiado en o a el proyecto mundial HapMap, en la que trabajan cient´ficos de Jap´ n, el Reino ı o Unido, Canad´ , China, Nigeria, y los Estados Unidos. a 2.1.5. Genoma Mitocondrial La mitocondria es una organela presente en las c´ lulas, su funci´ n princi- e o pal es el de producir energ´a y respiraci´ n en la c´ lula. Aunque tambi´ n tiene ı o e e una peque˜ a cantidad de material gen´ tico llamado ADN mitocondrial, contiene n e alrededor de 16 500 bases, es decir los nucle´ tidos. El ADN mitocondrial contiene o 37 genes, es decir los bloques de bases, trece de estos genes proveen instrucciones para hacer enzimas envueltas en la fosforilaci´ n oxidativa. o 2.1.6. Genoma Humano Consiste en todo el conjunto de genes conformado en el ser humano, los cuales son los 22 cromosomas (autosomas) y 2 cromosomas sexuales. Conformado de aproximadamente 3 200 millones de bases (3200Mb) con un total de 20 000 a 25 ´ 000 genes. Aunque la ultima cifra no est´ del todo clara, ya que se considera un a 18
  • 21. gen como un conjunto de bases, pero los investigadores no se ponen de acuerdo en que forma deben de estar agrupadas. 2.2. Taxonom´a ı Los algoritmos podemos clasificarlo en el siguiente modo: 2.2.1. Alineamiento de secuencias En este caso el problema se refiere a encontrar las ocurrencias de una muestra P en una secuencia S. Ambos son secuencias las cuales pueden ser de nucle´ tidos o o amino´ cidos, dependiendo que si es ADN o una prote´na lo que se est´ anal- a ı a izando. El alineamiento tambi´ n es realizado por secuencias de dos muestras que e pueden ser del mismo o aproximado tama˜ o.n 1. Programaci´ n din´ mica: Tales como el algoritmo de Needleman-Wunsch o a [10], el cual busca la mejor soluci´ n generando un pathway en una matriz o de m por n. La complejidad del algoritmo esta dado por O(mn) y con mejo- ´ ramientos realizado con el arbol de substring 0(m + n) 2. Aut´ matas finitos: Se define una serie de secuencias las cuales debe pasar o la secuencia en cuestion y seg´ n el nivel de correpodencia se logra alinear. u 3. Filtraci´ n: Filtra previamente a las secuencias, las cuales pueden tener otros o caracteres no pertenecientes al alfabeto o estar en un orden el cual no debe estar. 2.2.2. Clasterizaci´ n Jer´ rquica o a Este m´ todo es usado para determinar la relaci´ n evolutiva de base de datos e o ´ agrup´ ndolos en arboles y jerarqu´as. a ı El m´ todo (UPGMA) Se trata de una ’distancia basada en’ el m´ todo que e e trabaja sobre una matriz de las distancias (o similitudes) entre pares de objetos. Puede ser aplicado esencialmente a cualquier situaci´ n en la que las distancias son o aditivas. En la bioinform´ tica, que se utiliza en muy diversas tales como las aplica- a o´ ciones de construcci´ n arboles evolutivos y an´ lisis de microarray de la expresi´ n a o g´ nica de datos. e 19
  • 22. Cap´tulo 3 ı Base de Datos de ADN Mitocondrial 3.1. Fuente de Datos Las fuentes de datos son recopiladas de National Center for Biotecnology In- formation (NCBI) espec´ficamente de la base de datos Genbank, la disponibilidad ı de estos datos es libre en internet el cual se puede acceder directamente desde MATLAB o descargando de su sitio web. El comando a usarse para acceder al GenBank es getgenbank() desde MAT- LAB. Tambi´ n de Human Mitochondrial Data Base (HMDB) [2], el cual contiene e ADN mitocondrial de diferentes tipos de enfermedades entre las cuales esta de enfermos de Parkinson tambi´ n siendo su uso libre y descargable de su sitio web. e 3.2. Estructura de los datos La estructura de los datos son en forma de cadena de caracteres, los cuales son le´dos directamente desde MATLAB mediante el ToolBox de Bioinformatica ı 3.3. Descripci´ n de los datos o Los datos son procesados en MATLAB el cual maneja estas cadenas de carac- teres internamente facilitando el proceso de los algoritmos implementados 20
  • 23. Cap´tulo 4 ı Modelo de soluci´ n o 4.1. Modelo de soluci´ n o En base a los trabajos realizados anteriormente y los objetivos planteados el modelo soluci´ n tiene la siguiente estructura: o 4.1.1. Definici´ n de Notaciones y Conceptos B´ sicos o a En esta secci´ n se presenta las notaciones y definiciones b´ sicas para la expli- o a caci´ n de los algoritmos. o 4.1.2. Explicaci´ n de los Algoritmos o En esta secci´ n se detalla los algoritmos a analizar y medir. o 4.1.3. An´ lisis de la Eficiencia Te´ rica a o En esta parte lo que se realiza es evaluar te´ ricamente los algoritmos, esto o mendiante la eficiencia de tiempo y espacio. 4.1.4. Medici´ n de la distancia de Levenhstein y Hamming o Se realiza la medici´ n de las distancia de Levenhstein y Hamming como eval- o uador del desempe˜ o de aplicar los algoritmos. n 21
  • 24. Cap´tulo 5 ı Definici´ n de Notaciones y o Definiciones B´ sicas a Para la explicaci´ n de los algoritmos y procedimientos a evaluar se usa una o notaci´ n generalmente usada en la mayor´a de las referencias bibliogr´ ficas re- o ı a visadas las cuales se muestra acontinuaci´ n. o 5.1. Definici´ n de Notaciones y Conceptos B´ sicos o a El s´mbolo = significa igualdad, es decir si se presenta a = b se lee a es igual ı a b, adem´ s el s´mbolo := significa asignaci´ n, es decir si se presenta a := b se a ı o lee el valor de b se asigna a a . Sea Σ = {0, 1, ..., k − 1} un alfabeto fijo de tama˜ o k. Sea Σn el conjunto n de todas las secuencias de tama˜ o n sobre el alafabeto Σ. Adem´ s Σn puede ser n a definido recursivamente por: Σn = Φ, n+1 = ×Σn , n ≥ 0, Σ Donde Φ denota sequencia vac´a que es lo mismo decir una secuencia carente ı de s´mbolo alguno. Las sequencias tambi´ n pueden denominarse strings [5]. Si ı e tenemos la secuencia s procedente del conjunto Σn , se define como la longitud de la secuencia n y denotada por: |s| = n. 22
  • 25. Σ∗ denota el conjunto de las secuencias de cualquier tama˜ o sobre Σ. Adem´ s si n a i ≥ 1 y i ≤ n entonces s(i) o si denota el caracter de la posici´ n i comenzando o de izquierda a derecha. Definiciones, donde n = |s|: 1. Sea s una secuencia sobre Σn , se define a v como subsecuencia, de s si hay m ´ndices consecutivos i1 < · · · < im tal que: ı v1 = si1 , . . . , vm = sim (5.1) v puede ser denotado como Si1 im o como S [i1 . . . im ]. 2. Se define a v como prefijo de s si hay m ´ndices consecutivos 1 < · · · < m ı tal que: v1 = s1 , . . . , vm = sm (5.2) 3. Se define a v como sufijo de s si hay m ´ndices consecutivos n − m < · · · < ı n tal que: v1 = sn−m , . . . , vm = sn (5.3) 4. Una inserci´ n es la adici´ n de un caracter en una secuencia s, es decir v o o est´ inserto en la posici´ n i en la secuencia s de longitud si: a o si := v luego ∀j > i y j ≤ n + 1 → sj := sj−1 (5.4) obteniendose un nuevo s con |s | = n + 1. 5. Una deleci´ n es la extracci´ n de un caracter en una secuencia s, es decir el o o caracter de la posici´ n i sufri´ una deleci´ n si: o o o ∀j ≥ i y j ≤ n − 1 → sj := sj+1 (5.5) obteniendose un nuevo s con |s | = n − 1. 6. Una sustituci´ n es el cambio de un caracter por otro proveniente del mismo o alfabeto Σ, es decir el caracter de posici´ n i sufri´ una sustituci´ n si: o o o si := v / v ∈ Σ y v = si (5.6) 23
  • 26. 7. La concatenaci´ n de dos secuencias u y v denotada por el operador + sobre o ∗ el conjunto Σ est´ definida por: a cat := u + v = u1 u2 . . . u|u−1| u|u| v1 v2 . . . v|v−1| v|v| (5.7) 8. La alineaci´ n o alineamiento de dos secuencias u y v sobre el conjunto o ∗ Σ es una funci´ n de inserci´ n Alinear () tal que inserta caracteres − a o o u y v para que |u| = |v|. Los resultados de obtenidos aplicar Alinear () sobre u y v depender´ n del algoritmo usado para dicho fin, los algoritmos a de alineamiento buscan la mejor o m´ xima similitud de las dos secuencias a por lo que la inserci´ n de − es realizada buscando dicho objetivo. o {u , v } := Alinear (u, v) ⇒ |u | = |v | (5.8) Donde: u := u1 . . . − . . . − . . . u|u| y v := v1 . . . − . . . − . . . v|v| . 24
  • 27. Cap´tulo 6 ı Explicaci´ n de los Algoritmos o 6.1. Algoritmo de Needleman-Wunsch Este algoritmo formulado en 1970 por Needleman y Wunsch [10] es la base de muchos otros realizados en el alineamiento de secuencias desde su publicaci´ no hasta la actualidad, es un algoritmo de la familia de la programaci´ n din´ mica o a en la que la soluci´ n presentada es la mejor seg´ n una serie de restricciones, no o u obstante no es la mejor soluci´ n ya que depende de los indicadores de eficiecia o los cuales en este caso es la tabla de sustituci´ n. o Sea el alfabeto Σ = {A, G, C, T } sobre el cual definimos dos cadenas s1 = GAAT T CAGT T A y s2 = GGAT CGA. El objetivo del algoritmo es alinear- los de tal forma que pueda identificarse deleciones, inserciones o cambios en los caracteres de las secuencias. Para el ejemplo un alineamiento es el siguiente: GA A T TC AG T T A X GG A - TC - G - - A Cuadro 6.1: Alineamiento de dos secuencias. Seg´ n el alineamiento realizado en la tabla 6.1 el primer, el tercer, el quinto, u el sexto, el octavo y el und´ cimo caracter est´ n correctamente alineados mientras e a que el segundo ha sufrido una sustituci´ n y las restantes existieron deleciones o tambi´ n denominadas gap o huecos. e El algoritmo de Needleman-Wunsch busca generar el alineamiento para lo cual coloca todas las posibles combinaciones de las dos secuencias s1 y s2 m´ s a 25
  • 28. una fila y columna de ceros para la generaci´ n de la recursividad, en una matriz M . o Definiendo a n = |s1| y m = |s2| entonces la matriz M ser´ de (m + 1)×(n + 1). a Por lo que entonces en la posici´ n i ≤ n + 1 se encuentra el i − 1 − esimo ´ o nucle´ tido s1i−1 de la secuencia s1 y en la posici´ n j ≤ m + 1 se encuentra el o o j − 1 − esimo nucle´ tido s2j−1 de la secuencia s2, entonces Mi,j representa la ´ o combinaci´ n de s1i−1 y s2j−1 . o Luego el procedimiento indica en rellenar la matriz M para lo cual primero definimos una matriz S de semejanza de caracteres (o en este caso particular de nucle´ tidos). o A G CT - A 1 0 00 0 G 0 1 00 0 C 0 0 10 0 T 0 0 01 0 Cuadro 6.2: Matriz de sustituci´ n. o La matriz mostradas en la tabla 6.2 en la m´ s simple matriz de sustituci´ n que a o puede construirse por considerar 1 a la concidencia exacta y 0 a la no coincidencia y 0 cuando hay un hueco o gap, ya que los actuales programas como FASTA o BLAST usan matrices m´ s complejas las cuales son constru´das seg´ n criterios a ı u de semejanza qu´mica, f´sica u otros entre las mol´ culas en cuesti´ n. ı ı e o Si definimos Si,j como una funci´ n tal que devuelve la similitud de los carac- o teres de la posici´ n i de s1 y j de s2 y a W como la penalizaci´ n por gap que en o o este caso es simplemente 0, tendremos listo las funciones necesarias para llenar la matriz M . Para proceder a rellenar todos los casilleros de M tendr´ n la siguiente a ley de formaci´ n: Mi,j = M aximo (Mi−1,j−1 + Si,j ; Mi,j−1 + W ; Mi−1,j + W ) ´ o Donde: Mi−1,j−1 + Si,j : Indica la coincidencia o no coincidencia de los caracteres de las secuencias. Mi,j−1 + W : Indica la suma en horizontal m´ s la penalizaci´ n por gap. a o Mi−1,j + W : Indica la suma en vertical m´ s la penalizaci´ n por gap. a o Gr´ ficamente podr´ ser visto m´ s f´ cilmente: a a aa Inicializado con la primera fila y columna como se muestra la figura 6.1 por ceros para usarlo en la primera iteraci´ n, seguido el valor de M2,2 se calcula: o 26
  • 29. (a) Inicializaci´ n de la matriz (b) Llenado de la primera cel- o da Figura 6.1: Comienzo del llenado de la matriz M. M1,2 = 0 y S2,2 = 1 → Mi−1,j−1 + Si,j = 1 M2,1 = 0 y W = 0 → Mi,j−1 + W = 0 M1,2 = 0 y W = 0 → Mi−1,j + W = 0 Y el siguiente c´ lculo M aximo (1, 0, 0) = 1 → M2,2 := 1. ´ a (a) Progreso de llenado (b) Matriz M rellenada Figura 6.2: Proceso del llenado completo de la matriz M El llenado por ejemplo de M2,3 calculamos previamente: M1,3 = 0 y S2,3 = 0 → Mi−1,j−1 + Si,j = 0 M2,2 = 1 y W = 0 → Mi,j−1 + W = 1 M1,3 = 0 y W = 0 → Mi−1,j + W = 0 Y el siguiente c´ lculo M aximo (0, 1, 0) = 1 → M2,3 := 1. As´ sucesivamente ´ a ı hasta llenar toda la matriz M . El procedimiento siguiente es describir el pathway que se dibuja desde el ex- tremo inferior derecho de la matriz M y se avanza a la izquierda arriba tomando siempre el mayor de las opciones precedentes, es decir el mayor en la columna, vertical y diagonal precedente. En el gr´ fico se observa el procedimiento: a 27
  • 30. (a) Comienzo en el extremo (b) Continuaci´ n con el ma- (c) Determinaci´ n del pathway o o inferior izquierdo yor score pr´ ximo o o trazo de alineamiento. Figura 6.3: Trazado del pathway o trazo de alineamiento N´ tese que el algoritmo comienza en el extremo inferior izquierdo, con el o score m´ ximo y avanza hacia atr´ s en la anterior fila y columna buscando el ma- a a yor score. El alineamiento correspondiente a s1 es a1 y para s2 es a2, se forma siguiendo el pathway o ruta tomando en cuenta las coincidencias con las secuen- cias, el cual se construye de la siguiente manera: Comenzando con a1 = φ y a2 = φ 1. Si Mi,j = Mi−1,j−1 + Si−1,j−1 es decir un avance en diagonal con coiciden- cia de caracteres: a) al := al + s1i−1 b) a2 := a2 + s1i−1 2. Si el avance del pathway es horizontal, es decir de Mi,j = Mi−1,j + W : a) al := al + s1i−1 b) a2 := a2 + − 3. Si el avance del pathway es vertical, es decir de Mi,j = Mi,j−1 + W : a) al := al + − b) a2 := a2 + s1i−1 Para finalizar la explicaci´ n del algoritmo el pseudoc´ digo es el siguiente: o o Pseudoc´ digo del Algoritmo de Needleman-Wunsch. o Input: Secuencias s1 = s11 . . . s1n y s2 = s21 . . . s2n , la matriz de sustituci´ n o S y la penalizaci´ n por gap W . o Output: Un alineamiento de s1 y s2, a1 y a2 respectivamente. 28
  • 31. 1. n := |s1| y m := |s| 2. desde i := 1 hasta n + 1 hacer Mi,0 := 0 3. desde j := 1 hasta m + 1 hacer M0,j := 0 4. desde i := 1 hasta n hacer desde j := 1 hasta m hacer 5. Mi,j := M aximo {Mi−1,j−1 + Si,j , Mi,j−1 + W, Mi−1,j + W } ´ 6. 7. fin desde 8. fin desde 9. mientras i > 1 mientras j > 1 10. si Mi,j = Mi−1,j−1 + Si−1,j−1 entonces 11. al := al + s1i−1 12. a2 := a2 + s1i−1 13. 14. sino si Mi,j = Mi−1,j + W : 15. al := al + s1i−1 16. a2 := a2 + − 17. 18. sino si Mi,j = Mi,j−1 + W : 19. al := al + − 20. a2 := a2 + s1i−1 21. 22. fin si 23. fin si 29
  • 32. 24. fin si j := j − 1 25. 26. fin mientras i := i − 1 27. 28. fin mientras 6.2. Algoritmo de Weiner ´ Este algoritmo [15] transforma a una secuencia en una estructura de tipo arbol esto con el fin de mejorar el tiempo de ejecuci´ n de los problemas de secuencias o como alineamiento exacto e inexacto, es ampliamente estudiado y explicado en el libro Algorithms on strings, trees and sequences de Gusfield [5]. Para lo cual definimos qu´ es un arbol de sufijos, dado una sequencia S sobre ´ e Σ∗ y sea A el conjunto de todos los sufijos de S: A = S1|S| , S2|S| , . . . , SS|S| Para efectos de f´ cil entendimiento sea S = bbabbaab entonces el conjunto A a de los sufijos es: S [1 . . . 8] = bbabbaab S [2 . . . 8] = babbaab S [3 . . . 8] = abbaab S [4 . . . 8] = bbaab S [5 . . . 8] = baab S [6 . . . 8] = aab S [7 . . . 8] = ab 30
  • 33. S [8 . . . 8] = b Ahora se define el arbol T el cual se conforma desde el extremo inferior del ´ triangulo formado por los sufijos de S, el arbol, en este caso de dos hijos a los m´ s ´ a por cada nodo, se expande a la izquierda si es a y si es b a la derecha. ´ Figura 6.4: Arbol de Sufijos para S ´ Con este arbol es posible resolver a modo de explicaci´ n de uso un problema o sobre secuencias como es el problema de la subsecuencia. El problema se define as´: ı Intup: P y S. Output: una ocurrencia de P en S. donde P y S est´ n definidos sobre un conjunto Σ. a De esta forma si P = babba ocurre en S si se puede encontrarse todo su recorrido en el arbol T ; y en efecto lo est´ y puede ser descrito como DIDDI (D ´ a derecha e I izquierda) como el recorrido en el arbol. Esto ocurre debido a que las ´ siguientes afirmaciones son equivalentes: P ocurre en S. P es un prefijo de un sufijo de S. 31
  • 34. P corresponde a un camino de T comenzando desde la ra´z de T . ı Como se muestra en la soluci´ n del problema anterior planteado tambi´ n se o e puede extender a la soluci´ n de alineamiento exacto e inexacto de secuencias, por o ´ lo que el arbol de sufijos es muy importante [5] debido a que simplifica consider- ablemente la b´ squeda de una secuencia, entonces el problema se disgrega a otro u ´ que es el de construir arboles de sufijos, entre uno de las propuestas m´ s exitosas a [5] es el algoritmo de Weiner [15]. Si m = |S|, adem´ s S es adicionado el caracter $. a Se denota a Suf fi como el sufijo S [i . . . |S|] de S comenzando en i. Se define a Ti como el arbol de m − i − 2 hojas numeradas de i a m − 1 tal ´ que la ra´z comienza en alguna hoja j (i ≤ j ≤ m + 1) en Suf fj . ı Sea Hi denota la m´ s grande subsecuencia del prefijo de S [i . . . m] que se a alinea con una subsecuecia de S [i + 1 . . . m] $. El algoritmo de Weiner construye los arboles desde Tm+1 hasta T1 . Entonces ´ se comienza com Tm+1 el cual es simplemente una hoja con terminaci´ n de carac- o ter $ luego desde i hasta 1 el algoritmo construye el arbol Ti desde Ti+1 y caracter ´ Si . Siendo la idea principal la construcci´ n de un arbol muy similar mostrado en ´ o la figura 6.4 por lo que se procede que cada arbol Ti tendr´ la propiedad que para ´ a cada nodo v en Ti no existir´ dos hojas que tengan el mismo caracter (similar a la a figura 6.4) entonces el arbol Ti+1 s´ lo tendr´ una unica hoja por la cual podr´ cre- ´ ´ o a a cer. En general, se crea el arbol Ti procedente de Ti+1 , al comenzar en la ra´z de ´ ı Ti+1 y avanzar todo lo que fuese posible hacia abajo aline´ ndose correcamente con a un prefijo de Suf fi . Ll´ mese R la ruta o camino por la que se avanza hacia abajo a en el arbol Ti+1 , este R es unico y no existe otro estp es concluyente para todo ´ ´ nodo v de Ti+1 . Si la ruta R no logra alinear exactamente a Suf fi $ se adiciona un nodo w etiquetado como i teniendo la nueva terminal (w, i), es de esta forma c´ mo Ti es formado. o Debido a que se tiene que calcular Hi como el alineamiento con Suf fi esto implica resolver un problema dentro de otro para lo cual ell algoritmo calcula dos valores adicionales: Para un caracter x y alg´ n nodo u, Iu (x) = 1 en Ti+1 si y s´ lo si hay una u o ruta desde la ra´z de Ti+1 igual a xα donde α es un ruta para llegar a u, xα ı podr´a no terminar en un nodo necesariamente. ı 32
  • 35. ´ ´ (a) Arbol T2 para S = ba (b) Arbol T1 para S = aba, en este caso se adiciona los nodos b y a al nodo izquierdo para que pueda alinearse cor- rectamente con bab Figura 6.5: Formaci´ n del arbol T1 a partir de T2 . ´ o Para alg´ n caracter x, Lu (x) en Ti+1 apunta a un nodo interno u en Ti+1 ¯ u s´ y s´ lo si u tiene una ruta xα, donde u tiene como etiqueta de ruta a α, en ¯ ıo otro caso Lu (x) es nulo. Con lo anterior se puede explicar el funcionamiento del algoritmo: 1. Comenzar en la hoja i + 1 de Ti+1 , que es la hoja para Suf f´ y avanzar ı+1 hacia la ra´z buscando el primer nodo v en el avance tal que Iu (Si ) = 1. ı 2. Si no se cumple lo anterior y se ha llegado a la ra´z y Ir (Si ) = 0 entonces ı Hi termina en la ra´z. Ir al paso 4. ı 3. Sea v el posible nodo encontrado cuyo Iu (Si ) = 1 entonces continuar hacia la ra´z hasta encontrar el primer nodo v , pudiendo ser v = v tal que Lv (Si ) ı no es nulo. a) Si la ra´z es encontrada y Lr (Si ) es nulo, sea ti el n´ mero de caracteres ı u en la ruta entre la ra´z y v. Buscar el terminal e cuya ruta comienza con ı Si . Hi termina exactamente ti + 1 caracteres desde la ra´z hacia e. Sino ı seguir con b. b) Si v fue encontrado seg´ n su condici´ n previamente establecida, llamem- u o os v el siguiente link para Si a v , sea li el n´ mero de caracteres en la u ruta desde v a v y sea c el primer caracter de la ruta. Si li = 0 entonces Hi termina en v , en otro caso buscar el terminal e de v cuyp primer 33
  • 36. caracter es c. Hi) finaliza en exactamente li caracters abajo de v en el terminal e. 4. Si un nodo ya existe en el final de Hi denotemos a w como nodo, en otro caso crear el nodo w al final de Hi . Crear una nueva hoja enumeradapor i, crear un nuevo terminal (w, i) etiquetado con el sobrante de Suf fi seguido con el caracter terminal $. Y finalizado se ha creado el nuevo arbol Ti . ´ 34
  • 37. Cap´tulo 7 ı Evaluaci´ n Te´ rica o o 7.1. Medidas de eficiencia de un algoritmo Para este c´ lculo se proceder´ a usar las notaciones asint´ ticas las cuales son a a o [5]: O(f ) Conjunto de funciones cuyo ritmo de crecimiento es menor o igual a f . T (n) ∈ O(f ) significa que T (n) esta acotado superiormente por cf (n), cuando n es suficientemente grande (c es una constante). Con esto se eval´ au el peor de los casos de un algoritmo, se le posiciona en situaciones cr´ticas. ı Ω(f ) Conjunto de funciones cuyo ritmo de crecimiento es mayor o igual a f . T (n) ∈ Ω(f ) significa que T (n) esta acotado inferiormente por cf (n), cuando n es suficientemente grande (c es una constante). Eval´ a a las fun- u ciones en su mejor caso, normalmente son casos triviales y no dan mucha informaci´ n. o Θ(f ) Conjunto de funciones con el mismo ritmo de crecimiento de f : Orden de magnitud de f T (n) ∈ Θ(f ) significa que T (n) esta acotado superior- mente por cf (n), e inferiormente por kf (n), cuando n es suficientemente grande (c,k constantes). Eval´ a un caso promedio m´ s dificil de estimar. u a Una definici´ n m´ s formal de O(f ), que es lo que se usar´ para evaluar, es : o a a O(f ) = {g|∃k > 0 ∧ ∃n0 > 0 : (∀n > n0 : g(n) ≤ kf (n))} (7.1) Ejemplo si tenemos las funciones n2 y 3n2 , k tomar´ el valor de 3 y n0 indica a apartir de qu´ punto se cumple la desigualdad. e 35
  • 38. Probar que la funci´ n 100n2 + n tiene el mismo ritmo de crecimiento que n2 o es cuenti´ n de tomar c = 101 y n0 = 1. o 7.2. Eficiencia en Tiempo del Algoritmo de Needleman- Wunsch Entonces el procedimiento a seguir para evaluar la eficiencia del algoritmo de Needleman-Wunsch es como sigue: 1. O1 (f ) = m + 1 dado que se asigna a Mi,0 := 0. 2. O2 (f ) = n + 1 dado que se asigna a M0,j := 0. 3. O3 (f ) = mn dado que se recorre toda la matriz de orden m × n para rellenarla. 4. O4 (f ) = mn dado que se recorre la ruta m×n para obtener el alineamiento. La cantidad total de tiempo para evaluar la eficiencia es O1 (f ) + O2 (f ) + O3 (f ) + O4 (f ) y al aplicar la propiedad de eficiencias, se halla la eficiencia del al- goritmo de Needleman-Wunsch como O() = M ax (O1 (f ), O2 (f ), O3 (f ), O4 (f )) = ´ O(mn) entonces O(mn) es la eficiencia de dicho algoritmo. 7.3. Eficiencia en Tiempo del Algoritmo de Weiner El tiempo de construcci´ n de Ti apartir de Ti+1 y actualizar los vectores L y o I es proporcional al tiempo necesitado para avanzar desde la hoja i + 1, adem´ s a consideranco que el tiempo de avance y cambio de un nodo a otro es constante as´ como la adici´ n de un terminal (w, i). Entonces como cada paso a realizar ı o ´ es de tiempo constante y el algoritmo s´ lo realiza avances a lo largo del arbol o seg´ n lo que requiera Suf fi el tiempo o c´ lculo de la eficiencia es O(m) para la u a ´ construcci´ n del arbol. o La prueba es seeg´ n como sigue, cada nodo podr´a incrementarse por uno cada u ı vez que un nodo es creado y cada nodo es apuntado para la generaci´ n de la ruta. o Por tanto la cantidad de incrementos del total de los nodos es de 2m. Adem´ s a como a lo m´ s se generan 2m nodos visitados durante el ascenco de una hoja a la a ra´z, entonces a los m´ s se visitar´ 2m nodos. El tiempo que le toma al algoritmo ı a a 36
  • 39. es proporcional a la cantidad total de nodos visitados durante el ascenso de una hoja a la ra´z. ı 37
  • 40. Cap´tulo 8 ı Medici´ n de la distancia de o Levenhstein y Hamming Dado que el problema de alianer dos secuencias es encontrar el nivel de simil- itud, se plantean medidas de similitud entre ellas, como medidas de similitud se tiene a las distancias de Hamming y Levenshtein. 8.1. Distancia de Hamming Planteado por Richard Hamming [6] la definici´ n de esta distancia es como o sigue: Dados las secuencias A y B cuyos caracteres pertenecen al alfabeto Σ y pertenecen al conjunto Σ∗ , con n = |A| y m = |B|, debe m = n. Entonces se denominar´ a dH (A, B) como la distancia de Hamming entre A y B igual al a m´nimo n´ mero de sustituciones neceasrias para transformar A a B. Se puede ı u asignar un costo de sustituci´ n. o G A A TT CA G T TA G A A CT GT G T TT Cuadro 8.1: Distancia de Hamming Como ejemplo en la tabla 8.1 se observa que las dos secuencias en la cuarta, sexta, s´ ptima y und´ cima existe sustituci´ n, es decir son diferente por lo que la e e o distancia de Hamming entre estas dos secuencias es 4 si consideramos el costo 38
  • 41. de sustituci´ n igual a 1. La funci´ n que indica el costo de sustituci´ n puede ser o o o diferente de 1 volviendo a la distancia de Hamming m´ s compleja. a 8.2. Distancia de Levenshtein Planteado por V. Levenshtein [9] la definici´ n de esta distancia est´ dado por: o a Dados las secuencias A y B cuyos caracteres pertenecen al alfabeto Σ y pertenecen al conjunto Σ∗ , con n = |A| y m = |B|, m,a diferencia de la distancia de Hamming, no necesariamente debe ser igual a n, se denota como dL (A, B) a la distancia de Levenshtein entre A y B igual al m´nimo n´ mero de sustitu- ı u ciones, inserciones y deleciones requeridas para transformar A a B. N´ tese que o ahora se puede adem´ s de sustituir se puede insertar y suprimir debido a que los a tama˜ os son diferenciados. Se puede adicionar un costo de sustituci´ n, inserci´ n n o o o deleci´ n. o G A AT T C AG T T A G A A T G TG T T Cuadro 8.2: Distancia de Levenshtein En la tabla 8.2 se observa que las dos secuencias son de diferente tama˜ o y n que debe existir una inserci´ n en la cuarta y novena posici´ n para poder igualar o o (obs´ rvese que podr´a haber sido una deleci´ n) las dos secuencias y que en la e ı o sexta, s´ tima y und´ cima posici´ n existe una susstituci´ n. Por lo que la distancia e e o o de Levenshtein es 5 tomando como costo 1. La funci´ n que indica el costo de o sustituci´ n, inserci´ n o deleci´ n puede ser diferente de 1 volviendo a la distancia o o o de Levenshtein m´ s compleja. a 39
  • 42. Cap´tulo 9 ı Conclusiones 9.1. Conclusiones 1. La programaci´ n de algoritmos como el de Needleman-Wunsch requieren o un adecuado uso de memoria para porder ejecutarlo en una computadora convencional. ´ 2. Algoritmos como el de Weiner logran construir un arbol de sufijos en tiempo lineal. 3. El algoritmo de Needleman-Wunsch requiere una optimizci´ n para poder o ser desarrollada en una computadora convencional. 9.2. Contribuciones Un estudio de algunos de los algoritmos m´ s usados en la bioifnorm´ tica ex- a a plicados a un nivel regular para su entendimiento. 9.3. Trabajos Futuros Debido al presente pre-tesis expuesto la implementaci´ n de los algoritmos o para que puedan ejecutarse en una computadora convecional es neceario para la culminaci´ n del trabajo actual y as´ poder evaluar en toda su envergadura o ı 40
  • 43. Bibliograf´a ı [1] J. Sutcliffe Y. Fu D. Kuhl A. Pizzuti O. Reiner S. Richards M. Victoria F. Zhang B. Eussen G. Vanommen L. Blonden G. Riggins C. Kunst H. Gal- jaard C. Caskey D. Nelson B. Oostra A. Verkerk, M. Pieretti and S. Warren. Identification of a gene (fmr-1) containing a cgg repeat coincident with a breakpoint cluster region exhibiting length variation in fragile x syndrome. Cell, 65:905914, 1991. [2] Santamaria M. Lascaro D. Scioscia G. Pappada G. Russo L. Zanchetta L. Tommaseo-Ponzetta M. Attimonelli M., Accetturo M. HmtDB, a Human Mitochondrial Genomic Resource Based on Variability Studies Supporting Population Genetics and Biomedical Research, 2004. [3] Vladimir Dancik. Expected length of longest common subsequences. Mas- ter’s thesis, University of Warwic, September 1994. [4] H. D. C. R. Group. A novel gene containing a trinucleotide repeat that is ex- panded and unstable on huntingtons disease chromosomes. Cell, 72:971983, 1993. [5] Dan Gusfield. Algorithms on Strings, Trees and Sequences. Cambridge University Press, 1997. [6] Richard W. Hamming. Error detecting and error correcting codes. Bell System Technical Journal, 26(2):147–160, 1950. [7] Robert M. Horton. Bioinformatics algorithm demonstrations in microsoft excel. Master’s thesis, California State University, 2004. [8] K. Sang-Ho K. J. Woo and C. Jae-Kwan. Association of the dopamine trans- porter gene with parkinsons disease in korean patients. Journal of Korean Medical Science, 15(4), 2000. 41
  • 44. [9] V. Levenshtein. Binary codes capable of correcting deletions, insertions and reversals. Soviet Physics Doklady, 10:707, 1966. [10] S.B. Needleman and C.D. Wunsch. A general method applicable to the search for similarities in the amino acid sequence of two proteins. Journal of Molecular Biology, 48:443–453, 1970. [11] Eric Rivals. A survey on algorithmic aspects of tandemrepeats evolution. International Journal of Foundations of Computer Science, 15(2):225–257, 2004. [12] Brown M. Hughey-R. Mian I.S. Sjolander K. Underwood R.C. Haussler D. Sakakibara, Y. Stochastic context-free grammars for trna modeling. nucleic acids research. Journal of Molecular Biology, 22(23):12–20, 1994. [13] T.F. Smith and M.S. Waterman. Identification of common molecular subse- quences. Journal of Molecular Biology, 147:195–197, 1981. [14] A. K¨ohler P. Wegele K. Beyser G. Sagner R. Wartbichler W. Dietmaier, W. Riedlinger and J. R¨uschoff. Detection of microsatellite instability msi and loss of heterozygosity loh in colorectal tumors by fluorescence-based multiplex microsatellite pcr. Biochemica, 2:42–45, 1999. [15] Weiner. IEEE FOCS, 1973. [16] Yoan Pinz´ n Wilson Soto. Sobre el longest common subsequence: Exten- o siones y algoritmos. Revista Colombiana de Computaci´ n, 8(2):79–100. o [17] Yechezkel Kashi Dan Geiger Ydo Wexler, Zohar Yakhini. Finding approxi- mate tandem repeats in genomic sequences. ACM, 2004. 42
  • 45. Vita Salas Coz, Erwin Erasmo naci´ en Per´ , Departamento de Lima, el 13 de o u julio de 1988. Ingres´ a la Universidad Nacional de Ingenier´a en Febrero del o ı 2005. LA PRESENTE PRE-TESIS FUE TIPOGRAFIADA CON L TEX POR SALAS COZ A ERWIN ERASMO Y . c Salas Coz Erwin Erasmo 2008