Click here to load reader

Combinatorial Pattern Matching BLAST

  • View
    55

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Text of Combinatorial Pattern Matching BLAST

  • Combinatorial Pattern Matching

    BLAST

  • TpicosIntroduoRepeties GnicasCombinatorial Pattern MatchingExact Pattern MatchingApproximate Pattern MatchingQuery MatchingBLAST

  • IntroduoGenomas seqenciados geram bases de dados gigantescas, que crescem a cada dia importante comparar cada novo com os j existentes, em busca de similaridades e respostasMuitas doenas podem ser identificadas atravs do genoma, o que aumenta ainda mais essa necessidadeAlgoritmos cada vez mais eficientes so necessrios para atender essa demanda crescente de comparaes e para se adequar aos computadores atuais

  • GenBank

  • Histria

  • Repeties gnicas MotivaoRearranjos gnicos geralmente so associados a repetiesRevelam segredos evolutivosMuitos tumores so caracterizados por exploses de repeties

    ATGGTCTAGGTCCTAGTGGTCATGGTCTAGGACCTAGTGTTCPode ser bem difcil encontrar repeties, principalmente no exatas

  • Combinatorial Pattern Matching MotivaoUm grande problema em biologia computacional buscar por um padro numa grande base de dadosCombinatorial Pattern Matching engloba vrios algoritmos que fazem esse tipo de busca / comparaoEntre os algoritmos existem aqueles que so exatos (buscam pelo padro sem erros) ou aproximados (permitem substituies e s vezes gaps)Existem ainda algoritmos que buscam mltiplos padres em um texto (Multiple Pattern Matching)

  • EXACT PATTERN MATCHING

  • Descrio do ProblemaDado um padro p e um texto t, encontrar todas as ocorrncias exatas de p em t.Algoritmo de fora bruta:

    Padro GCAT

    Texto CGCATC

  • Algoritmo e Complexidade

    Geralmente O(m)Pior caso: O(m.n)

  • ProblemaProblema:Se n for grande demais, o algoritmo torna-se impraticvel

    Exemplo:Padro: AAAAAA...AAATexto: AAAAAAAAAAAAAAA...AAAAA

  • SoluoSoluo:1973, Peter Weiner:Uma nova estrutura de dados: Suffix TreesResolvem este problema em O(m + n) para qualquer texto e qualquer padro

    Suffix Tree para ATCATG

  • (...Keyword Tree / Suffix Tree

  • Keyword TreeUm conjunto de padres colocados numa rvore com uma raizCada aresta rotulada com uma letra do alfabetoDuas arestas vizinhas tm rtulos diferentesCada padro pode ser lido varrendo-se a rvore da raiz at uma folha

  • Keyword Tree ConstruoApple

  • Keyword Tree ConstruoAppleApropos

  • Keyword Tree ConstruoAppleAproposBanana

  • Keyword Tree ConstruoAppleAproposBananaBandana

  • Keyword Tree ConstruoAppleAproposBananaBandanaOrange

  • Busca na Keyword TreeBusca por Appealappeal

  • Busca na Keyword TreeBusca por Appealappeal

  • Busca na Keyword TreeBusca por Appealappeal

  • Busca na Keyword TreeBusca por Appealappeal

  • Busca na Keyword TreeBusca por Appleapple

  • Busca na Keyword TreeBusca por Appleapple

  • Busca na Keyword TreeBusca por Appleapple

  • Busca na Keyword TreeBusca por Appleapple

  • Busca na Keyword TreeBusca por Appleapple

  • ComplexidadeA complexidade do tempo de construo da Keyword Tree no melhor caso O(N), onde N o tamanho de todos os padres juntosComo utilizar Keyword Tree para fazer busca mais rapidamente?Um padro pode ser lido simplesmente lendo-se da raiz at alguma folhaEnto, buscar um padro leva tempo O(n), n sendo o tamanho do padroMelhor que O(m.n)

  • Complexidade (cont)Um texto de tamanho m tem 1 + 2 + ... + sufixos

    Tempo quadrticoO(m2)Ruim para ser construdaMas...

  • Suffix TreeEstrutura de dados mais eficiente para buscas de padresDerivada da Keyword TreePode ser construda em tempo O(m)m o tamanho do textoMuito melhor que O(m2)Buscas em O(n)Assim como na Keyword Tree

  • Exemplo

  • ...)Suffix Tree

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

  • Multiple Pattern MatchingDado um conjunto de padres p1, p2, ..., pk e um texto t, encontrar se algum dos padres aparece no textoMotivaoBuscar numa base de dados por k padres conhecidosUma das estratgias do BLASTPode ser reduzido k Pattern Matching

  • APPROXIMATE PATTERN MATCHING /QUERY MATCHING

  • Approximate Pattern MatchingDado um padro p, um texto t e um inteiro k, encontrar todas as ocorrncias de p em t com no mximo k substituiesFaz muito mais sentido biologicamente falandoMutaesEvoluoUtiliza-se heursticas para aproximao

  • Buscas HeursticasNormalmente h um trecho bem conservado, idntico ou com pequenas variaes.Muitas heursticas so baseadas na idia de filtragemEncontrar uma semente, um pequeno trecho que idntico (ou muito parecido)Estender essa semente enquanto tiver menos que k substituiesQuery: 22 VLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLK 60 +++DN +G + IR L G+K I+ L+ E+ RG++KSbjct: 226 IIKDNGRGFSGKQIRNLNYGIGLKVIADLV-EKHRGIIK 263

  • Matriz de pontosMostra a similaridade entre duas strings

  • Matriz de pontosDiagonais indicam matches exatosBuscamos por diagonais respeitando o limite de mismatches

  • Matriz de pontosEstendendo as diagonais encontramos alinhamentos locais aproximados

  • Query MatchingDado um padro q, um texto t, um inteiro k e um inteiro n, encontrar pares de posies (i , j) tais que a substring de tamanho n de q comeada em i casa com a substring de tamanho n de t comeada em j com no mximo k substituiesGeneralizao do Approximate Pattern MatchingRecebe um parmetro a mais: um n referente ao tamanho da janela, que representa o tamanho mdio dos matches

  • Query MatchingQuando n igual ao tamanho do padro p o problema de Query Pattern Matching se transforma no Aproximate Query Matching

  • Comparao

  • Query MatchingIdia centralBuscar por alinhamentos pequenosFiltragemDuas etapas1. Deteco de matches potenciaisDivide a query em substrings de tamanho n (words) e busca por essas words no texto2. Verificao desses matches potenciaisEstende para a esquerda e para a direita enquanto o nmero de mismatches (substituies) seja menor que k

  • FASTA

  • FASTADesenvolvido por Pearson e LipmanApresenta os alinhamentos locais da seqncia analisada com as seqncias do bancoProcura por um nmero de k consecutivas letras (aminocidos ou nucleotdeos), palavras ou k-tuplas.

  • AlgoritmoO algoritmo dividido em 4 etapas:Seleo das 10 melhores regiesRe-classificao das 10 melhores regiesSeleo das seqncias mais semelhantesAlinhamentos das seqncias selecionadas

  • BLAST

  • BLASTBasic Local Alignment Search ToolMelhor algoritmo conhecido at hojeGrande ganho de performance em troca de uma pequena perda de sensibilidadeFunciona similar a uma Query Matching

  • Algoritmo (cont)Fragmenta a query em words (l-mers)Por defalult, 3-mers para protenase 11-mers para nucleotdeos

    Encontra words similares at um limiar (parmetro)Utiliza alguma matriz de substituio (Blosum, PAM)

  • Algoritmo (cont)

  • Algoritmo (cont)PAM 250

  • Algoritmo (cont)Query: 22 VLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLK 60 +++DN +G + IR L G+K I+ L+ E+ RG++KSbjct: 226 IIKDNGRGFSGKQIRNLNYGIGLKVIADLV-EKHRGIIK 263Query: KRHRKVLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLKIFLENVIRDwordGVK 18GAK 16GIK 16GGK 14GLK 13GNK 12GRK 11GEK 11GDK 11vizinhos(limiar T = 13)words vizinhos

  • Algoritmo (cont)Procura por alguma dessas palavras na base de dados (hit)Estende os hitsBLAST original:Extenso feita para ambas as direesNo permitia gapsBLAST atual:Utiliza uma matriz de pontosPermite gaps

  • Algoritmo (cont)Retm somente os HSPs (High Score Pairs) com score acima de um limiar (parmetro)Determina estatisticamente a relevncia de cada resultadop-value 1 e-value 1 Mais usado:E < 10-100 genes homolgos ou idnticosE < 10-3 genes podem estar relacionadosE > 1 genes provavelmente sem relao0,5 < E < 1 Twilight Zone (no h garantia de homologia ou no homologia)

  • BLASTExistem diversas implementaes do BLASTblastnCompara uma seqncia de nucleotdeos com um banco de nucleotdeosblastpSeqncia de aminocidos num banco de protenasblastxSeqncia de nucleotdeos (traduzidos em protenas) com um banco de protenastblastnSeqncia de protenas com um banco de nucleotdeos (traduzidos em real time)tblastx

  • ExemplosSuffix treehttp://cs-people.bu.edu/lisap/CS549%20Final%20Project%20Webpage%20Applet.htmlhttp://pauillac.inria.fr/~quercia/documents-info/Luminy-98/albert/JAVA+html/SuffixTreeGrow.htmlExact Pattern Matchinghttp://www-igm.univ-mlv.fr/~lecroq/string/BLASThttp://www.ncbi.nlm.nih.gov/Education/BLASTinfo/tut1.html

  • Refernciashttp://www.qualidata.com.br/~fabricio/tbo20051-suffixtree-fabricio.pdfhttp://www.cs.unc.edu/Courses/comp590-090-f07/http://bioinf.ucsd.edu/~jung/beng202/http://biotec.icb.ufmg.br/cabi/aulas/

    *

Search related