Fragment Assembly of DNA D.Sc. Yván Jesús Túpac Valdivia Universidad Católica San Pablo Octubre 2013 Bioinformatics Pág 1/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Objetivos Discutir las técnicas computacionales usadas en el secuenciamiento, denominado ensamblaje de fragmentos: es decir la tecnología usada para cortar fragmentos aleatorios de una molécula de ADN larga. Presentar modelos formales y algoritmos para solucionar este problema Bioinformatics Pág 2/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Contenido 1 Problema de secuenciamiento Introducción Definiciones Complicaciones 2 Modelos formales para secuenciamiento Shortest Common Superstring Reconstruction Multicontig 3 Algoritmos Overlaps y Superstrings Superstrings más cortos como caminos Algoritmo greedy Subgrafos acíclicos 4 Bibliografía Bioinformatics Pág 3/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Introducción Secuenciamiento Introducción El secuenciamiento de genomas es una disciplina que tuvo un gran desarrollo en años recientes, y junto a la introducción y desarrollo de tecnologías de secuenciamiento se logró varios avances y nuevos desafíos [Scheibye-Alsing et al., 2009] Se han secuenciado y enviado al NCBI (hasta 2008) 567 genomas de bacterias con hasta 10.5 millones de pares. Varios genomas de eucarióticos con unos 3000 millones de pares (Plesiocystis pacifica SIR-1) ya han sido secuenciados y ensamblados El genoma humano produjo entre 23000 y 27000 bases Bioinformatics Pág 4/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Definiciones Secuenciamiento Definición Secuenciar una molécula de ADN consiste en obtener las cadenas de bases que ésta contiene, donde es común tratar con moléculas grandes de ADN (miles de pares) para secuenciar. Se ve el problema como un rompecabezas en el cual se tienen dos juegos de piezas en la mesa. Aunque no se conozca el contenido de cada pieza (letras en el conjunto {A,C,G,T}), sí se sabe que para esta pieza, siempre existirá una pieza complementaria. Se apunta a obtener la secuencia completa a partir de pistas, que suelen ser substrings aproximados de las columnas. Bioinformatics Pág 5/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Definiciones Secuenciamiento I Problema Biológico Desde un punto de vista biológico, se conoce el tamaño de la secuencia con una aproximación de 10% No es posible secuenciar la molécula entera directamente, pero sí tomar un segmento de un strand desde una posición inicial aleatoria y secuenciar una cierta longitud en la dirección canónica (50 → 30 ). 50 · · · ··· 30 30 · · · ··· 50 La posicion del segmento relativa al inicio del strand no es conocida, es decir que a partir de algunas pistas, se trata de obtener las letras. Bioinformatics Pág 6/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Definiciones Secuenciamiento II Problema Biológico El problema surge al querer deducir la secuencia de la molécula entera de ADN a partir de la colección de fragmentos a juntar, esta tarea es denominada Ensamblaje de Secuencias, considerando que hay sobresposición de fragmentos Bioinformatics Pág 7/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Definiciones Secuenciamiento Caso ideal Supóngase las siguientes secuencias como entrada: ACCGT CGTGC TTAC TACCGT y se conoce que la respuesta tiene aproximadamente 10 bases. Una forma posible de ensamblar el conjunto es: --ACCGT-----CGTGC TTAC-----TACCGT-TTACCGTGC Bioinformatics Pág 8/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Definiciones Secuenciamiento Caso ideal Nótese que se alinearon las cadenas de entrada, ignorando espacios en los extremos. Se trata de alinear bases iguales en la misma columna. La única guía para ensamblar, aparte del tamaño aproximado que se conoce, son los overlaps entre los fragmentos. A partir del posicionamiento de fragmentos alineados se obtiene un layout que puede ser interpretado como un alineamiento múltiple de fragmentos, denominado Secuencia por concenso que es la solución al problema. Una situación ideal ocurre cuando hay unanimidad en las columnas, haciendo que cada segmento sea un substring exacto de la respuesta. En la práctica, eso ocurre en muy raras ocasiones. Bioinformatics Pág 9/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Dificultades Las dificultades parten de que los problemas reales son mucho más largos que el ejemplo anterior, existen errores, orientación desconocida, regiones repetidas, falta de cobertura, cadenas basura, cadenas concatenadas. Bioinformatics Pág 10/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Sustitución de bases: Los errores más simples son los errores que ocurren por sustitución de bases. Por ejemplo en: ACCGT CGTGC TTAC TGCCGT → --ACCGT-----CGTGC TTAC-----TGCCGT-TTACCGTGC se aprecia la sustitución de la 2da base (A → G). El concenso es válido dado que se “votó por mayoría”, pero no hubo “unanimidad”. Bioinformatics Pág 11/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Inserciones: Por ejemplo: ACCGT CAGTGC TTAC TACCGT → --ACC-GT-----CAGTGC TTAC------TACC-GT-TTACCAGTGC donde surge un error de inserción en la posición 2 del segundo fragmento (Base A donde no habría nada). El concenso se mantiene gracias a los gaps colocados por el MSA y el “voto por mayoría”. Los espacios en el concenso deben descartarse en la respuesta. Bioinformatics Pág 12/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Borrados: Por ejemplo: ACCGT CGTGC TTAC TACGT → --ACCGT-----CGTGC TTAC-----TAC-GT-TTACCGTGC aquí se observa que se pierde la tercera o cuarta base del último fragmento. El concenso se mantiene por los gaps colocados y el “voto por mayoría”. Bioinformatics Pág 13/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Fragmentos quimera Los fragmentos quiméricos o quimeras surgen cuando dos fragmentos correspondientes a partes disjuntas de la molécula objetivo se concatenan formando un fragmento que no representa un bloque continuo de la molécula. Se deben detectar estos fragmentos engañosos y retirar del conjunto de fragmentos antes del procesamiento. ACCGT CGTGC TTAC TACCGT TTATGC → --ACCGT-----CGTGC TTAC-----TAC-GT-TTACCGTGC TTA---TGC Bioinformatics Pág 14/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Contaminación de fragmentos Algunas veces, existen fragmentos o partes de fragmentos que no tienen nada que ver con el conjunto de entrada. Esto ocurre por contaminación por el huésped o vector ADN. El proceso de replicación de fragmentos consiste en inocular los fragmentos en un huésped o vector que es un organismo vivo que reproducirá y portará copias del fragmento. Más adelante, se debe purificar los fragmentos del vector. En este proceso ocurre la contaminación, cuando la purificación no es perfecta o completa. Si el vector es un virus que infecta una bacteria, ésta contribuye con algún material genético al fragmento. De la misma forma que los fragmentos quiméricos, se deben detectar estos fragmentos antes del procesamiento. Bioinformatics Pág 15/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Orientación desconocida Los fragmentos pueden provenir de cualquier strand de la molécula ADN. Se sabe que la lectura de fragmentos va siempre en sentido 50 a 30 Si un fragmento es substring de un strand, su complemento contrarios es substring del otro. Luego, Se debe ver los fragmentos como substrings aproximados del consenso buscado o de su complemento inverso. CACGT ACGT ACTACG GTACT ACTGA CTGA Bioinformatics Pág 16/61 ⇒ → → ← ← ← → CACGT--------ACGT---------CGTAGT---------AGTAC----------ACTGA ---------CTGA CACGTAGTACTGA Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Orientación desconocida Los fragmentos pueden provenir de cualquier strand de la molécula ADN sin saberse exactamente de cuál. Como no se conoce la orientación, debería probarse con todas las 2n posibles combinaciones para n segmentos, lo que se vuelve inviable Aunque este método exhaustivo no es aceptado para un secuenciamiento, nos da una idea de la complejidad introducida por el problema de la orientación. Bioinformatics Pág 17/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Regiones repetidas Puede ocurrir repetición de secuencias dos o más veces en la molécula objetivo. X1 X2 Repeticiones de secuencias cortas (que pueden ser cubiertas por un fragmento) no son problema. Repeticiones de secuencias largas son un problema más crítico. Además, las copias repetidas no son idénticas, y si hay bastante parecido, los errores pueden confundirse con sustituciones de base. El modelo de ensamblaje debe ser capaz de tratar estos errores, por lo que es necesario una cierta tolerancia con la detección de superposiciones Bioinformatics Pág 18/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Regiones repetidas Dos tipos de problema ocurren por repetición: 1 Un fragmento incluído totalmente en una repetición: genera varias localizaciones a usar en el alineamiento final. Se hace razonable poner varias copias repetidas. A principio no interesaría donde colocar las copias, pero como las copias no son exactas, podría perderse concenso al colocar una copia desigual 2 Las repeticiones pueden dejar el ensamblaje con ambigüedades haciendo que más de una opción resulten con cadenas objetivos similares y calidades similares. Bioinformatics Pág 19/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Regiones repetidas Bioinformatics Pág 20/61 A X A X B C X X C B X X D D Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Regiones repetidas Bioinformatics Pág 21/61 A X B A X D Y Y C C X X D Y B Y Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Regiones repetidas 3 También puede darse el caso de tener repeticiones en strands diferentes, siendo complementarias y en sentido invertido: X X Bioinformatics Pág 22/61 rotate 180◦ X̄ X̄ Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento I Cobertura incompleta Se espera que todas las partes de la cadena objetivo estén cubiertas por segmentos. Puede no haber información en una o más posiciones generándose una insuficiencia de cobertura. Objetivo Fragmentos Área no cubierta Cobertura en una posición i: se define como la cantidad de fragmentos que cubren esa posición. Concepto sencillo, pero difícil de calcular dada la incertidumbre en las posiciones iniciales de cada fragmento, inclusive luego del ensamblado, cuando se tiene la mejor estimativa de las posiciones de los fragmentos Bioinformatics Pág 23/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento II Cobertura incompleta Puede calcularse una cobertura media de k fragmentos de longitud li como: k 1 X li (1) c= T i=1 Habiendo cobertura cero en una o más posiciones, lo mejor a obtener es encontrar la secuencia concenso de las regiones cubiertas, denominadas contigs Bioinformatics Pág 24/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Cobertura incompleta Es importante estimar la cantidad de fragmentos que garanticen una cobertura deseada. Considérese que: T es la longitud de la molécula objetivo. l es la longitud de todos los fragmentos (igual) i es la cantidad de bases mínima que se puede reconocer como un solapado Si se muestrean n fragmentos aleatorios, el valor esperado p de contigs aparentes es dado por: −n(l−i) (2) p = ne T Bioinformatics Pág 25/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Problema de secuenciamiento Complicaciones Problemas en el secuenciamiento Cobertura incompleta La fracción cubierta por k fragmentos es: rk = ec ck k! (3) donde: c es la cobertura media c = nl/T Bioinformatics Pág 26/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Contenido 1 Problema de secuenciamiento Introducción Definiciones Complicaciones 2 Modelos formales para secuenciamiento Shortest Common Superstring Reconstruction Multicontig 3 Algoritmos Overlaps y Superstrings Superstrings más cortos como caminos Algoritmo greedy Subgrafos acíclicos 4 Bibliografía Bioinformatics Pág 27/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Shortest Common Superstring Modelos formales para secuenciamiento Shortest common superstring – SCS Es uno de los primeros intentos en formalizar el problema de ensamblaje de secuencias. Se intenta encontrar el superstring más corto de una colección de fragmentos, de ahí el nombre SCS, definido como: Require: una colección F de strings Ensure: el string S más corto / para cualquier f ∈ F, S es un superstring de f Sea F ={ACT,CTA,AGT}, la secuencia S =ACTAGT es el superstring común más corto. Es un problema NP-Hard y de interés teórico puesto que no soporta el problema biológico real Bioinformatics Pág 28/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Reconstruction Modelos formales para secuenciamiento Reconstruction Es un modelo que redefine el algoritmo DP de comparación de secuencias para soportar errores y orientación desconocida. Se mide una unidad de distancia por cada inserción, borrado o sustitución, excepto borrados en los extremos de la segunda secuencia. La distancia ds se define como: ds = min d(a, s) (4) s∈S(b) donde: S(b) es el conjunto de todos los substrings de b d es la distancia de edición clásica que no es simétrica, es decir que: d(a, b) 6= d(b, a) Bioinformatics Pág 29/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Reconstruction Modelos formales para secuenciamiento Reconstruction Se define f como un substring aproximado de S con error , si: ds (f , S) ≤ |f | (5) donde: |f | es la longitud de f , con un promedio de errores por cada base en f un número real en [0, 1], El ensamblaje de secuencias con el modelo reconstruction se define: Require: una colección F de strings y una tolerancia ∈ [0, 1] Ensure: el string S más corto / ∀f ∈ F, se tenga: min ds (f , S), ds (f̄ , S) ≤ |f | (6) donde f̄ es el complemento reverso de f Bioinformatics Pág 30/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Reconstruction Modelos formales para secuenciamiento Reconstruction Ese problema es también NP-Hard, e incluye al problema SCS si → 0. El modelo Reconstruction trata con errores y orientación pero no soporta repeticiones, falta de cobertura ni tamaño objetivo Bioinformatics Pág 31/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Multicontig Modelos formales para secuenciamiento Multicontig Se adiciona la noción de buen ajuste a la respuesta. Los otros modelos no verifican el ajuste de los fragmentos antes de la respuesta final. Es importante y necesario aceptar respuestas compuestas por varios contigs, de ahi el nombre de multicontig Bioinformatics Pág 32/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Multicontig Modelos formales para secuenciamiento Error-free Multicontig Es un primer modelo definido como: Sea F una colección de fragmentos, y L un alineamiento múltiple o layout en el que se cumple que sólo haya un tipo de base por columna (sin errores), además debe contener a cada fragmento o su complemento inverso, pero no ambos. Las columnas numeradas de L van de 1 . . . |F| Cada fragmento f tiene un extremo izquierdo l(f ) y un extremo derecho r(f ) tal que |f | = r(f ) − l(f ) + 1 Se dice que los fragmentos f y g se sobreponen si se cumple que [l(f ) . . . r(f )] ∩ [l(g) . . . r(g)] 6= ∅. Son de interés las sobreposiciones linkage Bioinformatics Pág 33/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Multicontig Modelos formales para secuenciamiento Error-free Multicontig Se dice que una intersección [x, y] es nonlink si ∃f ∈ F que contenga propiamente la intersección, es decir que el fragmento contenga al intervalo [x − 1, y + 1]. En caso contrario, se dice que la intersección es un link. El link más débil en un layout es aquél de menor tamaño Finalmente, se dice que un layout es t-contig si su link más débil es al menos de tamaño t. Si para una colección de fragmentos F se puede construir un t-contig a partir de los fragmentos f ∈ F y un entero t, podemos decir que F admite un t-contig Bioinformatics Pág 34/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Multicontig Modelos formales para secuenciamiento Error-free Multicontig Formalizando el problema de ensamblaje de fragmentos con el modelo Multicontig Sea F una colección de fragmentos y un entero t Se desea particionar F en la cantidad mínima de subcolecciones Ci , l ≤ i ≤ k tal que cada Ci admita un t-contig Bioinformatics Pág 35/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Multicontig Modelos formales para secuenciamiento Error-free Multicontig Ejemplo: Sea la colección F ={GTAC, TAATG, TGTAA} y se desea partir F en la mínima cantidad de t-contigs Si t = 3 el mínimo es 2 como se muestra: --TAATG GTAC TGTAA-sin lograr juntar en un contig los 3 fragmentos Si t = 2 se tiene la solución anterior y una siguiente: TAATG--GTAC ---TGTAA Si t = 1 se tiene una nueva solución : TGTAA------TAATG--------GTAC Bioinformatics Pág 36/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Multicontig Modelos formales para secuenciamiento Contemplating errors Multicontig En este caso no se exige que el layout no tenga errores: Cada alineamiento estará asociado a una secuencia de concenso S de la misma longitud, con la opción de contener tags (-). Los valores l(f ) y r(f ) no cambian su definicion, pero ya no se cumple que |f | = r(f ) − l(f ) + 1 y la imagen de un fragmento alineado en el concenso es S[l(f ) . . . r(f )] Dada una tolerancia se puede decir que S es el concenso para el contig si la distancia de edición entre cada fragmento alineado y su imagen en el concenso es como máximo |f |. Bioinformatics Pág 37/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Modelos formales para secuenciamiento Multicontig Modelos formales para secuenciamiento El problema Multicontig Se define el problema Multicontig de la siguiente forma: Require: Una colección F de strings, un entero t ≥ 0, una tolerancia ∈ [0, 1] Ensure: Una partición de F en la mínima cantidad de subcolecciones Ci , 1 ≤ i ≤ k, en la que cada Ci admite un t-contig con un -concenso El problema Multicontig es NP-Hard inclusive para los casos sin errores y con orientación conocida. Este modelo soporta errores, orientación desconocida, falta de cobertura pero no soporta tamaño aproximado de la molécula objetivo. Soporta algunos casos de repetición. Bioinformatics Pág 38/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Contenido 1 Problema de secuenciamiento Introducción Definiciones Complicaciones 2 Modelos formales para secuenciamiento Shortest Common Superstring Reconstruction Multicontig 3 Algoritmos Overlaps y Superstrings Superstrings más cortos como caminos Algoritmo greedy Subgrafos acíclicos 4 Bibliografía Bioinformatics Pág 39/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Algoritmos para secuenciamiento I Representación de los overlaps Para una colección F, los superstrings comunes se ven como caminos en un grafo, llevando las propiedades de los superstrings a propiedades en los caminos. El Multigrafo overlap OM(F) de una colección F es el multigrafo dirigido y ponderado definido como: Sea el conjunto de nodos V que representa a F Existe la arista a ∈ F de a → b con peso t ≥ 0 si el sufijo de a con t caracteres es también prefijo en b, es decir: suffix(a, t) = prefix(b, t) (7) denotado también como κ|a|−t = bκ|b|−t Bioinformatics Pág 40/61 (8) Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Algoritmos para secuenciamiento II Representación de los overlaps o también (aκt )b = a(κt b) (9) donde κ representa un “agente destructor” que reduce los strings generando prefijos o sufijos de los mismos Note que debe cumplirse |a| ≥ t y |b| ≥ t para que exista la arista. Pueden haber más aristas a → b con t diferentes, de ahí el nombre Multigrafo. No se consideran aristas al mismo nodo pero sí se permite aristas con peso nulo Bioinformatics Pág 41/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Algoritmos para secuenciamiento I Generación de Superstrings Un multigrafo de overlaps OM(F) es importante porque de sus aristas dirigidas se genera un alineamiento múltiple y mediante concenso se deriva una superstring común de las secuencias implicadas. Bioinformatics Pág 42/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Algoritmos para secuenciamiento I Generación de Superstrings Sea un camino dirigido P en el multigrafo OM(F), se puede construir un un alineamiento múltiple con las secuencias en P de la siguiente forma: Cada arista e = (f , g) en el camino tiene una ponderación t indicando que t bases de la cola de f son prefijos en la cabeza de g, es decir que f , g pueden alinearse usando la parte común Ejemplo: sea la colección F = {A, B, C , D} donde: a = TACGA a = ACCC a = CTAAAG a = GACA y el siguiente multigrafo cuyas aristas están ponderadas con pesos positivos: Bioinformatics Pág 43/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Algoritmos para secuenciamiento II Generación de Superstrings TACGA a 2 1 b ACCC 1 1 c CTAAAG 1 d GACA Los caminos se indican como listas de vértices y aristas, y si no hay aristas múltples, apenas con una lista de vértices. Para el ejemplo se tienen dos caminhos P1 = dbc y P2 = abcd cuyos alineamientos son: GACA-------TACGA-------------ACCC--------ACCC-------------CTAAAG -------CTAAAG--------------GACA Bioinformatics Pág 44/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Algoritmos para secuenciamiento III Generación de Superstrings Si P es un camino en OM(F) y A el conjunto de fragmentos relacionados a P y considerando que no se repiten vértices en un camino, en P existirán |A| − 1 aristas y el superstring común es S(P) Existe una relación entre el tamaño de A, los pesos del camino y la longitud del superstring dada por: kAk = w(P) + |S(P)| (10) donde P kAk = a∈A |a| es la suma de las longitudes de todos los segmentos en A w(P) es el peso de P Esta relación se puede verificar con algunos casos simples: 1 Sea un camino con un fragmento y sin aristas Bioinformatics Pág 45/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Algoritmos para secuenciamiento IV Generación de Superstrings Entonces A = {f }, kAk = |f | y w(P) = 0, Luego S(P) = f Se verifica que la ecuación (10) se cumple para este caso 2 Sea el caso que P = f1 e1 f2 e2 . . . ft y que se cumpla (10) para P Si se coloca una arista adicional P 0 = Pet+a ft+1 se tiene que w(P 0 ) = w(P) + w(et+1 ) = w(P) + k si se cumple que w(et+1 ) = k Por otro lado S(P 0 ) = S(P)suffix(ft+1 , |ft+1 |, k) ya que las primeras k bases de ft+1 ya se encuentran en S(P) Bioinformatics Pág 46/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Overlaps y Superstrings Algoritmos para secuenciamiento V Generación de Superstrings Así, sólo se requiere concatenar el sufijo restante de ft+1 : |S(P 0 )| = |S(P)| + |ft+1 | − k = kAk − w(P) + |ft+1 | − k = kA0 k − w(P 0 ) y se vuelve a cumplir (10) Cada camino genera un superstring común de los fragmentos relacionados. Esto es importante si se tiene un camino Hamiltoniano, en el que el superstring comun será A = F y la ecuación (10) se convierte en |S(P)| = kFk − w(P) (11) Además, dado que kFk es constante e independiente de cualquier camino Hamiltoniano, minimizar |S(P)| equivale a maximizar w(P) Bioinformatics Pág 47/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Superstrings más cortos como caminos Algoritmos para secuenciamiento I Superstrings más cortos como caminos Se vio que cada camino está asociado a un superstring, pero lo inverso no siempre es verdad. En el conjunto de fragmentos de la figura anterior, el superstring GTATACGACCCAAACTAAAGACAGGG no es parte de ningún camino, lo que es fácil de verificar ya que un superstring puede contener caracteres innecesarios que no se encuentran en ningún fragmento Un superstring más corto no debería tener caracteres innecesarios, por lo que surge la pregunta: ¿Todo superstring más corto está asociado a un camino? Esto se cumple para algunas colecciones denominadas substring-free Bioinformatics Pág 48/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Superstrings más cortos como caminos Algoritmos para secuenciamiento I Superstrings más cortos como caminos Colecciones superstring-free: Se dice que una colección F es supertring-free si no existe dos strings a, b ∈ F tales que a sea un substring de b. En este caso, se puede comprobar la conversión de camino a la construcción de un superstring Theorem Sea F una colección superstring-free Para cada string S ∈ F, existe un camino Hamiltoniano P ∈ OM(F) tal que S(P) es una subsecuencia de S Bioinformatics Pág 49/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Superstrings más cortos como caminos Algoritmos para secuenciamiento II Superstrings más cortos como caminos Corollary Sea F una colección superstring-free. Si S es un superstring más corto de F, existe un camino Hamiltoniano tal que S = S(P). Theorem Sea F una colección de strings Existe una única colección substring-free G equivalente a F Bioinformatics Pág 50/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Algoritmo greedy Algoritmos para secuenciamiento Algoritmo Greedy La Eq(11) nos muestra que buscar el supertring común más corto es equivalente a buscar el camino Hamiltoniano con máxima ponderación en un multigrafo dirigido. Dado que se busca el camino con más peso, no se requiere indicar todas las aristas entre dos pares de nodos, sólo la mejor ponderada. Un enfoque greedy para encontrar el camino más ponderado consiste en adicionar al camino la arista mejor ponderada y disponible que no impida la obtención de un camino Hamiltoniano, dadas las aristas seleccionadas previamente. Como el grafo es completo, se finalizará cuando todos los nodos estén dentro del camino. Bioinformatics Pág 51/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Algoritmo greedy Algoritmos para secuenciamiento I Algoritmo Greedy Require: weighted directed graph OG(F) with n vertices Ensure: Hamiltonian path in OG(F) // Initialize for i ← 1, to n do in[i] ← 0 out[i] ← 0 MakeSet(i) end for // Process: sort edges by weigth, heaviest first for each edge(f , g) in this order do // test edge for acceptance if in[g] = 0 ∧ out[0] ∧ FindSet(f ) 6= FindSet(g) then select(f , g) in[g] ← 1 out[f ] ← 1 Union(FindSet(f ), FindSet(g)) end if Bioinformatics Pág 52/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Algoritmo greedy Algoritmos para secuenciamiento II Algoritmo Greedy if there is only one component then break end if end for return Selected Edges Bioinformatics Pág 53/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Algoritmo greedy Algoritmos para secuenciamiento Algoritmo Greedy Como cualquier algoritmo voraz, no siempre se obtienen resultados óptimos, como ocurre en el siguiente ejemplo Sea la colección F = {GCC, ATGC, TGCAT}, cuyo grafo de overlaps es: GCC 2 ATGC 2 TGCAT 3 El algoritmo siempre comenzará seleccionando la arista de peso 3 y siempre será aceptada por ser la primera, no pudiendo escogerse las dos aristas que pesan 4 y conforman el camino Hamiltoniano deseado. Bioinformatics Pág 54/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Subgrafos acíclicos Algoritmos para secuenciamiento Subgrafos acíclicos Si se considera un problema de ensamblaje de secuencias con fragmentos sin errores y de orientación conocida, y que haya una “buena muestra de ADN” (buena cobertura y linkage suficiente para un buen ensamble), se puede pensar en algoritmos que encuentren la solución correcta. Sea S un string del alfabeto {A,T,C,G} y una muestra A de fragmentos que cubra S La muestra A tiene un nivel de conexión t La colección de fragmentos generada por una muestra A es: S[A] = {S[α]/α ∈ A} (12) Se dice que la muestra A es subinterval-free si no existen dos intervalos [i . . . j], [k . . . l] ∈ A tales que [i . . . j] ⊆ [k . . . l] Bioinformatics Pág 55/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Subgrafos acíclicos Algoritmos para secuenciamiento Subgrafos acíclicos Considérese una forma modificada de un grafo de overlaps Sea una colección F y un valor t > 0 que definen un OM(G, t) como el grafo proveniente de OM)(G) manteniendo sólo las aristas con peso ≥ t. Se desea recuperar S a partir de F Esta recuperación dependerá si S posée estructuras repetidas a partir del peso t, en caso que no, resulta fácil, en caso que sí, habría ambigüedad intrínseca en la recuperación. Independientemente de la repetición de estructuras en S es la existencia de un camino Hamiltoniano en OM(G, t). Con estas consideraciones, se abre la opción de usar estrategias de Ordenación Topológica Bioinformatics Pág 56/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Subgrafos acíclicos Algoritmos para secuenciamiento Subgrafos acíclicos Sea el siguiente string objetivo S y los fragmentos w, z, u, x, y S = AGTATTGGCAATCGATGCAAACCTTTTGGCAATCACT w = AGTATTGGCAATC z = AATCGATG u = ATGCAAACCT x = CCTTTTGG y = TTGGCAATCACT Considerando un valor t = 3 se obtiene el siguiente grafo OM(G, t) 9 4 w Bioinformatics Pág 57/61 3 z 3 u 4 x y Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Subgrafos acíclicos Algoritmos para secuenciamiento Subgrafos acíclicos El algoritmo Greedy llega a esta respuesta: AGTATTGGCAATC---AATCGATG--------------------------------ATGCAAACCT--------TTGGCAATCACT------------CCTTTTGG AGTATTGGCAATCACTAATCGATGCAAACCTTTTGG donde se observa que la longitud del superstring es 36, pero el link más débil es 0 Bioinformatics Pág 58/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Subgrafos acíclicos Algoritmos para secuenciamiento Subgrafos acíclicos Aplicando la búsqueda de camino Hamiltoniano se obtiene: AGTATTGGCAATC--------CCTTTTGG----------------AATCGATG--------TTGGCAATCACT --------------ATGCAAACCT------------AGTATTGGCAATCGATGCAAACCTTTTGGCAATCACT de acuerdo al único camino Hamiltoniano, se obtiene esta solución con longitud 37, pero se observa mejor linkage. El link más débil es 3 Bioinformatics Pág 59/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Algoritmos Subgrafos acíclicos Heurísticas Bioinformatics Pág 60/61 Octubre 2013 TÚPAC, Y. (CS/UCSP) Bibliografía Bibliografía I Scheibye-Alsing, K., Hoffmann, S., Frankel, A., Jensen, P., Stadler, P., Mang, Y., Tommerup, N., Gilchrist, M., Nygård, A.-B., Cirera, S., Jørgensen, C., Fredholm, M., and Gorodkin, J. (2009). Sequence assembly. Computational Biology and Chemistry, 33(2):121–136. Bioinformatics Pág 61/61 Octubre 2013 TÚPAC, Y. (CS/UCSP)