Búsqueda de Motivos para Casos de Prueba Reales Juan Marcelo Ferreira Aranda Silvano Christian Gómez.

Slides:



Advertisements
Presentaciones similares
INGENIERIA INFORMATICA Y BUSQUEDAS CON ADVERSARIOS
Advertisements

Integrantes Juan Marcelo Ferreira Aranda Silvano Christian Gómez
Integrantes Juan Marcelo Ferreira Aranda Silvano Christian Gómez
TSP, QAP, VRPTW: Resolución mediante Algoritmos MOEA: SPEA, NSGA y Algoritmos MOACO: M3AS, MOACS. Integrantes Juan Marcelo Ferreira Aranda
N-PUZZLE Resolución por Búsqueda
Complejidad Computacional
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
DISEÑO DE EXPERIMENTOS
IBD Clase 7.
EVALUACION DE PROYECTOS
Procesamiento de cadenas
Métodos Cuantitativos Aplicados a Los Negocios.
DERIVADA DE UNA FUNCION REAL
Combinadores SK.
Investigación Algorítmica
Tema 3 Revisión de diversos métodos robustos aplicados en algunos problemas fotogramétricos.
ESTRUCTURAS DE DATOS AVANZADAS
Búsqueda Informada Heurísticas.
Alineamiento de Secuencias Biológicas
TEMA 1. NÚMEROS NATURALES
Tema 3. Optimización de Código
Estimación por Intervalos de confianza
Teoría de lenguajes y compiladores
Tema Nº4.
Inteligencia Artificial Resolver problemas mediante búsqueda
Álgebra elemental.
Tema 2: Métodos de ajuste
QUÉ ES VALORAR, MEDIR, TESTEAR
Maracaibo, 5 de Noviembre de 2007 Universidad del Zulia Facultad de Ingeniería Instituto de Cálculo Aplicado Universidad del Zulia Facultad de Ingeniería.
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
GRAFOS HUGO ARAYA CARRASCO.
EXPONENTES Y RADICALES
Tests de hipótesis Los tres pasos básicos para testear hipótesis son
Temas importantes para el desarrollo de la segunda parte del TPE
Clases 4 Pruebas de Hipótesis
Capítulo 4 BUSQUEDA INFORMADA.
Población y Muestra.
Solución de problemas por Búsqueda
Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009.

Diseño y análisis de algoritmos
ANALISIS DE DATOS CATEGORICOS
CÓDIGOS DE HUFFMAN. Códigos de Huffman Los códigos de Huffman, que representan caracteres por cadenas de bits de longitud variable, proporcionan alternativas.
Descomposición Factorial Unidad 5
METODOS DE BUSQUEDA INFORMADOS CAPITULO 5
ESTADÍSTICAS DESCRIPTIVA
Universidad Nacional de Colombia Curso Análisis de Datos Cuantitativos.
Experimentación Numérica
Análisis y Diseño de Algoritmos
Una introducción a la computación evolutiva
Parte I. Estructuras de Datos.
Arboles B (búsqueda externa)
ALINEAMIENTO MULTIPLE: METODOS ALTERNATIVOS
Oscar F. Bedoya L. Fundamentos de análisis y diseño de algoritmos.
Reconocimiento de patrones
Maracaibo, 26 de Mayo de 2006 Universidad del Zulia Facultad de Ingeniería División de Postgrado Maestría en Computación Aplicada Universidad del Zulia.
FACTORIZACION.
Escuela de Ciencias Basicas, Tecnología e Ingeniería
RIESGO, RENDIMIENTO Y VALOR
Aspectos generales de la investigación educativa en el SNIT
Fundamentos de Computación
Estudio técnico del instrumento
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
MEDIDAS DE TENDENCIA CENTRAL MEDIDAS DE TENDENCIA CENTRAL MEDIDAS DE TENDENCIA CENTRAL Prof. Lygia Andrea Mejía Maldonado.
TEMA 7 ANÁLISIS DE LOS RESULTADOS TEMA 7 ANÁLISIS DE LOS RESULTADOS.
Viviana Acosta Estadística II. Que es Es una distribución de probabilidad que surge del problema de estimar la media de una población normalmente distribuida.
Presentado por: Yuli Domínguez. Portal Educativo El mentor de matemáticas Grupo Océano MÚLTIPLOS Y DIVISORES DE UN NÚMERO.
Transcripción de la presentación:

