Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.
-
Upload
edson-deluca-freire -
Category
Documents
-
view
217 -
download
1
Transcript of Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.
![Page 1: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/1.jpg)
Estruturas de Dados e Algoritmos para Inferência de
Motifs
Katia Guimarães
![Page 2: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/2.jpg)
Árvores de Sufixos Apresentadas por Weiner (1973) Construção linear demonstrada por
McCreight (1976) Modelo apresentado
Ukkonen (1995) Compacto Intuitivo Versátil On-line
![Page 3: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/3.jpg)
Á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.
![Page 4: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/4.jpg)
Á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
![Page 6: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/6.jpg)
Á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
![Page 8: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/8.jpg)
Á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
![Page 9: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/9.jpg)
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)
![Page 10: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/10.jpg)
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
![Page 12: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/12.jpg)
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
![Page 13: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/13.jpg)
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
![Page 14: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/14.jpg)
Repetições com substituições Seqüência
Sementes na seqüência S de comprimento pelo menos 3
![Page 17: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/17.jpg)
Considerando inserções e remoções Modelo mais complexo, porém,
mais realístico Distância de Levenshtein k-erro repetição
![Page 18: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/18.jpg)
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
![Page 19: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/19.jpg)
Considerando inserções e remoções Valores de U e de V para
extensões à esquerda e à direita de
semente GGGG e q2
![Page 20: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/20.jpg)
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
![Page 21: Estruturas de Dados e Algoritmos para Inferência de Motifs Katia Guimarães.](https://reader035.fdocuments.net/reader035/viewer/2022062522/5706384b1a28abb8238f58b5/html5/thumbnails/21.jpg)
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].