SlideShare uma empresa Scribd logo
Comparar sequências
 Recuperação de Informação: dada uma chave, buscar em um
dicionário por palavras que se assemelham à chave.
 Biologia Molecular: dadas duas sequências de DNA, identificar se
são semelhantes.
 Para que serve?
 Por que alinhamos sequências ?
Comparar genes de DNA
Estudar a estrutura de proteínas
 Estudar evolução molecular
Detecção de doenças, vírus, etc.
Um alinhamento de duas sequências de caracteres α e β é
obtido inserindo-se espaços (gaps) nas sequências e então
colocando-se uma sobre a outra de modo que cada
caractere ou espaço esteja emparelhado a um único
caractere (ou a um espaço) da outra cadeia.
• Exemplo:
• Sequências:
• α = AAACTGCACAATCTTAATGCCCTTTTAT
• β = GCGGATCAACTTATTCCATCTCTT
• Alinhamento:
• α′ = AAACTGCA-CAATCTTAATGCC--CTTTTAT
• β ′ =--GC-GGATCAA-CTT-ATTCCATCTCTT--
Ex: match +1 (good)
mismatch -1 (bad)
gap -2 (worse)
G A - C G G A T T A G
G A T C G G A A T A G
score = 9 ·1+ 1·(-1) + 1·(-2) = 6
O score que é a soma dos valores associados a cada posição, de
acordo com o grau de similaridade entre os elementos
correspondentes.
 Cálculo do Score
Problema: Alinhamento de duas cadeias de caracteres.
Entrada: Duas cadeias de caracteres
Saída: O alinhamento ideal das cadeias, possivelmente
incluindo as lacunas “gap’s”.
1. Subestrutura Ótima
Sendo assim, há três alternativas possíveis para resolver o problema:
i) (m, n) M∈
ii) a m-ésima posição de X M∉
iii) a n-ésima posiçao de Y M∉
Caso ocorra o caso (i), teremos
OPT(m, n) = αXmYn + OPT(m -1, n -1).
Caso ocorra o caso (ii), teremos que “pagar” o custo de um intervalo desde a m-
ésima posição de X que não foi encontrada e alinhar X1, X2, ..., Xm-1 bem como Y1, Y2,
..., Yn. Deste modo teremos:
OPT(m, n) = δ + OPT(m -1, n).
Caso ocorra o caso (iii), será semelhante ao caso (ii), porém: OPT(m, n) = δ +
OPT(m, n -1).
2. Expressão Recursiva
i *δ se j=0
j *δ se i=0
OPT(i,j)
MAX [αXiYj + OPT(i -1, j -1), δ
+ OPT(i -1, j), δ + OPT(i, j -1)]
δ – gap (custo pelo espaço)
αXiYj – custo de emparelhar Xi e Yj
3. Algoritmo utilizando a força bruta (RECURSIVO)
1. Alinhamento_recursivo(X,m,Y,n)
2. If m = 0
3. then return n*δ
4. If n = 0
5. then return m*δ
6. A = αXiYj + Alinhamento_recursivo(X,m-1,Y,n-1)
7. B = δ + Alinhamento_recursivo(X,m-1,Y,n)
8. C = δ + Alinhamento_recursivo(X,m,Y,n-1)
9. return max (A,B,C)
• A complexidade para o algoritmo alinhamento_recursivo(X,i,Y,j) baseado
na expressão recursiva é:
T(m,n) = T(m-1,n-1) + T(m,n-1) + T(m-1,n) + Θ(1)
T(m,n) ≥ 3T(m-1,n-1) + Θ(1)
T(m,n) = Ω(3min(m,n)
)
 Ordem exponencial!
3.1 Análise do algoritmo alinhamento_ recursivo
3.2 Algoritmo Utilizando Programação Dinâmica
1. Alinhamento_PD(X,Y,δ)
2. Initialize A[i,0] = i*δ for i = 0, ..., m
3. Initialize A[0,j] = j*δ for j = 1, ..., n
4. For i = 1, ..., m
5. For j = 1, ..., n
6. A[i,j] = max (αXiYj + A[i -1, j -1], δ + A[i -1, j], δ + A[i, j -1])
7. Endfor
8. Endfor
9. Return A[m,n]
 A complexidade para o algoritmo Alinhamento_PD é Θ(m*n), pois é o
