gramaticas para el analisis de secuencias biologicas

39
GRAMATICAS PARA EL GRAMATICAS PARA EL ANALISIS DE SECUENCIAS ANALISIS DE SECUENCIAS BIOLOGICAS BIOLOGICAS

Upload: asdrubal-cardenas

Post on 29-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

GRAMATICAS PARA EL GRAMATICAS PARA EL ANALISIS DE SECUENCIAS ANALISIS DE SECUENCIAS

BIOLOGICASBIOLOGICAS

Page 2: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Secuencias y estructuras

• Los algoritmos de análisis de secuencias tratan al DNA, RNA y a las proteínas como strings de nucleótidos o aminoácidos

• La mayoría de estos algoritmos asume strings de elementos sin relación, donde el valor de un residuo en una posición no tiene efecto sobre el valor de otro residuo.

Esta suposición se rompe dramáticamente para el RNA!

Page 3: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

• La estructura secundaria del RNA pone constrains sobre la secuencia del RNA.

Page 4: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

tRNA en acción!

Page 5: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Se deben adoptar nuevos modelos que consideren las

correlaciones a larga distancia entre pares de

residuos

Page 6: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

GRAMATICASErase una vez un lenguaje...

Page 7: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Gramáticas transformacionales

• Una gramática caracteriza un lenguaje

• Una gramática consiste de:– N: Un conjunto de símbolos no terminales– V: Un conjunto de símbolos terminales

(son los que realmente aparecen en el string)

– S: Un símbolo no terminal de start S– P: Un conjunto de producciones

Page 8: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Una gramática para codones stop

• Lenguaje: UAA, UAG, UGA

• N: {s, c1, c2, c3, c4}

• S: s

• V: {A, C, G, U}

• P: s c1 c1 Uc2 c2 Ac3 c3 A

c2 Gc4 c3 G

c4 A

Page 9: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Árbol de parsing para UAG

Page 10: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Gramáticas probabilísticas

Page 11: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Jerarquía de Chomsky

Page 12: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Gramáticas regulares uXv uX

Gramáticas libres de contexto u

Gramáticas sensitivas al contexto 1 u 2 1 2

Gramáticas irrestrictas 1 u 2

donde u y v son no terminales, X es un terminal, y son cualquier secuencia de terminales / no terminales, excluyendo el string nulo, y es cualquier secuencia de terminales / no terminales

Page 13: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Gramaticas y parsers

Máquina de TuringGramática irrestricta

Automata linealmente acotadoGramática sensitiva al contexto

Automata de pilaGramática libre de contexto

Automata de estados finitosGramática Regular

Automata de parsingGramática

Page 14: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

De las gramáticas regulares a las gramáticas libres de

contexto

Page 15: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

RNA: palindromos complementarios

Page 16: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Lo que necesitamos modelar para nuestro problema del RNA

es la simetría, como un palíndromo

Page 17: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Extensión

• Para cubrir estas interacciones a larga distancia necesitamos hacer una extensión a nuestras reglas de escritura:

• Gramáticas regulares{NoTerminal} {Terminal}{NoTerminal} {Terminal}

• Gramáticas libres de contexto{NoTerminal} string de simbolos

Page 18: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Principal ventaja

• Las gramaticas regulares generan strings de izquierda a derecha, las gramaticas libres de contexto pueden generar strings de afuera hacia adentro.

• Veamos: S aSa bSb bb aa .. (Context

Free)

Versus: S aS bS b a (Regular)

Page 19: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

CFG y RNA• Aca vemos una gramatica context free que puede

generar un stem de 3 bases, y un loop de GAAA o GCAA

Page 20: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

De las gramáticas libres de contexto a las gramáticas

sensitivas al contexto

Page 21: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Pseudoknots

• Las gramaticas sensitivas al contexto permiten modelar lenguajes Copy, que son los que se presentan en los pseudoknots.

Page 22: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Problema

No se conocen algoritmos generales en tiempo polinomial

para

parsear gramaticas sensitivas al contexto

Page 23: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Tres problemas basicos• Scoring: Cuan probable es una secuencia

dado un SCFG parametrizado?Algoritmo Inside

• Training: Dada un conjunto de secuencias, como estimamos los parametros de un SCFG?Algoritmo Inside Outside

