Determinando la probabilidad de una secuencia: El

Download Report

Transcript Determinando la probabilidad de una secuencia: El

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!
• La estructura
secundaria del
RNA pone
constrains sobre
la secuencia del
RNA.
tRNA en acción!
Se deben adoptar nuevos
modelos que consideren las
correlaciones a larga
distancia entre pares de
residuos
GRAMATICAS
Erase una vez un lenguaje...
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
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
Árbol de parsing para UAG
Gramáticas probabilísticas
Jerarquía de Chomsky
 Gramáticas regulares

uXv uX
 Gramáticas libres de contexto

u
 Gramáticas sensitivas al contexto

a1 u a2  a1  a2
 Gramáticas irrestrictas

a1 u a2  g
donde u y v son no terminales, X es un terminal, a y
g son cualquier secuencia de terminales / no
terminales, excluyendo el string nulo, y  es
cualquier secuencia de terminales / no terminales
Gramaticas y parsers
Gramática
Automata de parsing
Gramática Regular
Automata de estados finitos
Gramática libre de contexto
Automata de pila
Gramática sensitiva al
contexto
Automata linealmente acotado
Gramática irrestricta
Máquina de Turing
De las gramáticas regulares
a las gramáticas libres de
contexto
RNA: palindromos
complementarios
Lo que necesitamos modelar
para nuestro problema del RNA
es la simetría, como un
palíndromo
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
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 | ..
Versus: S  aS | bS | b | a
(Context Free)
(Regular)
CFG y RNA
• Aca vemos una gramatica context free que puede
generar un stem de 3 bases, y un loop de GAAA o
GCAA
De las gramáticas libres de
contexto a las gramáticas
sensitivas al contexto
Pseudoknots
• Las gramaticas sensitivas al contexto
permiten modelar lenguajes Copy, que son
los que se presentan en los pseudoknots.
Problema
No se conocen algoritmos
generales en tiempo polinomial
para
parsear gramaticas sensitivas al
contexto
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
Determinando la probabilidad de una
secuencia: El Algoritmo Inside
• α (i,j,v): la probabilidad suma de todos los subtrees de
parsing de raiz v para la subsecuencia de i a j
El algoritmo Inside
El algoritmo Inside
• Inicializacion: a(i,i,v) = ev (xi )
• Iteracion
• Terminacion: Pr(x) = a(1,L,1)
El algoritmo Outside: (i,j,v)
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 g (i,j,V).
• Empezamos con g (i,i,V) = log P(VXi)
• Para todo j > i, buscamos todas las
producciones VYZ y nos quedamos
con la de maxima probabilidad.
Algoritmo CYK
g (i,i,V) = log P(VXi), " no terminal V, " 1iN
for i=1 to N-1
for j=i+1 to N
" no terminal V
g (i,j,V) = maxx maxy maxikj [log
P(VXY)+ g (i,k,X)+ g (k+1,j,Y)];
endfor
endfor
return g (1,N,S)
Recordamos las elecciones
hechas en CYK en cada
paso para reconstruir el
parser optimo!
Veamos una
aplicación de la
gramatica
a
la
.
estructura secundaria
del RNA
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
Casos en Nussinov
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.
Algoritmo Nussinov
• Inicializacion:
g (i, i-1) = 0,
i= 2...L
g (i, i) = 0,
i= 1...L
• Recursion: for i=1...L-1, j=i+1...L
• Terminacion: maxima cantidad de
apareamientos de bases: g (1, L)
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 g (i+1, j) = g (i, j) push (i+1, j)
else if g (i, j-1) = g (i, j) push (i, j-1)
else if g (i+1, j-1)+ij = g (i, j):
registrar i, j como apareamiento
push (i+1, j-1)
else for k= i+1 to j-1: if g (i,k)+g (k+1,j)=g (i,j):
push (k+1,j)
push (i,k)
break
Ejemplo
Version SCFG de Nussinov
• S  GSC: 3  CSG: 3  ASU: 2USA: 2
GSU: 1  USG: 1
• S  SS: 0  e: 0
• S  AS: 0  CS: 0  GS: 0  US: 0
• S  SA: 0  SC: 0  SG: 0  SU: 0
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.