Búsqueda de Motivos para Casos de Prueba Reales Juan Marcelo Ferreira Aranda Silvano Christian Gómez Marcelo Darío Rodas Guido Andrés Casco [ ] Algoritmos para Biocomputación 8vo Semestre, 2008 Algoritmos PatternBranching y Weeder

Motivación Muchos de los proceso celulares importantes incluyen el reconocimiento de pequeñas sub-secuencias (motivos) en el ADN. Los motivos controlan la producción de proteínas prendiendo y apagando los genes que tienen la información necesaria para producirlas. búsqueda de motivos Por ello, el problema de búsqueda de motivos es de gran importancia para la biología molecular

Definición del Problema pequeños sitios conservados El problema de búsqueda de motivos consiste entonces en identificar pequeños sitios conservados en el ADN sin conocer, a priori, la longitud ni la composición química de éstos. mutaciones La dificultad de este problema recae en que los motivos presentan mutaciones, inserciones o ausencia de algunos nucleótidos y usualmente no ocurren exactamente igual. Ocurrencias aproximadas Ocurrencias aproximadas de un solo patrón pueden ser encontradas eficientemente. 4 l patrones Buscar todos los posibles 4 l patrones se vuelve más costoso.

Definición Formal del Problema Problema de Búsqueda de Motivos Implantados El problema utilizado en este trabajo corresponde al Problema de Búsqueda de Motivos Implantados, y se describe como sigue: N secuenciaslongitud T motivo l mutaciones permitidas d Dado un conjunto de N secuencias cada una de longitud T y dada la longitud del motivo l y el número máximo de mutaciones permitidas d, encontrar todas las ocurrencias del motivo-(l, d) que se encuentran implantadas en las N secuencias.

Enfoques Analizados Algoritmo Pattern Branching Algoritmo Pattern Branching Algoritmo Weeder Algoritmo Weeder

Pattern Branching determinista un algoritmo determinista patrones basado en patrones búsqueda local avara usa búsqueda local avara para encontrar el motivo correcto espacio de motivos alternativa de búsqueda en el espacio de motivos branching from sample strings propone buscar por branching from sample strings

Pattern Branching 1 PATTERNBRANCHING(S, l, k); 2 bestMotif = arbitrary motif pattern; 3 bestScore = d(bestMotif, S) 4 for each l-mer A0 in S do 5 for j = 0 to k do d(Aj, S) < bestScore 6 if d(Aj, S) < bestScore 7 bestMotif = Aj ; 8 bestScore = d(bestMotif, S); 9 fi BestNeighbor(Aj ) 10 Aj+1 = BestNeighbor(Aj ); 11 od 12 od 13 output bestMotif ; Como evaluar el Score ? Como definir BestNeighbor(A)

Pattern Branching Score: distancia total PatternBranching usa distancia total: Dado un patron A, por cada secuencia S i en la muestra S = {S 1,..., S n }, sea d(A, S i ) = min{d(A, P) | P S i } (Hamming) Entonces la distancia total de A para la muestra es d(A, S) = S i S d(A, S i ).BestNeighbor: Para un patron A, sea D =Neighbor (A) el conjunto de patrones para el cual A difiere en exactamente 1 posición. Se define BestNeighbor(A) como el patron B D =Neighbor (A) con la distancia total mas baja d(B, S).

Weeder Árbol de Sufijo

Weeder Corte en el árbol de Sufijo Buscar patrones (p, e) con un árbol de sufijos en el algoritmo exacto. En el inicio de la búsqueda, todos los caminos de longitud e son validos.

Weeder Cálculo de una ocurrencia valida Se introduce el concepto de un umbral de error. Ejemplo: Si lo que se quiere estudiar son motivos de tamaño m, que admitan e mutaciones. = e / m