• Alineamiento: Cual es el parsing mas probable de una secuencia a un SCFG parametrizado?Algoritmo CYK

Page 24: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

• α (i,j,v): la probabilidad suma de todos los subtrees de parsing de raiz v para la subsecuencia de i a j

Determinando la probabilidad de una secuencia: El Algoritmo Inside

Page 25: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

El algoritmo Inside

Page 26: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

El algoritmo Inside

• Inicializacion: (i,i,v) = ev (xi )

• Iteracion

• Terminacion: Pr(x) = (1,L,1)

Page 27: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

El algoritmo Outside: (i,j,v)

Page 28: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Algoritmo CYK

• Dada una secuencia X encontrar el parsing mas probable.

• A la probabilidad del parsing mas probable del substring Xi...Xj con raiz en V la llamamos (i,j,V).

• Empezamos con (i,i,V) = log P(VXi)• Para todo j > i, buscamos todas las

producciones VYZ y nos quedamos con la de maxima probabilidad.

Page 29: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Algoritmo CYK (i,i,V) = log P(VXi), no terminal V, 1iNfor i=1 to N-1 for j=i+1 to N no terminal V

(i,j,V) = maxx maxy maxikj [log P(VXY)+ (i,k,X)+ (k+1,j,Y)];

endforendforreturn (1,N,S)

Page 30: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Recordamos las elecciones hechas en CYK en cada paso para reconstruir el

parser optimo!

Page 31: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Veamos una aplicación de la gramatica a la

estructura secundaria del RNA

.

Page 32: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Algoritmo Nussinov

• Dada: Una secuencia RNA• Objetivo: Encontrar la estructura secundaria que

maximice el numero de apareamiento de bases• Algoritmo recursivo: Encuentra la mejor estructura

para los inputs i...j intentando una de las siguientes 4 posibilidades:– Agregar el par i, j sobre la mejor estructura i+1...j-1– Agregar i sin aparear a la mejor estructura i+1...j– Agregar j sin aparear a la mejor estructura i...j-1– Combinar las dos estructuras optimas i...k y k+1...j

Page 33: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Casos en Nussinov

Page 34: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Algoritmo Nussinov

• La secuencia a analizar tiene longitud L.

• Es un algoritmo de programacion dinamica que llena una matriz de L x L, con la informacion del maximo apareamiento de las bases.

• Hacemos la funcion (xi, xj) = 1, si xi y xj se aparearian entre si, y (xi, xj) = 0, en caso contrario.

Page 35: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Algoritmo Nussinov• Inicializacion:

(i, i-1) = 0, i= 2...L

(i, i) = 0, i= 1...L• Recursion: for i=1...L-1, j=i+1...L

• Terminacion: maxima cantidad de apareamientos de bases: (1, L)

Page 36: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Nussinov traceback• Inicializacion: Push (1,L) en el stack• Recursion: Repetir hasta que el stack este vacio

pop(i,j)

if i > j continuar

else if (i+1, j) = (i, j) push (i+1, j)

else if (i, j-1) = (i, j) push (i, j-1)

else if (i+1, j-1)+ij = (i, j):

registrar i, j como apareamiento

push (i+1, j-1)

else for k= i+1 to j-1: if (i,k)+ (k+1,j)= (i,j):

push (k+1,j)

push (i,k)

break

Page 37: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Ejemplo

Page 38: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Version SCFG de Nussinov

• S GSC: 3 CSG: 3 ASU: 2USA: 2 GSU: 1 USG: 1

• S SS: 0 : 0

• S AS: 0 CS: 0 GS: 0 US: 0

• S SA: 0 SC: 0 SG: 0 SU: 0

Page 39: GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Para profundizar sobre el tema...

• Biological sequence analysis (Capitulos 9 y 10). Durbin, R., Eddy, S., Krogh, A., Mitchison, G., Cambridge University Press, 1998.

• Bioinformatics, The Machine Learning Approach, 2da. Edicion (Capitulo 11). Baldi, P. & Brunak, S., MIT press, 2001.

• Bioinformatics: sequence and genome analysis (Capitulo 5). Mount, D., Cold Spring Harbor Laboratory Press, 2001. • The language of RNA: a formal grammar that

includes pseudoknots. Rivas E., Eddy, S.R., Bioinformatics. 2000 Apr;16(4):334-40.