tempo de preencher a matriz A.
 Este custo está expresso nas linhas 3 à 5 do algoritmo
Alinhamento_PD(X,Y,δ). As demais linhas têm tempo constante, ou
seja, Θ(1).
 O espaço ocupado é Θ(m*n), pois o tamanho da matriz é (m+1)*(n+1).
 Tempo de execução Θ(m*n)
3.3 Análise do algoritmo Alinhamento_PD(X,Y,δ)
4. Algoritmo para mostrar a solução ótima
Matches: (+1)
Mismatches: (-1)
Gaps: (-1)
Para alinhar as sequencias (traceback) começa-se na última entrada da matriz, onde está
o score, e percorre-se a matriz pelos precedentes diretos de cada célula, até a posição
inicial da matriz. As regras de alinhamento são dadas pela orientação relativa das setas:

• Diagonal: xi alinha com yi;
• Vertical: yi alinha com espaço;
• Horizontal: xi alinha com espaço.
entrada rec pd
5 0,01 0,011
10 0,086 0,011
15 406,265 0,01
16 2290,402 0,011
17 12069,45 0,012
18   0,011
19   0,01
20   0,011
• Diferentes aplicações, diferentes formas de 
solução.
• Algoritmo recursivo tem tempo exponencial.
• Programação Dinâmica oferece uma solução 
em tempo polinomial.
• T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to algorithms, 1st 
ed., The MIT Press, 1990.
• V.  Bafna,  E.  L.  Lawler,  and  P.  A.  Pevzner,  Approximation  algorithms  for 
multiple sequence alignment, Theoretical Computer Science 182 (1997), 233–
244.
• Freitas, Ana T., Alinhamento de Sequências, Guia do 2o Laboratório de 
Biologia Computacional, Outubro de 2007.
• P. Bonizzoni and G. D. Vedova, The complexity of multiple sequence 
alignment with SP-score that is a metric, Theoretical Computer Science 259 
(2001), 63–79.

Mais conteúdo relacionado

Mais procurados

Busca em largura (breadth first search)
Busca em largura (breadth first search)Busca em largura (breadth first search)
Busca em largura (breadth first search)
Rafael Coelho Silva
 
Write Python for Speed
Write Python for SpeedWrite Python for Speed
Write Python for Speed
Yung-Yu Chen
 
Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)
Ricardo Terra
 
Grafos - Uma abordagem divertida - Latinoware 2014
Grafos - Uma abordagem divertida - Latinoware 2014Grafos - Uma abordagem divertida - Latinoware 2014
Grafos - Uma abordagem divertida - Latinoware 2014
Christiano Anderson
 
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
Atlassian 대한민국
 
Servidor WEB
Servidor WEBServidor WEB
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
Cezar Souza
 
Separation of concerns - DPC12
Separation of concerns - DPC12Separation of concerns - DPC12
Separation of concerns - DPC12
Stephan Hochdörfer
 
Impact of web latency on conversion rates
Impact of web latency on conversion ratesImpact of web latency on conversion rates
Impact of web latency on conversion rates
Alistair Croll
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
종민 김
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
Marconi Rodrigues
 
Funções em C
Funções em CFunções em C
Funções em C
Pablo Silva
 
Introdução ao Prolog
Introdução ao PrologIntrodução ao Prolog
Introdução ao Prolog
Sérgio Souza Costa
 
Http4s, Doobie and Circe: The Functional Web Stack
Http4s, Doobie and Circe: The Functional Web StackHttp4s, Doobie and Circe: The Functional Web Stack
Http4s, Doobie and Circe: The Functional Web Stack
GaryCoady
 
Iteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaIteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en Java
Gaby Delgado
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
Marcos Castro
 
Árvores balanceadas - AVL
Árvores balanceadas - AVLÁrvores balanceadas - AVL
Árvores balanceadas - AVL
Sérgio Souza Costa
 
MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용
I Goo Lee
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
Bruno Grange
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
Jorge Ávila Miranda
 

Mais procurados (20)

Busca em largura (breadth first search)
Busca em largura (breadth first search)Busca em largura (breadth first search)
Busca em largura (breadth first search)
 
Write Python for Speed
Write Python for SpeedWrite Python for Speed
Write Python for Speed
 
Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)
 