Weeder Cálculo de una ocurrencia valida (cont.) Descomposición de bloque de un patrón de longitud 16, y cantidad de mutaciones 4, Esto quiere decir que el umbral de error es con = A lo máximo un error permitido en el primer bloque, dos errores en el segundo bloque y así sucesivamente.

Weeder Procedimiento de Expansión. La Letra a es agregado al final del patrón p. Loc p es un conjunto de punteros (Pos, e) en las terminales de ocurrencias del patrón p en el árbol, con el correspondiente error e, OccBits es una cadena de k-bit representando las ocurrencias de p en la cadena k. Next(Pos) retorna un conjunto de punteros de las posiciones en el árbol de búsqueda para mover por una letra abajo del camino apuntado por Pos, Occ(Pos) retorna la cadena de bit del primer nodo siguiente al camino apuntado por Pos; Last pos es la ultima letra sobre el final del camino en la posición apuntada por Pos.

Weeder Calculo del Score donde obs(p) es el número de veces p fue encontrado en las regiones regulatorias, y total m es el número total de longitud m oligos en las secuencias Estimación de frecuencia como Estimación de frecuencia esperada donde H(p, e) es el conjunto de patrones con distancia Hamming e desde p dado un patrón p de longitud m si p aparece con e mutaciones

Weeder Calculo del Score (cont). Entonces, ya que p es el patrón que aparece con mayor e mutaciones en q secuencias del conjunto de secuencias S = S 1 …S k, de longitud l 1,...,lk. Primero que todo, usamos un puntaje basado en su mejor ocurrencia en cada secuencia. Ya que e i es el mínimo numero de mutaciones que p aparece en la i-th secuencia. Entonces, el puntaje especifico de las secuencias Seq(p) de p esta dado po Así, esta medida refleja cuanto p esta conservado entre las secuencias de la base de datosj, también asociaremos con p un puntaje general

Evaluación de Casos Reales Se utilizo la base de datos TRANSFAC. Métricas evaluadas a nivel de nucleótidos. Las métricas utilizadas solo describen un bajo nivel de características de las muestras. La Sensibilidad es una métrica de cantidad. La Especificidad es una métrica de calidad. Existen muchas variables estadísticas que también pueden describir la solución. Las variables NO capturan la corrección del resultado de forma totalmente correcta.

Métodos de Evaluación Propuesta Métricas Estadísticas de evaluación xTP = es el numero de posiciones de nucleótidos en ambos sitios conocidos y sitios predichos. xFN = es el numero de posiciones de nucleótidos en los sitios conocidos, pero no en los sitios predichos. xFP = es el numero de posiciones de nucleótidos que no están en los sitios conocidos, pero que están en los sitios predichos. xTN = es el numero de posiciones de nucleótidos que ni están en los sitios conocidos, y tampoco están en los sitios predichos. OBS.: x puede ser s o n.

Métodos de Evaluación Propuesta Métricas Estadísticas de evaluación (Cont.) Sensibilidad = xSn = xTP / (xTP + xFN) Especificidad = nSP = nTN / (nTN + nFP) Valor Predictivo Positivo = xPPV = xTP / (xTP + xFP) Coeficiente de Rendimiento = nPC = nTP / (nTP + nFN + nFP) Coeficiente de Correlación = nCC = nTP * nTN – nFN * nFP ((nTP+nFN)(nTN+nFP)(nTP+nFP)(nTN+nFN)) 1/2

Métodos de Evaluación Propuesta Propuesta de Cambio sobre el Cálculo de las Métricas Anterior de Evaluación.

Optimizaciones Propuestas Pattern Branching Dos mejoras ya fueron implementadas en [1]. *mejores evaluaciones (ranking) *eficiencia del algoritmo (GoodNeighbors) Mejoras adicionales no son propuestas, debido a: naturaleza biológica modelo real [1]Price, A.; Ramabhadran, S.; Pevzner, P.A. Finding subtle motifs by branching from sample strings. Bioinformatics. 2003;19(Suppl. 2):ii149–ii155. [PubMed].PubMed

Optimizaciones Propuestas Weeder 1. En cuanto al tiempo de consumo. Gran parte del consumo de tiempo del algoritmo Weeder lo realiza una evaluación estadística de los motivos, mejoras hechas sobre esta parte seria recomendables para versiones futuras del programa. (Pavesi, 2005)

