Está en la página 1de 36

Gramticas para el

anlisis de secuencias
biolgicas
Ing. Informtico Mitchell Blancas

Facultad de CC.FF. - Escuela de Informtica

Secuencias y estructuras
Los algoritmos de anlisis de secuencias tratan al
DNA, RNA y a las protenas como strings de
nucletidos o aminocidos
La mayora de estos algoritmos asume strings de
elementos sin relacin, donde el valor de un
residuo en una posicin no tiene efecto sobre el
valor de otro residuo (La suposicin anterior se
rompe dramticamente para el RNA).
Facultad de CC.FF. - Escuela de Informtica

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

Facultad de CC.FF. - Escuela de Informtica

RNA en accin

Facultad de CC.FF. - Escuela de Informtica

Se deben adoptar nuevos modelos que


consideren las correlaciones a larga
distancia entre pares de residuos.

GRAMATICAS
Facultad de CC.FF. - Escuela de Informtica

Gramticas transformacionales
Una gramtica caracteriza un lenguaje
Una gramtica consiste de:
N: Un conjunto de smbolos no terminales
V: Un conjunto de smbolos terminales
(son los que realmente aparecen en el
string)
S: Un smbolo no terminal de start S
P: Un conjunto de producciones

Facultad de CC.FF. - Escuela de Informtica

Ejemplo: Una gramtica 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
Facultad de CC.FF. - Escuela de Informtica

rbol de parsing para UAG

Facultad de CC.FF. - Escuela de Informtica

Gramticas probabilsticas

Facultad de CC.FF. - Escuela de Informtica

Jerarqua de Chomsky

Facultad de CC.FF. - Escuela de Informtica

10

Gramaticas y parsers
Gramtica

Automata de parsing

Gramtica Regular

Automata de estados finitos

Gramtica libre de contexto

Automata de pila

Gramtica sensitiva al
contexto

Automata linealmente acotado

Gramtica irrestricta

Mquina de Turing

Facultad de CC.FF. - Escuela de Informtica

11

De gramticas regulares a
gramticas libres de
contexto

Facultad de CC.FF. - Escuela de Informtica

12

RNA: palindromos
complementarios

Facultad de CC.FF. - Escuela de Informtica

13

Lo que necesitamos modelar


para nuestro problema del RNA
es la simetra, como un
palndromo

Facultad de CC.FF. - Escuela de Informtica

14

Extensin
Para cubrir estas interacciones a larga
distancia
necesitamos
hacer
una
extensin a nuestras reglas de escritura:
Gramticas regulares (GR)
{NoTerminal} {Terminal}{NoTerminal} {Terminal}

Gramticas libres de contexto (GLC o


CFG)
{NoTerminal} string de simbolos
Facultad de CC.FF. - Escuela de Informtica

15

Principal ventaja de una GLC


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

(Libre de contexto)
(Regular)

Facultad de CC.FF. - Escuela de Informtica

16

CFG (GLC) y RNA


Aqu vemos una GLC que puede generar un stem
de 3 bases, y un loop de GAAA o GCAA

Facultad de CC.FF. - Escuela de Informtica

17

De gramticas libres de
contexto a gramticas
sensitivas al contexto

Facultad de CC.FF. - Escuela de Informtica

18

Pseudoknots

Las gramaticas sensitivas al contexto permiten


modelar lenguajes Copy, que son los que se
presentan en los pseudoknots.
Facultad de CC.FF. - Escuela de Informtica

19

Problema
No se conocen algoritmos generales
en tiempo polinomial para parsear
gramticas sensitivas al contexto.

Facultad de CC.FF. - Escuela de Informtica

20

Tres problemas basicos


Scoring: Cuan probable es una secuencia dado un
SCFG parametrizado?
Algoritmo Inside

Training: Dado un conjunto de secuencias, como


estimamos los parmetros de un SCFG?
Algoritmo Inside Outside

Alineamiento: Cual es el parsing mas probable de


una secuencia a un SCFG parametrizado?
Algoritmo CYK

* SCFG = Stochastic context-free grammar


Facultad de CC.FF. - Escuela de Informtica

21

Determinando la probabilidad de una


secuencia: El Algoritmo Inside

(i,j,v): la probabilidad suma de todos los subtrees de


parsing de raz v para la subsecuencia de i a j
Facultad de CC.FF. - Escuela de Informtica

22

El algoritmo Inside

Facultad de CC.FF. - Escuela de Informtica

23

El algoritmo Inside
Inicializacin: (i,i,v) = ev (xi )
Iteracin

Terminacin: Pr(x) = (1,L,1)


Facultad de CC.FF. - Escuela de Informtica

24

El algoritmo Outside: (i,j,v)

Facultad de CC.FF. - Escuela de Informtica

25

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 mxima probabilidad.
Facultad de CC.FF. - Escuela de Informtica

26

Algoritmo CYK
(i,i,V) = log P(VXi), no terminal V, 1iN
for 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)];
end

endfor
endfor
return (1,N,S)
Facultad de CC.FF. - Escuela de Informtica

27

Veamos una aplicacin de las


gramticas a la estructura
secundaria del .RNA.

Facultad de CC.FF. - Escuela de Informtica

28

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

Facultad de CC.FF. - Escuela de Informtica

29

Casos en Nussinov

Facultad de CC.FF. - Escuela de Informtica

30

Algoritmo Nussinov
La secuencia a analizar tiene longitud L.
Es un algoritmo de programacin dinmica que llena
una matriz de L x L, con la informacin del mximo
apareamiento de las bases.
Hacemos la funcin (xi, xj) = 1, si xi y xj se
aparearan entre si, y (xi, xj) = 0, en caso contrario.

Facultad de CC.FF. - Escuela de Informtica

31

Algoritmo Nussinov
Inicializacin:
(i, i-1) = 0,
i= 2...L
(i, i) = 0,
i= 1...L
Recursin: for i=1...L-1, j=i+1...L

Terminacin: mxima cantidad de apareamientos de


bases: (1, L)
Facultad de CC.FF. - Escuela de Informtica

32

Nussinov traceback

Inicializacin: Push (1,L) en el stack


Recursin: Repetir hasta que el stack este vaco
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
Facultad de CC.FF. - Escuela de Informtica

33

Ejemplo

Facultad de CC.FF. - Escuela de Informtica

34

Versin SCFG del ejemplo


Nussinov
S GSC: 3 CSG: 3 ASU: 2 USA: 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

Facultad de CC.FF. - Escuela de Informtica

35

Referencias
1. Biological sequence analysis (Capitulos 9 y 10). Durbin, R., Eddy,
S., Krogh, A., Mitchison, G., Cambridge University Press, 1998.
2. Bioinformatics, The Machine Learning Approach, 2da. Edicion
(Capitulo 11). Baldi, P. & Brunak, S., MIT press, 2001.
3. Bioinformatics: sequence and genome analysis (Capitulo 5). Mount,
D., Cold Spring Harbor Laboratory Press, 2001.
4. The language of RNA: a formal grammar that includes pseudoknots.
Rivas E., Eddy, S.R., Bioinformatics. 2000 Apr;16(4):334-40.
1.

Facultad de CC.FF. - Escuela de Informtica

36