Grafos - Uma abordagem divertida - Latinoware 2014
Grafos - Uma abordagem divertida - Latinoware 2014Grafos - Uma abordagem divertida - Latinoware 2014
Grafos - Uma abordagem divertida - Latinoware 2014
 
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
 
Servidor WEB
Servidor WEBServidor WEB
Servidor WEB
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Separation of concerns - DPC12
Separation of concerns - DPC12Separation of concerns - DPC12
Separation of concerns - DPC12
 
Impact of web latency on conversion rates
Impact of web latency on conversion ratesImpact of web latency on conversion rates
Impact of web latency on conversion rates
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
Funções em C
Funções em CFunções em C
Funções em C
 
Introdução ao Prolog
Introdução ao PrologIntrodução ao Prolog
Introdução ao Prolog
 
Http4s, Doobie and Circe: The Functional Web Stack
Http4s, Doobie and Circe: The Functional Web StackHttp4s, Doobie and Circe: The Functional Web Stack
Http4s, Doobie and Circe: The Functional Web Stack
 
Iteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaIteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en Java
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
 
Árvores balanceadas - AVL
Árvores balanceadas - AVLÁrvores balanceadas - AVL
Árvores balanceadas - AVL
 
MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 

Destaque

Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Cristiano Rafael Steffens
 
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
Cristiano Rafael Steffens
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
Cristiano Rafael Steffens
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de Emoções
Adilmar Dantas
 
Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)
Cristiano Rafael Steffens
 
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Richiely Paiva
 
Introdução OpenCV (Pt-Br) com exemplos
Introdução OpenCV (Pt-Br) com exemplosIntrodução OpenCV (Pt-Br) com exemplos
Introdução OpenCV (Pt-Br) com exemplos
Cristiano Rafael Steffens
 
Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0
André Moreira
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
Adilmar Dantas
 

Destaque (9)

Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
Um sistema de detecção de chamas utilizando RF e SVM (Short Version)
 
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
MODELAGEM DAS DINÂMICAS DA FORMAÇÃO DA GOTA E TRANSFERÊNCIA DE MASSA EM PROCE...
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de Emoções
 
Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)
 
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
 
Introdução OpenCV (Pt-Br) com exemplos
Introdução OpenCV (Pt-Br) com exemplosIntrodução OpenCV (Pt-Br) com exemplos
Introdução OpenCV (Pt-Br) com exemplos
 
Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
 

Semelhante a Alinhamento de Sequencia DNA

Ex algebra (14)
Ex algebra  (14)Ex algebra  (14)
Ex algebra (14)
Andrei Bastos
 
Aula 1 fic
Aula 1   ficAula 1   fic
Aula 1 fic
BUIAR
 
Aula 1 fic
Aula 1   ficAula 1   fic
Aula 1 fic
BUIAR
 
Equação de Recorrência - I (Otimização)
Equação de Recorrência - I (Otimização)Equação de Recorrência - I (Otimização)
Equação de Recorrência - I (Otimização)
Jedson Guedes
 
Tadeu
TadeuTadeu
Tadeu
diegomd51
 
Gabarito pa
Gabarito paGabarito pa
Gabarito pa
resolvidos
 
Matrizes-57559627dd3f9d98.pptxxxxxxxxxxxx
Matrizes-57559627dd3f9d98.pptxxxxxxxxxxxxMatrizes-57559627dd3f9d98.pptxxxxxxxxxxxx
Matrizes-57559627dd3f9d98.pptxxxxxxxxxxxx
bernardoalmeidasanto
 
Capítulo4 interpolação
Capítulo4 interpolaçãoCapítulo4 interpolação
Capítulo4 interpolação
JADSON SANTOS
 
Pa E Pg Feito Por Min
Pa E Pg Feito Por MinPa E Pg Feito Por Min
Pa E Pg Feito Por Min
Antonio Carneiro
 
Pa E Pg Feito Por Min
Pa E Pg Feito Por MinPa E Pg Feito Por Min
Pa E Pg Feito Por Min
Antonio Carneiro
 
Pa E Pg Feito Por Min
Pa E Pg Feito Por MinPa E Pg Feito Por Min
Pa E Pg Feito Por Min
Antonio Carneiro
 
