Mi proyecto de pre-tesis

45
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´ alisis de la Similitud de Secuencias Mitocondriales mediante Algoritmos Computacionales por Salas Coz Erwin Erasmo 20050053E Lima - Per ´ u Noviembre de 2008

description

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

Transcript of Mi proyecto de pre-tesis

Page 1: Mi proyecto de pre-tesis

Universidad Nacional de IngenierıaFacultad 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

Analisis de la Similitud de Secuencias Mitocondrialesmediante Algoritmos Computacionales

por

Salas Coz Erwin Erasmo 20050053E

Lima - Peru

Noviembre de 2008

Page 2: Mi proyecto de pre-tesis

Analisis de la Similitud de SecuenciasMitocondriales mediante Algoritmos

Computacionales

Salas Coz Erwin Erasmo

21 de diciembre de 2008

Page 3: Mi proyecto de pre-tesis

De Salas Coz, Erwin Erasmo:Dedico esta tesis a mis padres Erasmo y Rosario por su gran esfuerzo dedicado ami persona.

Page 4: Mi proyecto de pre-tesis

Analisis de la Similitud deSecuencias Mitocondriales mediante

Algoritmos ComputacionalesSalas Coz Erwin Erasmo 20050053E

Facultad de Ingenierıa Industrial y de Sistemas, 2008Asesor de Tesis: Mag. Samuel Oporto Dıaz

El presente trabajo pretende analizar dos algoritmos presentes en el mundode la computacion abocados a la solucion del problema del nivel de similitudde secuencias genicas. Los algoritmos analizados son el conocido algoritmo deNeedleman-Wunsch y el del arbol de sufijos de Weiner. Estos algoritmos seranevaluados segun su eficiencia de espacio y de tiempo los cuales seran implemen-tados en MATLAB y usaran como muestras la base de datos de ADN mitocondrialde GenBank y Human Mitochondrial Data Base.

Page 5: Mi proyecto de pre-tesis

Analysis of Exacting Matching ofMithocondrial Sequences using

Computational AlgorithmsSalas Coz Erwin Erasmo 20050053E

Faculty of Industrial Engineering and Systems, 2008Major 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 willbe tested their space and time efficiency, they will be coded in MATLAB and us-ing the mitochobdrial DNA from GenBank data base and Human MitochondrialData Base.

Page 6: Mi proyecto de pre-tesis

Indice general

1. Introduccion y Planteamiento del Problema 81.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2. Descripcion de la situacion problematica . . . . . . . . . . . . . . 111.3. Descripcion del problema . . . . . . . . . . . . . . . . . . . . . . 121.4. Objetivo de la Investigacion . . . . . . . . . . . . . . . . . . . . . 13

1.4.1. Objetivo superior . . . . . . . . . . . . . . . . . . . . . . 131.4.2. Objetivo principal . . . . . . . . . . . . . . . . . . . . . 131.4.3. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . 13

1.5. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.6. Alcances y Limitaciones . . . . . . . . . . . . . . . . . . . . . . 14

1.6.1. Alcances de la Investigacion . . . . . . . . . . . . . . . . 141.6.2. Limitaciones de la Investigacion . . . . . . . . . . . . . . 14

2. Revision de la bibliografıa 152.1. Teorıa Genica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.1. ADN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.1.2. Transcripcion y traduccion . . . . . . . . . . . . . . . . . 172.1.3. Replicacion Genetica . . . . . . . . . . . . . . . . . . . . 172.1.4. Polimorfismo de Nucleotido Simple (SNP) . . . . . . . . 182.1.5. Genoma Mitocondrial . . . . . . . . . . . . . . . . . . . 182.1.6. Genoma Humano . . . . . . . . . . . . . . . . . . . . . . 18

2.2. Taxonomıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.1. Alineamiento de secuencias . . . . . . . . . . . . . . . . 192.2.2. Clasterizacion Jerarquica . . . . . . . . . . . . . . . . . . 19

3. Base de Datos de ADN Mitocondrial 203.1. Fuente de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2. Estructura de los datos . . . . . . . . . . . . . . . . . . . . . . . 20

4

Page 7: Mi proyecto de pre-tesis

3.3. Descripcion de los datos . . . . . . . . . . . . . . . . . . . . . . 20

4. Modelo de solucion 214.1. Modelo de solucion . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.1.1. Definicion de Notaciones y Conceptos Basicos . . . . . . 214.1.2. Explicacion de los Algoritmos . . . . . . . . . . . . . . . 214.1.3. Analisis de la Eficiencia Teorica . . . . . . . . . . . . . . 214.1.4. Medicion de la distancia de Levenhstein y Hamming . . . 21

5. Definicion de Notaciones y Definiciones Basicas 225.1. Definicion de Notaciones y Conceptos Basicos . . . . . . . . . . 22

6. Explicacion de los Algoritmos 256.1. Algoritmo de Needleman-Wunsch . . . . . . . . . . . . . . . . . 256.2. Algoritmo de Weiner . . . . . . . . . . . . . . . . . . . . . . . . 30

7. Evaluacion Teorica 357.1. Medidas de eficiencia de un algoritmo . . . . . . . . . . . . . . . 357.2. Eficiencia en Tiempo del Algoritmo de Needleman-Wunsch . . . 367.3. Eficiencia en Tiempo del Algoritmo de Weiner . . . . . . . . . . 36

8. Medicion de la distancia de Levenhstein y Hamming 388.1. Distancia de Hamming . . . . . . . . . . . . . . . . . . . . . . . 388.2. Distancia de Levenshtein . . . . . . . . . . . . . . . . . . . . . . 39

9. Conclusiones 409.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409.2. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 409.3. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5

Page 8: Mi proyecto de pre-tesis

Indice de cuadros

6.1. Alineamiento de dos secuencias. . . . . . . . . . . . . . . . . . . 256.2. Matriz de sustitucion. . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1. Distancia de Hamming . . . . . . . . . . . . . . . . . . . . . . . 388.2. Distancia de Levenshtein . . . . . . . . . . . . . . . . . . . . . . 39

6

Page 9: Mi proyecto de pre-tesis

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. . . . . . . . . . . . . . . . 276.2. Proceso del llenado completo de la matriz M . . . . . . . . . . . . 276.3. Trazado del pathway o trazo de alineamiento . . . . . . . . . . . 286.4. Arbol de Sufijos para S . . . . . . . . . . . . . . . . . . . . . . . 316.5. Formacion del arbol T1 a partir de T2. . . . . . . . . . . . . . . . 33

