Estruturas de Dados e Algoritmos para Infer - PowerPoint PPT Presentation

About This Presentation
Title:

Estruturas de Dados e Algoritmos para Infer

Description:

Estruturas de Dados e Algoritmos para Infer ncia de Motifs Katia Guimar es – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 22
Provided by: jcb64
Category:

less

Transcript and Presenter's Notes

Title: Estruturas de Dados e Algoritmos para Infer


1
Estruturas de Dados e Algoritmos para Inferência
de Motifs
  • Katia Guimarães

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

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.

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

5
Árvores de Sufixos Compacta
6
Árvores de sufixo
  • Algoritmo constrói-AS (X x1 ... xn)
  • início
  • crie uma árvore T1, com VT1(raiz, x1),
    ET1(raiz, x1) e

  • rot(x1)x1
  • Para i?2 até n faça
  • para j?1 até i-1 faça
  • u?X 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

7
Construindo a Árvores de Sufixos da Seqüência
CCTTTA
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 Xj..i1, 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

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)

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

11
Arrays de sufixos
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

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

14
Repetições com substituições
  • Seqüência
  • Sementes na seqüência S de comprimento pelo menos
    3

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

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

17
Considerando inserções e remoções
  • Modelo mais complexo, porém, mais realístico
  • Distância de Levenshtein
  • k-erro repetição

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

19
Considerando inserções e remoções
  • Valores de U e de V para extensões à esquerda e à
    direita de
  • semente GGGG e q?2

20
Considerando inserções e remoções
  • Algoritmo MDR (S, l, k)
  • início
  • Compute todas as sementes
  • Para cada semente ((i1, j1), (i2, j2)) faça
  • Compute as tabelas Tdir(q)
    direitaE(sj11,n, sj21,n, q)
  • Tesq(q)
    esquerdaE(s1, i1-1, s1, 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

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.
Write a Comment
User Comments (0)
About PowerShow.com