Bloco 04 - Sequência ou Sucessão de .pdf
Bloco 04 - Sequência ou Sucessão de .pdfBloco 04 - Sequência ou Sucessão de .pdf
Bloco 04 - Sequência ou Sucessão de .pdf
luismineiro
 
Progressões
ProgressõesProgressões
Progressões
Romulo Garcia
 
Dp lista matematica 1º 2013
Dp lista matematica 1º 2013Dp lista matematica 1º 2013
Dp lista matematica 1º 2013
escolamelloayres
 
Dp lista matematica 1º 2013
Dp lista matematica 1º 2013Dp lista matematica 1º 2013
Dp lista matematica 1º 2013
melloayres
 
euclides primos
euclides primoseuclides primos
euclides primos
IsraelMendes25
 
Módulo 01 - 9 ano- Matemática / Ens.Fundamental
Módulo 01 - 9 ano- Matemática  / Ens.FundamentalMódulo 01 - 9 ano- Matemática  / Ens.Fundamental
Módulo 01 - 9 ano- Matemática / Ens.Fundamental
Adriana De Moraes
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
rodolfoeyalana
 
Aula 1 a 15 vol1
Aula 1 a 15 vol1Aula 1 a 15 vol1
Aula 1 a 15 vol1
Claudio IPQM da Silva
 
Algebra linear apostila i prof inacio
Algebra linear apostila i   prof inacioAlgebra linear apostila i   prof inacio
Algebra linear apostila i prof inacio
Eng Amb
 

Semelhante a Alinhamento de Sequencia DNA (20)

Ex algebra (14)
Ex algebra  (14)Ex algebra  (14)
Ex algebra (14)
 
Aula 1 fic
Aula 1   ficAula 1   fic
Aula 1 fic
 
Aula 1 fic
Aula 1   ficAula 1   fic
Aula 1 fic
 
Equação de Recorrência - I (Otimização)
Equação de Recorrência - I (Otimização)Equação de Recorrência - I (Otimização)
Equação de Recorrência - I (Otimização)
 
Tadeu
TadeuTadeu
Tadeu
 
Gabarito pa
Gabarito paGabarito pa
Gabarito pa
 
Matrizes-57559627dd3f9d98.pptxxxxxxxxxxxx
Matrizes-57559627dd3f9d98.pptxxxxxxxxxxxxMatrizes-57559627dd3f9d98.pptxxxxxxxxxxxx
Matrizes-57559627dd3f9d98.pptxxxxxxxxxxxx
 
Capítulo4 interpolação
Capítulo4 interpolaçãoCapítulo4 interpolação
Capítulo4 interpolação
 
Pa E Pg Feito Por Min
Pa E Pg Feito Por MinPa E Pg Feito Por Min
Pa E Pg Feito Por Min
 
Pa E Pg Feito Por Min
Pa E Pg Feito Por MinPa E Pg Feito Por Min
Pa E Pg Feito Por Min
 
Pa E Pg Feito Por Min
Pa E Pg Feito Por MinPa E Pg Feito Por Min
Pa E Pg Feito Por Min
 
Bloco 04 - Sequência ou Sucessão de .pdf
Bloco 04 - Sequência ou Sucessão de .pdfBloco 04 - Sequência ou Sucessão de .pdf
Bloco 04 - Sequência ou Sucessão de .pdf
 
Progressões
ProgressõesProgressões
Progressões
 
Dp lista matematica 1º 2013
Dp lista matematica 1º 2013Dp lista matematica 1º 2013
Dp lista matematica 1º 2013
 
Dp lista matematica 1º 2013
Dp lista matematica 1º 2013Dp lista matematica 1º 2013
Dp lista matematica 1º 2013
 
euclides primos
euclides primoseuclides primos
euclides primos
 
Módulo 01 - 9 ano- Matemática / Ens.Fundamental
Módulo 01 - 9 ano- Matemática  / Ens.FundamentalMódulo 01 - 9 ano- Matemática  / Ens.Fundamental
Módulo 01 - 9 ano- Matemática / Ens.Fundamental
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
Aula 1 a 15 vol1
Aula 1 a 15 vol1Aula 1 a 15 vol1
Aula 1 a 15 vol1
 