7

Page 10: Mi proyecto de pre-tesis

Capıtulo 1

Introduccion y Planteamiento delProblema

1.1. IntroduccionLa similitud de secuencias es un problema ampliamente estudiado en la bioin-

formatica [5], debido a su importancia como procedimiento para establecer evolu-cion de las especies, variabilidad genetica [4], herencia, identificacion de dele-ciones, inserciones y sustitucion en las secuencias los cuales pueden ser las de-nominadas polimorfismo de nucleotido simple (SNP) asociados a diferentes en-fermedades [8, 14, 1].

Existen otras aplicaciones importantes [16, 5] como la busqueda y recuperacionde texto, la cual es la busqueda de un una palabra que es un string en un tex-to, la dificultad se acrecienta cuando puede haber variaciones ortograficas, er-rores de escritura o variaciones sintacticas como un sustantivo pluralizado o unavariacion de este que es la busqueda de palabras y frases en la internet mediantebuscadores. La deteccion de intrusos y virus que atacan a un sistema y software deaplicacion. Ademas tenemos el ensamblaje de segmenteos, agrupamientos, proce-samiento XML, minerıa de datos, analisis fitogenico, homologıas funcionales yestructurales, cromatografıa, etc.

Para proceder a averiguar la similitud de secuencias exiten varios algoritmoslos cuales pueden ser agrupados en:

1. Emparejamiento exacta de secuencias.

2. Emparejamiento aproximado de secuencias.

8

Page 11: Mi proyecto de pre-tesis

Para el problema del emparejamiento exacto de secuencias se tienen algorit-mos como el Z algoritmo de Gusfield [5] ,busqueda de Tandem exactos , preproce-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 programacion dinamica [10] , automatasfinitos [3], filtradores [3], mayor subsecuencia comun aproximada, busqueda detandem repetidos aproximados [11] [17], algoritmos que usan la distancia de Lev-enhstein [9], algoritmos que usan la distancia de Hamming [6] y distancia deepisodios. Especıficamente los algoritmos mas conocidos tenemos al algoritmo deNeedleman-Wunsch [10], el algoritmo de Smith-Waterman [13], FASTA, BLASTy otros.

Tambien se tienen otros tipos de algoritmos y tecnicas computacionales comoredes neuranales [7], algoritmos geneticos [7], metodos estocasticos [12], algo-ritmos de aprendizaje [7] y otras tecnicas relacionadas a la inteligencia artificial[7].

La evaluacion de estos algoritmos se realiza mediante el analisis de su eficien-cia O() en espacio y tiempo esto se puede ver en la Figura 1.1 en la que se lista unaserie de algoritmos y sus eficiencias en espacio y tiempo ası como a que tipo defamila de algoritmos procede, ademas un aspecto importante a evaluar es que tanpreciso es el alineamiento que proponen los algoritmos de programacion dinami-ca, automatas finitos, redes neuronales, algoritmos geneticos y otros algoritmosusados para el problema de emparejamiento aproximado de secuancias.

En el marco de la bioinformatica las secuencias de ADN a analizar estan con-stituıdas de caracteres denotado como A, G, C y T, los cuales respectivamenterepresentan a la Adenina, Guanina, Citosina y Tiamina, tambien existen otras se-cuencias como las de ARN y de proteınas los cuales se conforman de otro grupode caracteres, pero pueden ser analizadas mediante las mismas tecnicas con con-sideraciones de tamano ya que en este aspecto difieren.

En el presente trabajo se pretende evaluar y comparar dos algoritmos descritosanteriormente los cuales son:

1. Un algoritmo de programacion dinamica: El algoritmo de Needleman-Wunsch[10].

2. Un algoritmo de procesamiento de secuencias: El algoritmo de Weiner [5].

9

Page 12: Mi proyecto de pre-tesis

Figura 1.1: Lista de algoritmos con sus eficiencias de tiempo y espacio [16].

10

Page 13: Mi proyecto de pre-tesis

En lo que respecta al contenido de los capıtulos en el capıtulo 2 se abordala teorıa genetica necesaria para el comprendimiento de las secciones posteri-ores ası como un acercamiento a los algoritmos usados en el campo de la bioin-formatica para su posterior profundizacion.

Se hace un breve revision de la bibliografıa, una exposicion de los conceptosnecesarios para entender el tema abordado como lo ADN, los nucleotidos y suimportancia, la transcripcion, la traduccion, el polimorfismo de nucleotido simple,el genoma humano y mitocondrial.

En el capıtulo 3 se muestra las fuentes de datos a usar para el proceso de la ex-perimentacion las cuales guardan las secuencias de ADN mitocndrial de la NCBIy HMDB, se detalla la estructura de los mismos, su disponibilidad, los mecanis-mos de acceso a estas bases de datos, la procedencia, los proyectos involucradosy su almacenamiento.

En el capıtulo 4 se presenta el modelo de solucion el cual constara de cuatrosecciones el conceptos y notaciones basicas, el alineamiento y el calculo de lasignificancia estadıstica la cual dira el grado de diferencia de las secuencias.

En el capıtulo 5 se presenta el procedimiento 1 en el que se presenta las nota-ciones y conceptos basicos usados durante el analisis de los algoritmos

En el capıtulo 6 se presenta el procedimiento 2 que es la explicacion detalladade los algoritmos a usarse para poder manejar las largas secuencias presentes enel ADN mitocondrial.

En el capıtulo 7 se presenta el procedimiento 3 en el que se presenta los calcu-los usados para medir la eficiencia de los algoritmos.

En el capıtulo ?? se presenta el procedimiento 4 en el cual se determinar lasvariables las cuales seran medidas para determinar la efectividad de los algorit-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 investigaion.

1.2. Descripcion de la situacion problematicaLos procedimiento algorıtmicos para la evaluacion de similitud de secuen-

cias biologicas como el ADN nuclear, ADN mitocondrial, ARN, proteınas, etc.Se tienen en diferentes familias las cuales resuelven el problema en diferentestiempos y espacio de ejecucion usados segun que variante del problema se de-sea resolver, por tal motivo comparar los diferentes algoritmos procedentes dediferentes familias es importante para saber como se comporta estos algoritmos

11

Page 14: Mi proyecto de pre-tesis

con secuencias como del ADN mitocondrial, ya que estos ultimos se encuentraninmersos en diferentes investigaciones debido a su amplia vinculacion con enfer-medades geneticas como el Parkinson , Alzeimer , diabetes , cancer de prostata ,cancer de mama y otros .

