Bioinformática Sufijos. Rodrigo Santamaría

Bioinformática Sufijos Rodrigo Santamaría Sufijos • Búsqueda de patrones en genomas • Tries • Suffix Tries • Suffix Trees • Suffix Arrays Búsqueda

1 downloads 64 Views 696KB Size

Recommend Stories


-Los monemas. Lexemas y familias léxicas. -Los sufijos, los sufijos apreciativos, palabras parasintéticas, siglas y acrónimos
LENGUA CASTELLANA Y LITERATURA 1º DE E.S.O. 1.-Léxico: -Los monemas. Lexemas y familias léxicas. -Los morfemas. Palabras simples y compuestas. Palab

RODRIGO ANDRÉS HERNÁNDEZ LAVÍN
PROFESOR PATROCINANTE: MAG. OSCAR ALEJANDRO ROMERO AYALA ESCUELA DE INGENIERÍA CIVIL INDUSTRIAL IDENTIFICACIÓN DE PUNTOS CRITICOS EN EL PROCESO DE MA

Story Transcript

Bioinformática Sufijos Rodrigo Santamaría

Sufijos • Búsqueda de patrones en genomas • Tries • Suffix Tries • Suffix Trees • Suffix Arrays

Búsqueda de patrones en genomas Complejidad computacional

Buscando patrones en genomas • En la sesión 2 buscamos patrones en secuencias < 1K – Prueba, por ejemplo findPattern para buscar la DNA box de E coli TTATACACA en todo el genoma de E coli • [Cuando te rindas, podemos continuar]

Complejidad computacional • Pensemos un poco más en el problema que nos ocupa: encontrar todas las ocurrencias de una colección de patrones en un texto • Entrada: una cadena Text y un conjunto de cadenas más cortas Patterns • Salida: Todas las posiciones de Text donde comienza una cadena de Patterns

• En los casos vistos, la colección Patterns solía ser todas las posibles mutaciones de d posiciones de un patrón dado

Complejidad computacional • La solución propuesta en la sesión 2 podemos considerarla de fuerza bruta:

– Para cada posición en Text, revisar si alguno de los Patterns comienza igual – O(|Text|·|Patterns|)

• En el caso que nos ocupa, al menos |Text| va a ser muy grande – Y a veces (p.ej. alineamientos) |Patterns| también – P.ej. para un genoma humano, el genoma de referencia (Text) ocupa 3GB, y las lecturas de una secuenciación (Patterns) 1GB

Sufijos • Búsqueda de patrones en genomas • Tries • Suffix Tries • Suffix Trees • Suffix Arrays

Tries Estructura de datos algoritmo de búsqueda análisis de la complejidad

Tries • Uno de los mayores problemas de la solución por fuerza bruta es que para cada patrón recorremos una vez todo el texto – Es como si tenemos que llevar 20 ovejas de Salamanca a Barcelona y las vamos llevando de una en una – Tiene mucho más sentido agrupar las ovejas y luego llevarlas todas juntas

• En términos formales, queremos organizar todos los patrones en una única estructura de datos

Tries Root

a b n

p n

a

a d

t

b

n a

d

n

e

a

n

n

a

s

n

a

n

a

a

a

a

n

n

a

Trie para los patrones “ananas”, “and”, “antenna”, “banana”, “bandana”, “nab”, “nana” y “pan”

Ejercicio 1 • Implementar la función trie: – entrada:

• patterns (lista de cadenas)

– salida: trie correspondiente

• Ejemplo:

– patterns: ["GGTA", "CG", "GGC"] – salida: {'2:G': 3, '3:C': 6, '4:A': 5, '7:G': 8, '1:C': 7, '3:T': 4, '1:G': 2}

• Prueba:

– patterns=['ananas', 'and', 'antenna', 'banana', 'bandana', 'nab', 'nana’, 'pan’] El modo de representar el Trie puede variar. Para el ejemplo hemos utilizado un diccionario con claves {origen:arista} y valores {destino}. Las aristas son letras y los nodos son números, siendo el número 1 el nodo raíz

9

Tries y búsqueda de patrones • Para cada posición de texto: – Recorremos el trie desde la raíz por aristas que coincidan con el texto en la posición y con un patrón de los que buscamos • Si llegamos a un nodo hoja, el patrón correspondiente a la ruta está presente • En otro caso, ningún patrón está presente en el texto para dicha posición

10

Búsqueda en tries Root

a b n

p n

a

a d

t

b

n a

d

n

e

a

n

n

a

s

n

a

n

a

a

a

a

n

n

a

Buscando en la posición 0 de panamabananas encontramos pan* *Patrones de búsqueda: ananas and antenna banana bandana nab nana pan

Búsqueda en tries Root

a b n

n

a

a d

t

n

e

a

n

s

p

n a

b

n a n a

a

a

d

n

n

a

a n a

Buscando en la posición 2 de panamabananas ningún patrón encaja *Patrones de búsqueda: ananas and antenna banana bandana nab nana pan

Tries y búsqueda de patrones PrefixTrieSearch(Text, Trie) symbol

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.