Algebra linear apostila i prof inacio
Algebra linear apostila i   prof inacioAlgebra linear apostila i   prof inacio
Algebra linear apostila i prof inacio
 

Mais de Adilmar Dantas

Querying nosql stores
Querying nosql storesQuerying nosql stores
Querying nosql stores
Adilmar Dantas
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1
Adilmar Dantas
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and Conquer
Adilmar Dantas
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Adilmar Dantas
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
Adilmar Dantas
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
Adilmar Dantas
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
Adilmar Dantas
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de Faces
Adilmar Dantas
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
Adilmar Dantas
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
Adilmar Dantas
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufu
Adilmar Dantas
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino
Adilmar Dantas
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
Adilmar Dantas
 
Servidores Web
Servidores WebServidores Web
Servidores Web
Adilmar Dantas
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação Remota
Adilmar Dantas
 
Weblab TCC
Weblab TCCWeblab TCC
Weblab TCC
Adilmar Dantas
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
Adilmar Dantas
 
Qualidade de Software Web
Qualidade de Software WebQualidade de Software Web
Qualidade de Software Web
Adilmar Dantas
 
Compilador analise lexica
Compilador analise lexicaCompilador analise lexica
Compilador analise lexica
Adilmar Dantas
 
Software Quality Software Testing Laboratory
Software Quality Software Testing Laboratory Software Quality Software Testing Laboratory
Software Quality Software Testing Laboratory
Adilmar Dantas
 

Mais de Adilmar Dantas (20)

Querying nosql stores
Querying nosql storesQuerying nosql stores
Querying nosql stores
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and Conquer
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de Faces
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufu
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
 
Servidores Web
Servidores WebServidores Web
Servidores Web
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação Remota
 
Weblab TCC
Weblab TCCWeblab TCC
Weblab TCC
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 
Qualidade de Software Web
Qualidade de Software WebQualidade de Software Web
Qualidade de Software Web
 
Compilador analise lexica
Compilador analise lexicaCompilador analise lexica
Compilador analise lexica
 
Software Quality Software Testing Laboratory
Software Quality Software Testing Laboratory Software Quality Software Testing Laboratory
Software Quality Software Testing Laboratory
 

Último

Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
anpproferick
 
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Annelise Gripp
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
tnrlucas
 
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptxREDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
IranyGarcia
 
PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
anpproferick
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
Rafael Santos
 

Último (6)

Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
 
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
 
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptxREDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
 
PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
 