1.3. Descripcion del problemaLos algoritmos que abordan el problema de la similitud de secuencias se tienen

en diferentes tiempos y espacio de ejecucion (una lista de algoritmos de la familiade mas larga subsecuencias comun ver Figura 1.1) y se usan para distintas vari-antes del problema principal, ademas si tomamos en cuenta los algoritmos queabordan el problema de emparejamiento aproximado de secuencias toman difer-entes criterios para decidir que alineamiento es el indicado. Entonces ¿que tiempoy espacio de ejecucion son los indicados? ademas ¿que criterio de decision es elapropiado? es lo que se formula en el contexto del ADN mitocondrial ante esto elproblema radica en ¿como proceder para comparar los algoritmos de similitud desecuencias de ADN mitocondrial?.

En el marco de lo descrito se procedera a comparar dos algoritmos, que a crite-rio de estar entre los mas comunmente usados [5], procedente de diferentes famil-ias de algoritmos, los cual estos seran sus representates, se evaluara que tan simi-lares son sus alineamientos y grados de similitud de secuencias es decir que escalacorrespondiente le otorga cada algoritmo, por lo que de esta manera se procedera asu comparacion.

Los algoritmos a comparar son:

1. Un algoritmo de programacion dinamica: El algoritmo de Needleman-Wunsch[10] el cual pertenece a la familia de la programacion dinamica y mas gen-eralmente los de tipo emparejamiento aproximado.

2. Un algoritmo de procesamiento de secuencias: El algoritmo de Weiner [5]que procede de los algoritmos de generacion de arboles de sufijos el cual daun formato que mejora el tiempo de procesamiento de varios algoritmos [5][12].

12

Page 15: Mi proyecto de pre-tesis

1.4. Objetivo de la Investigacion

1.4.1. Objetivo superiorDisenar que combinacion de algoritmos son los que abordaran los problemas

computacionales a los que esta involucrado el ADN mitocondrial.

1.4.2. Objetivo principalIdentificar cual algoritmo es el que logra la mejor distancia de Hamming y

Levenshtein ademas como la mejor eficiencia O() en el tiempo y espacio de eje-cucion.

1.4.3. Objetivos especıficosLos objetivos especıficos son los sigueintes:

1. Investigar sobre algoritmos mas comunmente usados en bioinformatica.

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 evaluacion de los algoritmos.

5. Investigar la bibliografia correpondiente para la implementacion de los al-goritmos.

6. Desarrollar los algoritmos a comparar en MATLAB para su evaluacion yanalisis.

7. Ejecutar los algoritmos usando las base de datos elegidas.

8. Recopilar la informacion estadıstica de cada producto obtenido de los algo-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 desempeno segun los plantemientosfijados.

13

Page 16: Mi proyecto de pre-tesis

1.5. JustificacionExisten enfermedades relacionadas a las variaciones que pueden presentar el

ADN mitoncondrial como el Parkinson, Alzeimer, diversos canceres, diabetes, yotras enfermedades. Para lo cual el procedimiento para distinguir e identificar lascaracterısticas propias de cada ADN mitocodrial segun la enfermedad a analizarse procede computacionalmente para lo cual se necesita de algoritmos eficientesen 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 loscuales podran reparar el ADN mitocondrial mediante drogas , medicamentos uotros procedimientos para ası disminuir el numero de personas afectadas por losmales antes mencionados.

1.6. Alcances y Limitaciones

1.6.1. Alcances de la InvestigacionEsta limitado por los dos algoritmos a analizar procedentes de diferntes famil-

ias de algoritmos y las bases de datos utilizadas que son GenBank y HMDB.

1.6.2. Limitaciones de la InvestigacionPrincipalmente la cantidad de algoritmos analizados, ya que en el mundo de

la bioinformatica existen diversos algoritmos que abordan el problema de simil-itud de secuencias como ya explicado en la introduccion, ademas la cantidad dedatos a analizar no puede ser lo sufienciente debido a que serıa necesario una basede datos de diferentes grupos humanos para postular una comparacion generalde los algoritmos. Adicionalmente los recursos computacionales debido a que enlos importantes centros de investigacion de bioinformatica se tiene la disponibili-dad de supercomputadores para el procesamiento optimo de los algoritmos en losexperimentos.

14

Page 17: Mi proyecto de pre-tesis

Capıtulo 2

Revision de la bibliografıa

Desde la decada de los 60s se ha estado desarrollando la bioinformatica me-diante el cual se aplica la tecnologıa de la computacion a la gestion y anali-sis de datos biologicos en el que abarcan diferentes tecnicas como informatica,matematica aplicada, estadıstica, ciencia de la computacion, inteligencia artificial,quımica y bioquımica.

La tarea exhaustiva que tienen los investigadores en esta materia se incluyenen los siguientes campos:

Analisis de secuencias, la labor esta en analizar la secuencia de ADN co-mo las deleciones, inserciones y sustituciones los cuales pueden asociarse aenfermedades, caracteres genicos, historia de evolucion, etc.

Anotacion de genomas, mediante el cual se anotan los genes y sus carac-terısticas para posteriores investigaciones hechas por biologos, bioquımicosy otros.

Biologıa evolutiva computacional, es el estudio de los ancestros de las es-pecies para dibujar mapas geneticos.

Analisis de expresion genica, mediante el cual se compara por ejemplo elmaterial genetico de un tejido a analizar con uno canceroso para determinardiferencias, patrones y similitudes.

Los principales conceptos de genetica involucrada en la bioinformatica sondesarrollados a continuacion.

15

Page 18: Mi proyecto de pre-tesis

2.1. Teorıa Genica

2.1.1. ADNEs un acido nucleico que contiene instrucciones geneticas usada en el desar-

rollo y el funcionamiento de todos los organismos vivos y algunos virus. Tienecomo papel principal ser portador y transmisor de informacion gen

La informacion en el ADN es copiada a cada celula de su progenie duranteel proceso de la replicacion, las porciones de ADN, los genes, son copiadas pormensajeros de ARN durante un proceso denominado transcripcion por enzimasllamadas ARN polimerasa. Estos mensajes son traducidos por moleculas ensam-bladoras llamadas ribosomas.