Optimizaciones Propuestas Weeder 2. En cuanto a la estructura utilizada para la solucion.

Optimizaciones Propuestas Weeder 3. En cuanto al tiempo de Búsqueda de ocurrencia utilizada. utilizada. Nuestro consejo seria, realizar una Búsqueda Bidireccional [10] sobre el Grafo de sufijo, cuando se evalúa una secuencia para determinar si es o no una ocurrencia, en los 2 sentidos (una búsqueda comienza del nodo root y se expande hacia abajo y la otra búsqueda comienza desde cualquiera de los nodos hojas) de la secuencia se van realizando una evaluación sobre el costo del umbral de error, en cada sentido se tiene que verificar que sea menor o igual de la mitad del umbral de error, esto quiere decir que la suma de las umbrales de las 2 búsquedas no podrían ser mayor que el umbral de error admitido.

Optimizaciones Propuestas Weeder 3. En cuanto al tiempo de Búsqueda de ocurrencia utilizada (Cont). utilizada (Cont). Con esto se podría descartar más rápidamente todas aquellas secuencias que el numero de mutaciones admitidos se encuentre al final de la secuencia estudiada o que la suma la cantidad de mutaciones superen tempranamente combinando los 2 extremos. Pero esto aumentaría el recurso de memoria utilizada para la búsqueda debido a que se ejecutaran 2 búsquedas paralelamente. Esta mejora tendría un costo exponencial pero con la diferencia que el exponente se dividiría por 2 comparado con la situación anterior cuando se utiliza una búsqueda unidireccional.

Optimizaciones Propuestas Weeder 4. En cuanto a la forma de Evaluación de las secuencias para considerar si es o no una ocurrencia para casos para considerar si es o no una ocurrencia para casos reales reales Actualmente Weeder utiliza una el cálculo de una distancia de hamming entre el patrón y la secuencia y que esté por debajo o igual a un umbral de error multiplicado el índice de la posición de comparación de la secuencia, para casos reales esta forma de evaluación no es optimo, una sugerencia en cuanto a esta parte es la siguiente: - Probar utilizando una función de distancia de Manhattan. (Esta función ayudaría a corregir las situaciones donde se borra nucleótidos de la secuencia dándole una cierta puntuación).

Experimentos y Resultados A continuación se presentan los valores de: Sensibilidad Valor Predictivo Positivo Especificidad Coeficiente de Rendimiento Coeficiente de Correlación, para 8 muestras de casos reales de prueba en la ejecución del algoritmo de Weeder y Pattern Branching.

Experimentos y Resultados Sensibilidad para Weeder.

Experimentos y Resultados Valor Predictivo Positivo para Weeder.

Experimentos y Resultados Especificidad para Weeder

Experimentos y Resultados Coeficiente de Rendimiento para Weeder

Experimentos y Resultados Coeficiente de Correlación para Weeder

Experimentos y Resultados Sensibilidad para PB.

Experimentos y Resultados Valor Predictivo Positivo para PB.

Experimentos y Resultados Especificidad para PB.

Experimentos y Resultados Coeficiente de Rendimiento para PB.

Experimentos y Resultados Coeficiente de Correlación para PB.

Conclusiones Pattern Branching y Weeder Las pruebas con PatternBranching y Weeder revelan un pobre rendimiento en la búsqueda de motivos en casos reales debido a ciertos factores: Los motivos biológicos no siempre se ajustan al modelo basado en patrones (contando con pruebas extras utilizando un ranking). PatternBranching presenta problemas al buscar motivos con muchas posiciones degeneradas, a pesar del enfoque de búsqueda local que encuentra eficientemente el optimo global.

Conclusiones Pattern Branching y Weeder - El tiempo de ejecución de los algoritmos esta muy relacionado con: * la longitud de motivo. * la cantidad de mutaciones maxima admitida. * el tamaño de la secuencia. * y los cálculos estadísticos de las frecuencias. - La estructura de solución que se ofrece el Weeder para la busqueda de ocurrencias se podría mejorar.

MUCHAS GRACIAS POR LA ATENCIÓN!!!