1 / 59

Combinatorial Pattern Matching BLAST

Combinatorial Pattern Matching BLAST. Tópicos. Introdução Repetições Gênicas Combinatorial Pattern Matching Exact Pattern Matching Approximate Pattern Matching Query Matching BLAST. Introdução. Genomas seqüenciados geram bases de dados gigantescas, que crescem a cada dia

page
Download Presentation

Combinatorial Pattern Matching BLAST

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CombinatorialPatternMatchingBLAST

  2. Tópicos • Introdução • Repetições Gênicas • Combinatorial Pattern Matching • Exact Pattern Matching • Approximate Pattern Matching • Query Matching • BLAST

  3. Introdução • Genomas seqüenciados geram bases de dados gigantescas, que crescem a cada dia • É importante comparar cada novo com os já existentes, em busca de similaridades e respostas • Muitas doenças podem ser identificadas através do genoma, o que aumenta ainda mais essa necessidade • Algoritmos cada vez mais eficientes são necessários para atender à essa demanda crescente de comparações e para se adequar aos computadores atuais

  4. GenBank Crescimento do GenBank Seqüências 16.000.000 15 milhões 14.000.000 24h 12.000.000 10.000.000 Europeu Japonês 8.000.000 6.000.000 4.000.000 2.000.000 606 0 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 Ano

  5. História

  6. Repetições gências – Motivação • Rearranjamentos gênicos geralmente são associados a repetições • Revelam segredos evolutivos • Muitos tumores são caracterizados por explosões de repetições • ATGGTCTAGGTCCTAGTGGTC • ATGGTCTAGGACCTAGTGTTC • Pode ser bemdifícilencontrarrepetições, principalmentenãoexatas

  7. CombinatorialPatternMatching –Motivação • Um grande problema em biologia computacional é buscar por um padrão numa grande base de dados • CombinatorialPatternMatching engloba vários algoritmos que fazem esse tipo de busca / comparação • Entre os algoritmos existem aqueles que são exatos (buscam pelo padrão exato) ou aproximados (permitem substituições e às vezes gaps) • Existem ainda algoritmos que buscam múltiplos padrões em um texto (MultiplePatternMatching)

  8. exactpatternmatching

  9. Descrição • Dado um padrão p e um texto t, encontrar todas as ocorrências exatas de p em t. GCAT CGCATC GCAT • Algoritmo de forçabruta: • PadrãoGCAT • TextoCGCATC CGCATC GCAT CGCATC GCAT CGCATC GCAT CGCATC

  10. Algoritmo e Complexidade • Geralmente O(m) • Pior caso: O(m.n)

  11. Problema • Problema: • Se n for grande demais, o algoritmo torna-se impraticável • Exemplo: • Padrão: AAAAAA...AAA • Texto: AAAAAAAAAAAAAAA...AAAAA

  12. Solução • Solução: • 1973, Peter Weiner: • Uma nova estrutura de dados: Suffix Trees • Resolvem este problema em O(m + n) para qualquer texto e qualquer padrão • Suffix Tree paraATCATG

  13. Keyword Tree / Suffix Tree (...

  14. KeywordTree • Um conjunto de padrõescolocados numa árvore comuma raíz • Cada aresta é rotulada comuma letra do alfabeto • Duas arestas vizinhas têmrótulos diferentes • Cada padrão pode ser lidovarrendo-se a árvore da raizaté uma folha

  15. KeywordTree – Construção • Apple

  16. KeywordTree – Construção • Apple • Apropos

  17. KeywordTree – Construção • Apple • Apropos • Banana

  18. KeywordTree – Construção • Apple • Apropos • Banana • Bandana

  19. KeywordTree – Construção • Apple • Apropos • Banana • Bandana • Orange

  20. Busca na KeywordTree • Busca por “Appeal” • appeal

  21. Busca na KeywordTree • Busca por “Appeal” • appeal

  22. Busca na KeywordTree • Busca por “Appeal” • appeal

  23. Busca na KeywordTree • Busca por “Appeal” • appeal

  24. Busca na KeywordTree • Busca por “Apple” • apple

  25. Busca na KeywordTree • Busca por “Apple” • apple

  26. Busca na KeywordTree • Busca por “Apple” • apple

  27. Busca na KeywordTree • Busca por “Apple” • apple

  28. Busca na KeywordTree • Busca por “Apple” • apple

  29. Complexidade • A complexidade do tempo de construção da Keyword Tree é no melhor caso O(N), onde N é o tamanho de todos os padrões juntos • Como utilizar Keyword Tree para fazer busca mais rapidamente? • Um padrão pode ser lido simplesmente lendo-se da raiz até alguma folha • Então, buscar um padrão leva tempo O(n), n sendo o tamanho do padrão • Melhor que O(m.n)

  30. Complexidade (cont) • Um texto de tamanho m tem1 + 2 + ... + sufixos • Tempo quadrático • O(m2) • Ruim para ser construída • Mas...

  31. SuffixTree • Estrutura de dados mais eficiente para buscas de padrões • Derivada da Keyword Tree • Pode ser construída em tempo O(m) • m é o tamanho do texto • Muito melhor que O(m2) • Buscas em O(n) • Assim como na Keyword Tree

  32. Exemplo

  33. Suffix Tree ...)

  34. Busca com SuffixTree ATGCATACATGG 1 TGCATACATGG 2 GCATACATGG 3 CATACATGG 4 ATACATGG 5 TACATGG 6 ACATGG 7 CATGG 8 ATGG 9 Suffix Tree para o texto ATGCATACATGG TGG 10 GG 11 G 12

  35. Multiple Pattern Matching • Dado um conjunto de padrões p1, p2, ..., pk e um texto t, encontrar se algum dos padrões aparece no texto • Motivação • Buscar numa base de dados por k padrões conhecidos • Uma das estratégias do BLAST • Pode ser reduzido à k Pattern Matching

  36. Approximatepatternmatching /querymatching

  37. ApproximatePatternMatching • Dado um padrão p, um texto t e um inteiro k, encontrar todas as ocorrências de p em t com no máximo k substituições • Faz muito mais sentido biologicamente falando • Mutações • Evolução • Utiliza-se heurísticas para aproximação

  38. Buscas Heurísticas • Normalmente há um trecho bem conservado, idêntico ou com pequenas variações. • Muitas heurísticas são baseadas na idéia de filtragem • Encontrar uma “semente”, um pequeno trecho que é idêntico (ou muito parecido) • Estender essa semente enquanto tiver menos que k substituições Query: 22 VLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLK 60 +++DN +G + IR L G+K I+ L+ E+ RG++K Sbjct: 226 IIKDNGRGFSGKQIRNLNYGIGLKVIADLV-EKHRGIIK 263

  39. Matriz de pontos • Mostra a similaridade entre duas strings

  40. Matriz de pontos • Diagonais indicammatches exatos • Buscamos por diagonaisrespeitando o limitede mismatches

  41. Matriz de pontos • Estendendo as diagonaisencontramos alinhamentos locaisaproximados

  42. QueryMatching • Dado um padrão q, um texto t, um inteiro k e um inteiro n, encontrar pares de posições (i , j) tais que a substring de tamanho n de q começada em i casa com a substring de tamanho n de t começada em j com no máximo k substituições • Generalização do Approximate Pattern Matching • Recebe um parâmetro a mais: um n referente ao “tamanho da janela”, que representa o tamanho médio dos matches

  43. QueryMatching • Quando n é igual ao tamanho do padrão p o problema de Query Pattern Matching se transforma no Aproximate Query Matching

  44. Comparação

  45. QueryMatching • Idéia central • Buscar por alinhamentos pequenos • Filtragem • Duas etapas • 1. Detecção de matches potenciais • Divide a query em substrings de tamanho n (words) e busca por essas words no texto • 2. Verificação desses matches potenciais • Estende para a esquerda e para a direita enquanto o número de mismatches (substituições) seja menor que k

  46. FASTA

  47. FASTA • Desenvolvido por Pearson e Lipman • Apresenta os alinhamentos locais da seqüência analisada com as seqüências do banco • Procura por um número de k consecutivas letras (aminoácidos ou nucleotídeos), palavras ou k-tuplas.

  48. Algoritmo • O algoritmo é dividido em 4 etapas: • Seleção das 10 melhores regiões • Re-classificação das 10 melhores regiões • Seleção das seqüências mais semelhantes • Alinhamentos das seqüências selecionadas

  49. Blast

  50. BLAST • Basic Local Alignment Search Tool • Melhor algoritmo conhecido até hoje • Grande ganho de performance em troca de uma pequena perda de sensibilidade • Funciona similar a uma Query Matching

More Related