Segun lo anterior descrito, la informacion genetica fluye desde el ADN al ARNa 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 composicion del ADN esta compuesto de una larga secuen-cia de nucleotidos conformados por azucares y grupos fosfato unidos por enlacesde tipo ester. Conectado a cada azucar se encuentran los cuatro tipos de molecu-las llamadas bases nitrogenadas. Es esta disposicion de bases la forma como esalmacenada la informacion, ası como en las computadoras personales toda la in-formacion esta codificada en numeros binarios 0 y 1 lo es de este modo en losseres vivos. La lectura de esta secuencia es dada por el codigo genetico.

La localizacion de la molecula de ADN se encuentra en estructuras llamadascromosomas, estas son las que intervienen en el proceso de replicacion.

Las cuatro bases nitrogenadas que se encuentran mayoritariamente en el ADNson:

Timina, representado por la letra T. Siempre se empareja con la Adenina dela cadena complementaria.

Citosina, denominado con la letra C en el codigo genetico, Siempre se em-pareja con la Guanina en la cadena complementaria.

Guanina, en el codigo genetico G. Siempre emparejado con la Citosina.

16

Page 19: Mi proyecto de pre-tesis

Adenina, representado por la letra A en el codigo genetico. Siempre em-parejada con la Timina.

La secuencia de ADN esta conformada por aproximadamente 3 mil millonesde bases, en aproximadamente 200 000 a 250 000 genes.

2.1.2. Transcripcion y traduccionEn un gen, la secuencia de nucleotidos a lo largo de una hebra de ADN se

transcribe a un ARN mensajero (ARNm) y esta secuencia a su vez se traduce auna proteına que un organismo es capaz de sintetizar o expresar en uno o variosmomentos de su vida, usando la informacion de dicha secuencia.

La relacion entre la secuencia de nucleotidos y la secuencia de aminoacidosde la proteına viene determinada por el codigo genetico, que se utiliza durante elproceso de traduccion o sıntesis de proteınas. La unidad codificadora del codigogenetico es un grupo de tres nucleotidos (triplete), representado por las tres le-tras iniciales de las bases nitrogenadas (por ej., ACT, CAG, TTT). Los tripletesdel ADN se transcriben en sus bases complementarias en el ARN mensajero, yen este caso los tripletes se denominan codones (para el ejemplo anterior, UGA,GUC, AAA). En el ribosoma cada codon del ARN mensajero interacciona conuna molecula de ARN de transferencia (ARNt o tRNA) que contenga el tripletecomplementario, denominado anticodon. Cada ARNt porta el aminoacido corre-spondiente al codon de acuerdo con el codigo genetico, de modo que el riboso-ma va uniendo los aminoacidos para formar una nueva proteına de acuerdo conlas ınstrucciones”de la secuencia del ARNm. Existen 64 codones posibles, porlo cual corresponde mas de uno para cada aminoacido; algunos codones indicanla terminacion de la sıntesis, el fin de la secuencia codificante; estos codones determinacion o codones de parada son UAA, UGA y UAG.

2.1.3. Replicacion GeneticaEl proceso de replicacion de ADN es la base de la herencia del material

genetico. Se basa en la duplicacion de la informacion genetica y su posterior di-vision, ya que en toda celula que va a dividirse la cromatina debe duplicarse parapoder repartirse por igual en cada una de las celulas hijas. Para ello las dos ca-denas complementarias que componen la doble helice de ADN (molecula madre)deben separarse para poder formar dos nuevas cadenas, cada una de las cuales escomplementaria a una de las cadenas de la molecula madre.

17

Page 20: Mi proyecto de pre-tesis

Este tipo de duplicacion de ADN se llama replicacion semiconservativa, porquecada una de las dos moleculas hijas contiene la mitad (una de las cadenas de ADN)de la molecula madre. La duplicacion semiconservativa tiene lugar precisamentepor el hecho de que la secuencia de las bases que la constituyen se conserva, deforma que la secuencia de cada molecula madre sirve de molde para formar lasecuencia de dos moleculas hijas.

2.1.4. Polimorfismo de Nucleotido Simple (SNP)El polimorfismo de nucleotido simple o SNP es una variacion de la secuencia

de ADN que afecta a un solo nucleotido (A, G, C o T) del genoma. Una de estasvariaciones debe de darse en al menos un porciento para ser considerado comoSNP.

Los SNP forman hasta el 90 por ciento de todas las variaciones genomicashumanas, y aparecen cada 100 a 300 bases en promedio, a lo largo del genomahumano. Dos tercios de los SNP corresponden a la sustitucion de una citosina (C)por una timina (T). Estas variaciones en la secuencia del ADN pueden afectar a larespuesta de los individuos a enfermedades, bacterias, virus, productos quımicos,farmacos, etc.

El polimorfismo de nucleotido simple esta siendo ampliamente estudiado enel proyecto mundial HapMap, en la que trabajan cientıficos de Japon, el ReinoUnido, Canada, China, Nigeria, y los Estados Unidos.

2.1.5. Genoma MitocondrialLa mitocondria es una organela presente en las celulas, su funcion princi-

pal es el de producir energıa y respiracion en la celula. Aunque tambien tieneuna pequena cantidad de material genetico llamado ADN mitocondrial, contienealrededor de 16 500 bases, es decir los nucleotidos. El ADN mitocondrial contiene37 genes, es decir los bloques de bases, trece de estos genes proveen instruccionespara hacer enzimas envueltas en la fosforilacion oxidativa.

2.1.6. Genoma HumanoConsiste en todo el conjunto de genes conformado en el ser humano, los cuales

son los 22 cromosomas (autosomas) y 2 cromosomas sexuales. Conformado deaproximadamente 3 200 millones de bases (3200Mb) con un total de 20 000 a 25000 genes. Aunque la ultima cifra no esta del todo clara, ya que se considera un

18

Page 21: Mi proyecto de pre-tesis

gen como un conjunto de bases, pero los investigadores no se ponen de acuerdoen que forma deben de estar agrupadas.

2.2. TaxonomıaLos algoritmos podemos clasificarlo en el siguiente modo:

2.2.1. Alineamiento de secuenciasEn 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 nucleotidoso aminoacidos, dependiendo que si es ADN o una proteına lo que se esta anal-izando. El alineamiento tambien es realizado por secuencias de dos muestras quepueden ser del mismo o aproximado tamano.

1. Programacion dinamica: Tales como el algoritmo de Needleman-Wunsch[10], el cual busca la mejor solucion generando un pathway en una matrizde 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. Automatas finitos: Se define una serie de secuencias las cuales debe pasarla secuencia en cuestion y segun el nivel de correpodencia se logra alinear.