Alinhamento de Sequencia DNA

  • 1.
  • 2. Comparar sequências  Recuperação de Informação: dada uma chave, buscar em um dicionário por palavras que se assemelham à chave.  Biologia Molecular: dadas duas sequências de DNA, identificar se são semelhantes.  Para que serve?
  • 3.  Por que alinhamos sequências ? Comparar genes de DNA Estudar a estrutura de proteínas  Estudar evolução molecular Detecção de doenças, vírus, etc.
  • 4. Um alinhamento de duas sequências de caracteres α e β é obtido inserindo-se espaços (gaps) nas sequências e então colocando-se uma sobre a outra de modo que cada caractere ou espaço esteja emparelhado a um único caractere (ou a um espaço) da outra cadeia. • Exemplo: • Sequências: • α = AAACTGCACAATCTTAATGCCCTTTTAT • β = GCGGATCAACTTATTCCATCTCTT • Alinhamento: • α′ = AAACTGCA-CAATCTTAATGCC--CTTTTAT • β ′ =--GC-GGATCAA-CTT-ATTCCATCTCTT--
  • 5.
  • 6. Ex: match +1 (good) mismatch -1 (bad) gap -2 (worse) G A - C G G A T T A G G A T C G G A A T A G score = 9 ·1+ 1·(-1) + 1·(-2) = 6 O score que é a soma dos valores associados a cada posição, de acordo com o grau de similaridade entre os elementos correspondentes.  Cálculo do Score
  • 7. Problema: Alinhamento de duas cadeias de caracteres. Entrada: Duas cadeias de caracteres Saída: O alinhamento ideal das cadeias, possivelmente incluindo as lacunas “gap’s”.
  • 8. 1. Subestrutura Ótima Sendo assim, há três alternativas possíveis para resolver o problema: i) (m, n) M∈ ii) a m-ésima posição de X M∉ iii) a n-ésima posiçao de Y M∉ Caso ocorra o caso (i), teremos OPT(m, n) = αXmYn + OPT(m -1, n -1). Caso ocorra o caso (ii), teremos que “pagar” o custo de um intervalo desde a m- ésima posição de X que não foi encontrada e alinhar X1, X2, ..., Xm-1 bem como Y1, Y2, ..., Yn. Deste modo teremos: OPT(m, n) = δ + OPT(m -1, n). Caso ocorra o caso (iii), será semelhante ao caso (ii), porém: OPT(m, n) = δ + OPT(m, n -1).
  • 9. 2. Expressão Recursiva i *δ se j=0 j *δ se i=0 OPT(i,j) MAX [αXiYj + OPT(i -1, j -1), δ + OPT(i -1, j), δ + OPT(i, j -1)] δ – gap (custo pelo espaço) αXiYj – custo de emparelhar Xi e Yj
  • 10. 3. Algoritmo utilizando a força bruta (RECURSIVO) 1. Alinhamento_recursivo(X,m,Y,n) 2. If m = 0 3. then return n*δ 4. If n = 0 5. then return m*δ 6. A = αXiYj + Alinhamento_recursivo(X,m-1,Y,n-1) 7. B = δ + Alinhamento_recursivo(X,m-1,Y,n) 8. C = δ + Alinhamento_recursivo(X,m,Y,n-1) 9. return max (A,B,C)
  • 11. • A complexidade para o algoritmo alinhamento_recursivo(X,i,Y,j) baseado na expressão recursiva é: T(m,n) = T(m-1,n-1) + T(m,n-1) + T(m-1,n) + Θ(1) T(m,n) ≥ 3T(m-1,n-1) + Θ(1) T(m,n) = Ω(3min(m,n) )  Ordem exponencial! 3.1 Análise do algoritmo alinhamento_ recursivo
  • 12. 3.2 Algoritmo Utilizando Programação Dinâmica 1. Alinhamento_PD(X,Y,δ) 2. Initialize A[i,0] = i*δ for i = 0, ..., m 3. Initialize A[0,j] = j*δ for j = 1, ..., n 4. For i = 1, ..., m 5. For j = 1, ..., n 6. A[i,j] = max (αXiYj + A[i -1, j -1], δ + A[i -1, j], δ + A[i, j -1]) 7. Endfor 8. Endfor 9. Return A[m,n]
  • 13.  A complexidade para o algoritmo Alinhamento_PD é Θ(m*n), pois é o tempo de preencher a matriz A.  Este custo está expresso nas linhas 3 à 5 do algoritmo Alinhamento_PD(X,Y,δ). As demais linhas têm tempo constante, ou seja, Θ(1).  O espaço ocupado é Θ(m*n), pois o tamanho da matriz é (m+1)*(n+1).  Tempo de execução Θ(m*n) 3.3 Análise do algoritmo Alinhamento_PD(X,Y,δ)
  • 14. 4. Algoritmo para mostrar a solução ótima
  • 15. Matches: (+1) Mismatches: (-1) Gaps: (-1) Para alinhar as sequencias (traceback) começa-se na última entrada da matriz, onde está o score, e percorre-se a matriz pelos precedentes diretos de cada célula, até a posição inicial da matriz. As regras de alinhamento são dadas pela orientação relativa das setas:  • Diagonal: xi alinha com yi; • Vertical: yi alinha com espaço; • Horizontal: xi alinha com espaço.
  • 16.
  • 17. entrada rec pd 5 0,01 0,011 10 0,086 0,011 15 406,265 0,01 16 2290,402 0,011 17 12069,45 0,012 18   0,011 19   0,01 20   0,011
  • 19. • T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to algorithms, 1st  ed., The MIT Press, 1990. • V.  Bafna,  E.  L.  Lawler,  and  P.  A.  Pevzner,  Approximation  algorithms  for  multiple sequence alignment, Theoretical Computer Science 182 (1997), 233– 244. • Freitas, Ana T., Alinhamento de Sequências, Guia do 2o Laboratório de  Biologia Computacional, Outubro de 2007. • P. Bonizzoni and G. D. Vedova, The complexity of multiple sequence  alignment with SP-score that is a metric, Theoretical Computer Science 259  (2001), 63–79.