SlideShare uma empresa Scribd logo
Alinhamento de Sequencia DNA
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--
Alinhamento de Sequencia DNA
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.
Alinhamento de Sequencia DNA
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

Urinalise - 2010
Urinalise - 2010Urinalise - 2010
Urinalise - 2010
rdgomlk
 
Imurl slides
Imurl slidesImurl slides
Imurl slides
Pelo Siro
 
Edo
EdoEdo
Edo
wvnf
 
AULA 06_INFLAMAÇÃO.pdf
AULA 06_INFLAMAÇÃO.pdfAULA 06_INFLAMAÇÃO.pdf
AULA 06_INFLAMAÇÃO.pdf
JordniaMatias2
 
gliconeogenese
gliconeogenesegliconeogenese
gliconeogenese
Daniele Rodrigues
 
Anticorpos
AnticorposAnticorpos
Anticorpos
Messias Miranda
 
ICS A46 - Imunologia Basica - Apresentação
ICS A46 - Imunologia Basica - ApresentaçãoICS A46 - Imunologia Basica - Apresentação
ICS A46 - Imunologia Basica - Apresentação
LABIMUNO UFBA
 
Metabolismo para Enfermagem Parte 2
Metabolismo para  Enfermagem Parte 2Metabolismo para  Enfermagem Parte 2
Metabolismo para Enfermagem Parte 2
Adriana Quevedo
 
Imunidade inata farmácia
Imunidade inata farmáciaImunidade inata farmácia
Imunidade inata farmácia
cassio campos conceiçao
 
Exercicios resolvidos
Exercicios resolvidosExercicios resolvidos
Exercicios resolvidos
Brunna Vilar
 
Aula 14 Biomedicina
Aula 14 BiomedicinaAula 14 Biomedicina
Aula 14 Biomedicina
Caio Maximino
 
Mecanismo de sinapses
Mecanismo de sinapsesMecanismo de sinapses
Mecanismo de sinapses
James Linneker Cartaxo
 
Antigenos e Anticorpos
Antigenos e AnticorposAntigenos e Anticorpos
Antigenos e Anticorpos
LABIMUNO UFBA
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos
HAROLDO MIRANDA DA COSTA JR
 
Celulas do sistema imunológico[1]
Celulas do sistema imunológico[1]Celulas do sistema imunológico[1]
Celulas do sistema imunológico[1]
Gildo Crispim
 
Aula 3 Medicina
Aula 3 MedicinaAula 3 Medicina
Aula 3 Medicina
Caio Maximino
 
Receptores
ReceptoresReceptores
Receptores
Jose Carlos
 
Estrutura e funções dos anticorpos para alunos
Estrutura e funções dos anticorpos para alunosEstrutura e funções dos anticorpos para alunos
Estrutura e funções dos anticorpos para alunos
Gildo Crispim
 
Aula: Leucemia Mieloide Crônica
Aula: Leucemia Mieloide CrônicaAula: Leucemia Mieloide Crônica
Aula: Leucemia Mieloide Crônica
Conceição Áquila
 
Aula 2 - transmissão digital: Modulação e Multiplexação
Aula 2 -  transmissão digital: Modulação e MultiplexaçãoAula 2 -  transmissão digital: Modulação e Multiplexação
Aula 2 - transmissão digital: Modulação e Multiplexação
Leandro Sausen
 

Mais procurados (20)

Urinalise - 2010
Urinalise - 2010Urinalise - 2010
Urinalise - 2010
 
Imurl slides
Imurl slidesImurl slides
Imurl slides
 
Edo
EdoEdo
Edo
 
AULA 06_INFLAMAÇÃO.pdf
AULA 06_INFLAMAÇÃO.pdfAULA 06_INFLAMAÇÃO.pdf
AULA 06_INFLAMAÇÃO.pdf
 
gliconeogenese
gliconeogenesegliconeogenese
gliconeogenese
 
Anticorpos
AnticorposAnticorpos
Anticorpos
 
ICS A46 - Imunologia Basica - Apresentação
ICS A46 - Imunologia Basica - ApresentaçãoICS A46 - Imunologia Basica - Apresentação
ICS A46 - Imunologia Basica - Apresentação
 
Metabolismo para Enfermagem Parte 2
Metabolismo para  Enfermagem Parte 2Metabolismo para  Enfermagem Parte 2
Metabolismo para Enfermagem Parte 2
 
Imunidade inata farmácia
Imunidade inata farmáciaImunidade inata farmácia
Imunidade inata farmácia
 
Exercicios resolvidos
Exercicios resolvidosExercicios resolvidos
Exercicios resolvidos
 
Aula 14 Biomedicina
Aula 14 BiomedicinaAula 14 Biomedicina
Aula 14 Biomedicina
 
Mecanismo de sinapses
Mecanismo de sinapsesMecanismo de sinapses
Mecanismo de sinapses
 
Antigenos e Anticorpos
Antigenos e AnticorposAntigenos e Anticorpos
Antigenos e Anticorpos
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos
 
Celulas do sistema imunológico[1]
Celulas do sistema imunológico[1]Celulas do sistema imunológico[1]
Celulas do sistema imunológico[1]
 
Aula 3 Medicina
Aula 3 MedicinaAula 3 Medicina
Aula 3 Medicina
 
Receptores
ReceptoresReceptores
Receptores
 
Estrutura e funções dos anticorpos para alunos
Estrutura e funções dos anticorpos para alunosEstrutura e funções dos anticorpos para alunos
Estrutura e funções dos anticorpos para alunos
 
Aula: Leucemia Mieloide Crônica
Aula: Leucemia Mieloide CrônicaAula: Leucemia Mieloide Crônica
Aula: Leucemia Mieloide Crônica
 
Aula 2 - transmissão digital: Modulação e Multiplexação
Aula 2 -  transmissão digital: Modulação e MultiplexaçãoAula 2 -  transmissão digital: Modulação e Multiplexação
Aula 2 - transmissão digital: Modulação e Multiplexação
 

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
 

Alinhamento de Sequencia DNA

  • 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--
  • 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.
  • 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.