3. Filtracion: Filtra previamente a las secuencias, las cuales pueden tener otroscaracteres no pertenecientes al alfabeto o estar en un orden el cual no debeestar.

2.2.2. Clasterizacion JerarquicaEste metodo es usado para determinar la relacion evolutiva de base de datos

agrupandolos en arboles y jerarquıas.El metodo (UPGMA) Se trata de una ’distancia basada en’ el metodo que

trabaja sobre una matriz de las distancias (o similitudes) entre pares de objetos.Puede ser aplicado esencialmente a cualquier situacion en la que las distancias sonaditivas. En la bioinformatica, que se utiliza en muy diversas tales como las aplica-ciones de construccion arboles evolutivos y analisis de microarray de la expresiongenica de datos.

19

Page 22: Mi proyecto de pre-tesis

Capıtulo 3

Base de Datos de ADN Mitocondrial

3.1. Fuente de DatosLas fuentes de datos son recopiladas de National Center for Biotecnology In-

formation (NCBI) especıficamente de la base de datos Genbank, la disponibilidadde estos datos es libre en internet el cual se puede acceder directamente desdeMATLAB o descargando de su sitio web.

El comando a usarse para acceder al GenBank es getgenbank() desde MAT-LAB.

Tambien de Human Mitochondrial Data Base (HMDB) [2], el cual contieneADN mitocondrial de diferentes tipos de enfermedades entre las cuales esta deenfermos de Parkinson tambien siendo su uso libre y descargable de su sitio web.

3.2. Estructura de los datosLa 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. Descripcion de los datosLos datos son procesados en MATLAB el cual maneja estas cadenas de carac-

teres internamente facilitando el proceso de los algoritmos implementados

20

Page 23: Mi proyecto de pre-tesis

Capıtulo 4

Modelo de solucion

4.1. Modelo de solucionEn base a los trabajos realizados anteriormente y los objetivos planteados el

modelo solucion tiene la siguiente estructura:

4.1.1. Definicion de Notaciones y Conceptos BasicosEn esta seccion se presenta las notaciones y definiciones basicas para la expli-

cacion de los algoritmos.

4.1.2. Explicacion de los AlgoritmosEn esta seccion se detalla los algoritmos a analizar y medir.

4.1.3. Analisis de la Eficiencia TeoricaEn esta parte lo que se realiza es evaluar teoricamente los algoritmos, esto

mendiante la eficiencia de tiempo y espacio.

4.1.4. Medicion de la distancia de Levenhstein y HammingSe realiza la medicion de las distancia de Levenhstein y Hamming como eval-

uador del desempeno de aplicar los algoritmos.

21

Page 24: Mi proyecto de pre-tesis

Capıtulo 5

Definicion de Notaciones yDefiniciones Basicas

Para la explicacion de los algoritmos y procedimientos a evaluar se usa unanotacion generalmente usada en la mayorıa de las referencias bibliograficas re-visadas las cuales se muestra acontinuacion.

5.1. Definicion de Notaciones y Conceptos BasicosEl sımbolo = significa igualdad, es decir si se presenta a = b se lee a es igual

a b, ademas el sımbolo := significa asignacion, es decir si se presenta a := b selee el valor de b se asigna a a .

Sea Σ = 0, 1, ..., k − 1 un alfabeto fijo de tamano k. Sea Σn el conjuntode todas las secuencias de tamano n sobre el alafabeto Σ. Ademas Σn puede serdefinido recursivamente por:

Σn = Φ,Σn+1 = ×Σn, n ≥ 0,

Donde Φ denota sequencia vacıa que es lo mismo decir una secuencia carentede sımbolo alguno. Las sequencias tambien pueden denominarse strings [5]. Sitenemos la secuencia s procedente del conjunto Σn, se define como la longitud dela secuencia n y denotada por:

|s| = n.

22

Page 25: Mi proyecto de pre-tesis

Σ∗ denota el conjunto de las secuencias de cualquier tamano sobre Σ. Ademas sii ≥ 1 y i ≤ n entonces s(i) o si denota el caracter de la posicion i comenzandode izquierda a derecha.

Definiciones, donde n = |s|:

1. Sea s una secuencia sobre Σn, se define a v como subsecuencia, de s si haym ındices consecutivos i1 < · · · < im tal que:

v1 = si1 , . . . , vm = sim (5.1)

v puede ser denotado como Si1im o como S [i1 . . . im].

2. Se define a v como prefijo de s si hay m ındices consecutivos 1 < · · · < mtal que:

v1 = s1, . . . , vm = sm (5.2)

3. Se define a v como sufijo de s si haym ındices consecutivos n−m < · · · <n tal que:

v1 = sn−m, . . . , vm = sn (5.3)

4. Una insercion es la adicion de un caracter en una secuencia s, es decir vesta inserto en la posicion i en la secuencia s de longitud si:

si := v luego ∀j > i y j ≤ n+ 1 → sj := sj−1 (5.4)

obteniendose un nuevo s′ con |s′| = n+ 1.

5. Una delecion es la extraccion de un caracter en una secuencia s, es decir elcaracter de la posicion i sufrio una delecion si:

∀j ≥ i y j ≤ n− 1 → sj := sj+1 (5.5)

obteniendose un nuevo s′ con |s′| = n− 1.

6. Una sustitucion es el cambio de un caracter por otro proveniente del mismoalfabeto Σ, es decir el caracter de posicion i sufrio una sustitucion si:

si := v / v ∈ Σ y v 6= si (5.6)

23

Page 26: Mi proyecto de pre-tesis

7. La concatenacion de dos secuencias u y v denotada por el operador + sobreel conjunto Σ∗ esta definida por:

cat := u+ v = u1u2 . . . u|u−1|u|u|v1v2 . . . v|v−1|v|v| (5.7)

8. La alineacion o alineamiento de dos secuencias u y v sobre el conjuntoΣ∗ es una funcion de insercion Alinear () tal que inserta caracteres − au y v para que |u| = |v|. Los resultados de obtenidos aplicar Alinear ()sobre u y v dependeran del algoritmo usado para dicho fin, los algoritmosde alineamiento buscan la mejor o maxima similitud de las dos secuenciaspor lo que la insercion de − es realizada buscando dicho objetivo.

u′, v′ := Alinear (u, v)⇒ |u′| = |v′| (5.8)

Donde: u′ := u1 . . .− . . .− . . . u|u| y v′ := v1 . . .− . . .− . . . v|v|.

24

Page 27: Mi proyecto de pre-tesis

Capıtulo 6

Explicacion de los Algoritmos

