GRAMATICAS PARA EL ANALISIS DE SECUENCIAS BIOLOGICAS

Slides:



Advertisements
Presentaciones similares
ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico.
Advertisements

INSTITUTO TECNOLÓGICO DE MINATITLÁN
Compiladores e intérpretes Análisis Sintáctico II
Compiladores e intérpretes
Compiladores e intérpretes Análisis Sintáctico III
Gramáticas, lenguajes y reconocedores
Analizador Sintáctico
Gramáticas Libres de Contexto
Autómatas de pila (Pushdown automata)
Gramáticas.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Usando Modelos de Markov para buscar genes
Tema 2.- Gramáticas independientes de contexto.
Tema 3 Propiedades de los lenguajes independientes de contexto
Notación BNF Backus-Naur Form.
¿Cómo hacer para que una máquina comprenda el LN?
Tema 2 Autómatas finitos 1. Autómata finito determinista
Tema 1.- Lenguajes. Gramáticas
Alineamiento de Secuencias Biológicas
ANALISIS SINTACTICO DESCENDENTE
Encuentra las 12 diferencias
Cont. Arbol Binario de Búsqueda
El análisis sintáctico
Lenguajes Regulares Curso de Compiladores Manuel E. Bermúdez, Ph.D.
Teoría de lenguajes y compiladores
O (m × n).
Tema 1.- Lenguajes. Gramáticas
Tema 2 Lenguajes Formales.
Analisis y Diseño de Algoritmos Tema: Grafos 3ra Parte
Introducción a la Teoría de Lenguajes Preparado por Manuel E. Bermúdez, Ph.D. Profesor Asociado University of Florida Curso de Compiladores.
Algoritmos para calcular el Conjunto Primero y el Conjunto Siguiente
Sesión 2: Métodos Probabilísticos Básicos
Análisis sintáctico LR: SLR (LR simple)
Lenguajes Independientes del Contexto
Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009.
ANALISIS SINTACTICO Parte I
Estructura de Datos y Algoritmos
CC3001 Algoritmos y Estructuras de Datos
ELO3201 Vectores (Vector) Agustín J. González ELO320.
Clasificación de Gramáticas y Manejo de Errores
Distancia entre dos secuencias: Jukes - Cantor
Gramáticas Otoño2012. Importancia de las gramáticas 2 Son una herramienta muy poderosa para describir y analizar lenguajes.
Todo traductor esta basado en una gramática para el lenguaje fuente. Todo traductor esta basado en una gramática para el lenguaje fuente. Una gramática.
Introducción al Análisis Sintáctico
Una introducción a los algoritmos del Parsing. Pregunta inicial… ¿Cómo se puede determinar si un código escrito en un lenguaje de programación tiene sintaxis.
Tema 2 Autómatas finitos 1. Autómata finito determinista
Matrices de Substitución PAM Y BLOSUM
Compiladores e intérpretes Análisis Sintáctico III
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
COMPUTABILIDAD Y COMPLEJIDAD 1. Conceptos básicos (revisión). 2. Gramáticas independientes de contexto. 3. Propiedades de los lenguajes independientes.
Tomado de Sudkamp: Languages and Machines Cap. 6.
Análisis y Diseño de Algoritmos
1 Tablas HASH Agustín J. González ELO320: Estructura de Datos y Algoritmos.
Tema 11: Programación dinámica
Arboles B (búsqueda externa)
Autómatas de Pila (Pushdown Automatón)
Gramáticas Otoño2012. Importancia de las gramáticas 2 Son una herramienta muy poderosa para describir y analizar lenguajes.
1 Sebastián Argüello A60490 semana 3 Autómatas y compiladores CI-1322.
Hidden Markov Models Angélica Minaya Francesca Barleta Jeanette velásquez Mónica Pajuelo Daniel Rueda.
Tema Mecánica del medio continuo Notación Indicial
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Search and learning problems in sequence analysis.
DIALIGN DIagonal ALIGNments Marcelo Piriz Daiana Mir.
Programación de Sistemas
PLN parsing charts1 Métodos basados en Charts Extensiones a partir de Charts Métodos Tabulares CKY Earley.
Unidad 2 Matrices.
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
Información y Aleatoriedad de los Genes Iniciativa Científica MilenioSANTIAGO, 15 de Noviembre de 2006.
Sintaxis y Semántica. S.Takahashi Fases en el proceso de análisis de lenguajes Lexer Parser caracteres tokensrespuesta.
Centro Universitario Valle de México Gramáticas Libres de Contexto Dra. Maricela Quintana López Elaborado por: Autómatas y Lenguajes Formales.
Transcripción de la presentación:

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

Erase una vez un lenguaje... 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 libres de contexto Gramáticas sensitivas al contexto Gramáticas regulares u®Xv u®X Gramáticas libres de contexto u®b Gramáticas sensitivas al contexto a1 u a2 ® a1 b 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 b es cualquier secuencia de terminales / no terminales

Gramaticas y parsers Automata de parsing Gramática Máquina de Turing Gramática irrestricta Automata linealmente acotado Gramática sensitiva al contexto Automata de pila Gramática libre de contexto Automata de estados finitos Gramática Regular Automata de parsing Gramática

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 | .. (Context Free) Versus: S ® aS | bS | b | a (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: (i,i,v) = ev (xi ) Iteracion Terminacion: Pr(x) = (1,L,1)

El algoritmo Outside: b(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 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:  (i, i-1) = 0, i= 2...L Recursion: for i=1...L-1, j=i+1...L Terminacion: maxima cantidad de apareamientos de bases:  (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  (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

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.