estruturas de dados e algoritmos para inferência de motifs katia guimarães

Post on 07-Apr-2016

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Estruturas de Dados e Algoritmos para Inferência de

Motifs

Katia Guimarães

katia@cin.ufpe.br 2

Árvores de Sufixos Apresentadas por Weiner (1973) Construção linear demonstrada por

McCreight (1976) Modelo apresentado

Ukkonen (1995) Compacto Intuitivo Versátil On-line

katia@cin.ufpe.br 3

Árvores de Sufixos Definição

Uma árvore-+ é uma árvore n-ária tal que

Cada aresta tem um rótulo associado (seqüência não vazia de símbolos)

Rótulos de duas arestas com origem no mesmo vértice não podem começar com o mesmo símbolo.

katia@cin.ufpe.br 4

Árvores de Sufixos - Variações

Árvore de Sufixos Compacta – Cada aresta tem um rótulo maximal

Árvore de Sufixos Expandida Acrescenta-se um símbolo especial $ ao final da cadeia

katia@cin.ufpe.br 5

Árvores de Sufixos Compacta

katia@cin.ufpe.br 6

Árvores de sufixoAlgoritmo constrói-AS (X= x1 ... xn)iníciocrie uma árvore T1, com VT1={(raiz, x1)}, ET1={(raiz, x1)} e rot(x1)=x1Para i2 até n faça para j1 até i-1 faça uX [j..i –1] se (não há uma representação para xi a partir de u) então se (u é uma folha) então estenda o rótulo da aresta de destino u concatenando xi senão insira uma nova folha w = X [j..i ] e uma aresta (u, w) de rótulo xi.fim constrói-AS

katia@cin.ufpe.br 7

Construindo a Árvores de Sufixos da Seqüência CCTTTA

katia@cin.ufpe.br 8

Árvores de Sufixos Para fazer uma construção eficiente:

Obter, durante a i-ésima iteração as referências para cada vértice de rótulo X[j..i–1], j= 1, 2, ..., i-1, na árvore Ti-1

Suffix links Identificar a fronteira da árvore Ti-1

ou seja, a seqüência dos loci de todos os sufixos de X, do maior para o menor

katia@cin.ufpe.br 9

Arrays de sufixos Manber and Myers (1993) Organiza todos os sufixos de uma seqüência em ordem

lexicográfica crescente Possibilita busca binária Espaço

O(n) Tempo

O(n. log n) Tempo de busca por um padrão Y

O(|Y| + log n)

katia@cin.ufpe.br 10

Arrays de sufixos Tempo de construção um pouco

mais longo do que as árvores de sufixo

Vantagens Construção simples Econômico em termos de espaço

katia@cin.ufpe.br 11

Arrays de sufixos

katia@cin.ufpe.br 12

Repetições com substituições Diferentes tipos de erros introduzem

diferentes graus de dificuldade Distância de Hamming

Estratégia Identificar repetições exatas de tamanho

pequeno Sementes

A partir destes, identificar trechos de tamanho maior

katia@cin.ufpe.br 13

Repetições com substituições A computação das sementes pode

ser feita em tempo O(n) usando uma árvore de sufixos S

A verificação das possíveis extensões de uma semente pode ser feita por programação dinâmica

katia@cin.ufpe.br 14

Repetições com substituições Seqüência

Sementes na seqüência S de comprimento pelo menos 3

katia@cin.ufpe.br 15

Repetições com substituições Extensões da semente GGGG

katia@cin.ufpe.br 16

Repetições com substituições Extensões da semente TTT

katia@cin.ufpe.br 17

Considerando inserções e remoções Modelo mais complexo, porém,

mais realístico Distância de Levenshtein k-erro repetição

katia@cin.ufpe.br 18

Considerando inserções e remoções U e V cadeias de comprimento m e n

respectivamente q [0, k] Em direitaE (esquerdaE) as cadeias U e V

representam as extensões à direita (respectivamente, `a esquerda) das sementes que são maximais com relação ao erro, considerando a distância de edição

katia@cin.ufpe.br 19

Considerando inserções e remoções Valores de U e de V para

extensões à esquerda e à direita de

semente GGGG e q2

katia@cin.ufpe.br 20

Considerando inserções e remoções

Algoritmo MDR (S, l, k)inícioCompute todas as sementesPara cada semente ((i1, j1), (i2, j2)) faça Compute as tabelas Tdir(q) = direitaE(s[j1+1,n], s[j2+1,n], q) Tesq(q) = esquerdaE(s[1, i1-1], s[1, i2-1], q)Para cada q [0, k] faça Para cada par (xl, yl) esquerda(q) e cada par (xr, yr) direita(k-q) faça Se (j1 – i1 +1 + xl + xr l) e (j2 – i2 +1 + yl + yr l) então reporte a k-erro repetição((i1 – xl , j1 – xr), (i2 – yl , j2 – yr))fim MDR

katia@cin.ufpe.br 21

Considerando inserções e remoções As sementes podem ser

estendidas em tempo O(n2)

Programação dinâmica simples O(kn)

Algoritmo em [Ukkonen, 1985].

top related