6.1. Algoritmo de Needleman-WunschEste algoritmo formulado en 1970 por Needleman y Wunsch [10] es la base

de muchos otros realizados en el alineamiento de secuencias desde su publicacionhasta la actualidad, es un algoritmo de la familia de la programacion dinamicaen la que la solucion presentada es la mejor segun una serie de restricciones, noobstante no es la mejor solucion ya que depende de los indicadores de eficiecialos cuales en este caso es la tabla de sustitucion.

Sea el alfabeto Σ = A,G,C, T sobre el cual definimos dos cadenas s1 =GAATTCAGTTA y s2 = GGATCGA. El objetivo del algoritmo es alinear-los de tal forma que pueda identificarse deleciones, inserciones o cambios en loscaracteres de las secuencias. Para el ejemplo un alineamiento es el siguiente:

G A A T T C A G T T Al X l l l l lG G A - T C - G - - A

Cuadro 6.1: Alineamiento de dos secuencias.

Segun el alineamiento realizado en la tabla 6.1 el primer, el tercer, el quinto,el sexto, el octavo y el undecimo caracter estan correctamente alineados mientrasque el segundo ha sufrido una sustitucion y las restantes existieron delecionestambien denominadas gap o huecos.

El algoritmo de Needleman-Wunsch busca generar el alineamiento para locual coloca todas las posibles combinaciones de las dos secuencias s1 y s2 mas

25

Page 28: Mi proyecto de pre-tesis

una fila y columna de ceros para la generacion de la recursividad, en una matrizM .Definiendo a n = |s1| ym = |s2| entonces la matrizM sera de (m+ 1)×(n+ 1).Por lo que entonces en la posicion i ≤ n + 1 se encuentra el i − 1 − esimonucleotido s1i−1 de la secuencia s1 y en la posicion j ≤ m + 1 se encuentra elj − 1 − esimo nucleotido s2j−1 de la secuencia s2, entonces Mi,j representa lacombinacion de s1i−1 y s2j−1.

Luego el procedimiento indica en rellenar la matriz M para lo cual primerodefinimos una matriz S de semejanza de caracteres (o en este caso particular denucleotidos).

A G C T -A 1 0 0 0 0G 0 1 0 0 0C 0 0 1 0 0T 0 0 0 1 0

Cuadro 6.2: Matriz de sustitucion.

La matriz mostradas en la tabla 6.2 en la mas simple matriz de sustitucion quepuede construirse por considerar 1 a la concidencia exacta y 0 a la no coincidenciay 0 cuando hay un hueco o gap, ya que los actuales programas como FASTA oBLAST usan matrices mas complejas las cuales son construıdas segun criteriosde semejanza quımica, fısica u otros entre las moleculas en cuestion.

Si definimos Si,j como una funcion tal que devuelve la similitud de los carac-teres de la posicion i de s1 y j de s2 y a W como la penalizacion por gap que eneste caso es simplemente 0, tendremos listo las funciones necesarias para llenar lamatriz M . Para proceder a rellenar todos los casilleros de M tendran la siguienteley de formacion: Mi,j = Maximo (Mi−1,j−1 + Si,j;Mi,j−1 +W ;Mi−1,j +W )

Donde:

Mi−1,j−1 + Si,j : Indica la coincidencia o no coincidencia de los caracteresde las secuencias.

Mi,j−1 +W : Indica la suma en horizontal mas la penalizacion por gap.

Mi−1,j +W : Indica la suma en vertical mas la penalizacion por gap.

Graficamente podra ser visto mas facilmente:Inicializado con la primera fila y columna como se muestra la figura 6.1 por

ceros para usarlo en la primera iteracion, seguido el valor de M2,2 se calcula:

26

Page 29: Mi proyecto de pre-tesis

(a) Inicializacion de la matriz (b) Llenado de la primera cel-da

Figura 6.1: Comienzo del llenado de la matriz M.

M1,2 = 0 y S2,2 = 1→Mi−1,j−1 + Si,j = 1M2,1 = 0 y W = 0→Mi,j−1 +W = 0M1,2 = 0 y W = 0→Mi−1,j +W = 0

Y el siguiente calculo Maximo (1, 0, 0) = 1→M2,2 := 1.

(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 = 0M2,2 = 1 y W = 0→Mi,j−1 +W = 1M1,3 = 0 y W = 0→Mi−1,j +W = 0

Y el siguiente calculoMaximo (0, 1, 0) = 1→M2,3 := 1. Ası sucesivamentehasta 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 tomandosiempre el mayor de las opciones precedentes, es decir el mayor en la columna,vertical y diagonal precedente. En el grafico se observa el procedimiento:

27

Page 30: Mi proyecto de pre-tesis

(a) Comienzo en el extremoinferior izquierdo

(b) Continuacion con el ma-yor score proximo

(c) Determinacion del pathwayo trazo de alineamiento.

Figura 6.3: Trazado del pathway o trazo de alineamiento

Notese que el algoritmo comienza en el extremo inferior izquierdo, con elscore maximo y avanza hacia atras en la anterior fila y columna buscando el ma-yor score. El alineamiento correspondiente a s1 es a1 y para s2 es a2, se formasiguiendo 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 explicacion del algoritmo el pseudocodigo es el siguiente:Pseudocodigo del Algoritmo de Needleman-Wunsch.Input: Secuencias s1 = s11 . . . s1n y s2 = s21 . . . s2n, la matriz de sustitucion

S y la penalizacion por gap W .Output: Un alineamiento de s1 y s2, a1 y a2 respectivamente.

28

Page 31: Mi proyecto de pre-tesis

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

5. desde j := 1 hasta m hacer

6. Mi,j := Maximo Mi−1,j−1 + Si,j,Mi,j−1 +W,Mi−1,j +W

7. fin desde

8. fin desde

9. mientras i > 1

10. mientras j > 1

11. si Mi,j = Mi−1,j−1 + Si−1,j−1 entonces

12. al := al + s1i−1

13. a2 := a2 + s1i−1

14. sino

15. si Mi,j = Mi−1,j +W :

16. al := al + s1i−1

17. a2 := a2 +−

18. sino

19. si Mi,j = Mi,j−1 +W :

20. al := al +−

21. a2 := a2 + s1i−1

22. fin si

23. fin si

29

Page 32: Mi proyecto de pre-tesis

24. fin si

25. j := j − 1

26. fin mientras

27. i := i− 1

28. fin mientras

6.2. Algoritmo de WeinerEste algoritmo [15] transforma a una secuencia en una estructura de tipo arbol

esto con el fin de mejorar el tiempo de ejecucion de los problemas de secuenciascomo alineamiento exacto e inexacto, es ampliamente estudiado y explicado en ellibro Algorithms on strings, trees and sequences de Gusfield [5].

Para lo cual definimos que es un arbol de sufijos, dado una sequencia S sobreΣ∗ y sea A el conjunto de todos los sufijos de S:

A =S1|S|, S2|S|, . . . , SS|S|

Para efectos de facil entendimiento sea S = bbabbaab entonces el conjunto 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

Page 33: Mi proyecto de pre-tesis

S [8 . . . 8] = b

Ahora se define el arbol T el cual se conforma desde el extremo inferior deltriangulo formado por los sufijos de S, el arbol, en este caso de dos hijos a los maspor 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 explicacion de uso un problemasobre secuencias como es el problema de la subsecuencia. El problema se defineası:

Intup: P y S.Output: una ocurrencia de P en S.donde P y S estan definidos sobre un conjunto Σ.De esta forma si P = babba ocurre en S si se puede encontrarse todo su

recorrido en el arbol T ; y en efecto lo esta y puede ser descrito como DIDDI (Dderecha e I izquierda) como el recorrido en el arbol. Esto ocurre debido a que lassiguientes afirmaciones son equivalentes:

P ocurre en S.

P es un prefijo de un sufijo de S.

31

Page 34: Mi proyecto de pre-tesis

P corresponde a un camino de T comenzando desde la raız de T .

Como se muestra en la solucion del problema anterior planteado tambien sepuede extender a la solucion de alineamiento exacto e inexacto de secuencias, porlo que el arbol de sufijos es muy importante [5] debido a que simplifica consider-ablemente la busqueda de una secuencia, entonces el problema se disgrega a otroque es el de construir arboles de sufijos, entre uno de las propuestas mas exitosas[5] es el algoritmo de Weiner [15].

Si m = |S|, ademas S es adicionado el caracter $.

Se denota a Suffi 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 talque la raız comienza en alguna hoja j (i ≤ j ≤ m+ 1) en Suffj .

Sea Hi denota la mas grande subsecuencia del prefijo de S [i . . .m] que sealinea con una subsecuecia de S [i+ 1 . . .m] $.

El algoritmo de Weiner construye los arboles desde Tm+1 hasta T1. Entoncesse comienza com Tm+1 el cual es simplemente una hoja con terminacion de carac-ter $ luego desde i hasta 1 el algoritmo construye el arbol Ti desde Ti+1 y caracterSi. Siendo la idea principal la construccion de un arbol muy similar mostrado enla figura 6.4 por lo que se procede que cada arbol Ti tendra la propiedad que paracada nodo v en Ti no existira dos hojas que tengan el mismo caracter (similar a lafigura 6.4) entonces el arbol Ti+1 solo tendra una unica hoja por la cual podra cre-cer.

En general, se crea el arbol Ti procedente de Ti+1, al comenzar en la raız deTi+1 y avanzar todo lo que fuese posible hacia abajo alineandose correcamente conun prefijo de Suffi. Llamese R la ruta o camino por la que se avanza hacia abajoen el arbol Ti+1, este R es unico y no existe otro estp es concluyente para todonodo v de Ti+1. Si la ruta R no logra alinear exactamente a Suffi$ se adicionaun nodo w etiquetado como i teniendo la nueva terminal (w, i), es de esta formacomo Ti es formado.

Debido a que se tiene que calcular Hi como el alineamiento con Suffi estoimplica resolver un problema dentro de otro para lo cual ell algoritmo calcula dosvalores adicionales:

Para un caracter x y algun nodo u, Iu (x) = 1 en Ti+1 si y solo si hay unaruta 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

Page 35: Mi proyecto de pre-tesis

(a) Arbol T2 para S = ba (b) Arbol T1 para S = aba,en este caso se adiciona losnodos b y a al nodo izquierdopara que pueda alinearse cor-rectamente con bab

Figura 6.5: Formacion del arbol T1 a partir de T2.

Para algun caracter x, Lu (x) en Ti+1 apunta a un nodo interno u en Ti+1

sı y solo si u tiene una ruta xα, donde u tiene como etiqueta de ruta a α, enotro 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 Suffı+1 y avanzarhacia 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 entoncesHi termina en la raız. Ir al paso 4.

3. Sea v el posible nodo encontrado cuyo Iu (Si) = 1 entonces continuar haciala 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 yLr (Si) es nulo, sea ti el numero de caracteresen la ruta entre la raız y v. Buscar el terminal e cuya ruta comienza conSi.Hi termina exactamente ti +1 caracteres desde la raız hacia e. Sinoseguir con b.

b) Si v′ fue encontrado segun su condicion previamente establecida, llamem-os v′′ el siguiente link para Si a v′′, sea li el numero de caracteres en laruta desde v′ a v y sea c el primer caracter de la ruta. Si li = 0 entoncesHi termina en v′′, en otro caso buscar el terminal e de v′′ cuyp primer

33

Page 36: Mi proyecto de pre-tesis

caracter es c. Hi) finaliza en exactamente li caracters abajo de v′′ en elterminal e.

4. Si un nodo ya existe en el final de Hi denotemos a w como nodo, en otrocaso 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 Suffi seguidocon el caracter terminal $. Y finalizado se ha creado el nuevo arbol Ti.

34

Page 37: Mi proyecto de pre-tesis

Capıtulo 7

Evaluacion Teorica

7.1. Medidas de eficiencia de un algoritmoPara este calculo se procedera a usar las notaciones asintoticas las cuales son

[5]:

O(f) Conjunto de funciones cuyo ritmo de crecimiento es menor o igual af . 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 evaluael 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 af . T (n) ∈ Ω(f) significa que T (n) esta acotado inferiormente por cf(n),cuando n es suficientemente grande (c es una constante). Evalua a las fun-ciones en su mejor caso, normalmente son casos triviales y no dan muchainformacion.

Θ(f) Conjunto de funciones con el mismo ritmo de crecimiento de f : Ordende 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 suficientementegrande (c,k constantes). Evalua un caso promedio mas dificil de estimar.

Una definicion mas formal de O(f), que es lo que se usara para evaluar, es :

O(f) = g|∃k > 0 ∧ ∃n0 > 0 : (∀n > n0 : g(n) ≤ kf(n)) (7.1)

Ejemplo si tenemos las funciones n2 y 3n2, k tomara el valor de 3 y n0 indicaapartir de que punto se cumple la desigualdad.

35

Page 38: Mi proyecto de pre-tesis

Probar que la funcion 100n2 + n tiene el mismo ritmo de crecimiento que n2

es cuention de tomar c = 101 y n0 = 1.

7.2. Eficiencia en Tiempo del Algoritmo de Needleman-Wunsch

Entonces el procedimiento a seguir para evaluar la eficiencia del algoritmo deNeedleman-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 pararellenarla.

4. O4(f) = mn dado que se recorre la rutam×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 comoO() = Max (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 WeinerEl tiempo de construccion de Ti apartir de Ti+1 y actualizar los vectores L y

I es proporcional al tiempo necesitado para avanzar desde la hoja i + 1, ademasconsideranco que el tiempo de avance y cambio de un nodo a otro es constanteası como la adicion de un terminal (w, i). Entonces como cada paso a realizares de tiempo constante y el algoritmo solo realiza avances a lo largo del arbolsegun lo que requiera Suffi el tiempo o calculo de la eficiencia es O(m) para laconstruccion del arbol.

La prueba es seegun como sigue, cada nodo podrıa incrementarse por uno cadavez que un nodo es creado y cada nodo es apuntado para la generacion de la ruta.Por tanto la cantidad de incrementos del total de los nodos es de 2m. Ademascomo a lo mas se generan 2m nodos visitados durante el ascenco de una hoja a laraız, entonces a los mas se visitara 2m nodos. El tiempo que le toma al algoritmo

36

Page 39: Mi proyecto de pre-tesis

es proporcional a la cantidad total de nodos visitados durante el ascenso de unahoja a la raız.

37

Page 40: Mi proyecto de pre-tesis

Capıtulo 8

Medicion de la distancia deLevenhstein 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 setiene a las distancias de Hamming y Levenshtein.

8.1. Distancia de HammingPlanteado por Richard Hamming [6] la definicion de esta distancia es como

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. Entoncesse denominara a dH (A,B) como la distancia de Hamming entre A y B igual almınimo numero de sustituciones neceasrias para transformar A a B. Se puedeasignar un costo de sustitucion.

G A A T T C A G T T AG A A C T G T G T T T

Cuadro 8.1: Distancia de Hamming

Como ejemplo en la tabla 8.1 se observa que las dos secuencias en la cuarta,sexta, septima y undecima existe sustitucion, es decir son diferente por lo que ladistancia de Hamming entre estas dos secuencias es 4 si consideramos el costo

38

Page 41: Mi proyecto de pre-tesis

de sustitucion igual a 1. La funcion que indica el costo de sustitucion puede serdiferente de 1 volviendo a la distancia de Hamming mas compleja.

8.2. Distancia de LevenshteinPlanteado por V. Levenshtein [9] la definicion de esta distancia esta dado por: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 distanciade 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 numero de sustitu-ciones, inserciones y deleciones requeridas para transformar A a B. Notese queahora se puede ademas de sustituir se puede insertar y suprimir debido a que lostamanos son diferenciados. Se puede adicionar un costo de sustitucion, inserciono delecion.

G A A T T C A G T T AG A A T G T G T T

Cuadro 8.2: Distancia de Levenshtein

En la tabla 8.2 se observa que las dos secuencias son de diferente tamano yque debe existir una insercion en la cuarta y novena posicion para poder igualar(observese que podrıa haber sido una delecion) las dos secuencias y que en lasexta, setima y undecima posicion existe una susstitucion. Por lo que la distanciade Levenshtein es 5 tomando como costo 1. La funcion que indica el costo desustitucion, insercion o delecion puede ser diferente de 1 volviendo a la distanciade Levenshtein mas compleja.

39

Page 42: Mi proyecto de pre-tesis

Capıtulo 9

Conclusiones

9.1. Conclusiones1. La programacion de algoritmos como el de Needleman-Wunsch requieren

un adecuado uso de memoria para porder ejecutarlo en una computadoraconvencional.

2. Algoritmos como el de Weiner logran construir un arbol de sufijos en tiempolineal.

3. El algoritmo de Needleman-Wunsch requiere una optimizcion para poderser desarrollada en una computadora convencional.

9.2. ContribucionesUn estudio de algunos de los algoritmos mas usados en la bioifnormatica ex-

plicados a un nivel regular para su entendimiento.

9.3. Trabajos FuturosDebido al presente pre-tesis expuesto la implementacion de los algoritmos

para que puedan ejecutarse en una computadora convecional es neceario para laculminacion del trabajo actual y ası poder evaluar en toda su envergadura

40

Page 43: Mi proyecto de pre-tesis

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 abreakpoint 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 HumanMitochondrial Genomic Resource Based on Variability Studies SupportingPopulation 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. CambridgeUniversity Press, 1997.

[6] Richard W. Hamming. Error detecting and error correcting codes. BellSystem Technical Journal, 26(2):147–160, 1950.

[7] Robert M. Horton. Bioinformatics algorithm demonstrations in microsoftexcel. 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 KoreanMedical Science, 15(4), 2000.

41

Page 44: Mi proyecto de pre-tesis

[9] V. Levenshtein. Binary codes capable of correcting deletions, insertions andreversals. Soviet Physics Doklady, 10:707, 1966.

[10] S.B. Needleman and C.D. Wunsch. A general method applicable to thesearch for similarities in the amino acid sequence of two proteins. Journalof 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. nucleicacids 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 msiand loss of heterozygosity loh in colorectal tumors by fluorescence-basedmultiplex microsatellite pcr. Biochemica, 2:42–45, 1999.

[15] Weiner. IEEE FOCS, 1973.

[16] Yoan Pinzon Wilson Soto. Sobre el longest common subsequence: Exten-siones y algoritmos. Revista Colombiana de Computacion, 8(2):79–100.

[17] Yechezkel Kashi Dan Geiger Ydo Wexler, Zohar Yakhini. Finding approxi-mate tandem repeats in genomic sequences. ACM, 2004.

42

Page 45: Mi proyecto de pre-tesis

Vita

Salas Coz, Erwin Erasmo nacio en Peru, Departamento de Lima, el 13 dejulio de 1988. Ingreso a la Universidad Nacional de Ingenierıa en Febrero del2005.

LA PRESENTE PRE-TESIS FUE TIPOGRAFIADA CON LATEX POR SALAS COZ

ERWIN ERASMO Y .

Salas Coz Erwin Erasmo

2008