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

PDF
Лекция 1: Введение в алгоритмы
PDF
Análise de Algoritmos - Programação Dinâmica
PPTX
Top down and botttom up Parsing
PDF
boolean_algebra.pdf for discrete mathematics
PDF
PPS Arrays Matrix operations
PDF
07.2 Holland's Genetic Algorithms Schema Theorem
PPT
Prolog 01
PDF
Лекция 11: Методы разработки алгоритмов
Лекция 1: Введение в алгоритмы
Análise de Algoritmos - Programação Dinâmica
Top down and botttom up Parsing
boolean_algebra.pdf for discrete mathematics
PPS Arrays Matrix operations
07.2 Holland's Genetic Algorithms Schema Theorem
Prolog 01
Лекция 11: Методы разработки алгоритмов

Mais procurados (20)

PDF
סיכום בלוגיקה
PPTX
Longest Common Subsequence
PPTX
BDI - Aula 09 - SQL e Algebra Relacional
PDF
Função par ou ímpar
PPTX
Smart pointers
DOC
θεματα προσομοιωσης αλγεβρα β λυκειου
DOC
Unit 2 in daa
DOCX
Entenda o ciclo de vida das entidades jpa
PDF
Лекция 2. Алгоритмы сортировки
PPTX
Automata theory -Conversion of ε nfa to nfa
PPT
Finite automata
PDF
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
PPT
Notes DATA STRUCTURE - queue
ODP
Regular Expression
PDF
Σημειώσεις στις Σειρές
PDF
Contravariant functors in scala
KEY
Test-Driven Development of Xtext DSLs
PDF
ΛΟΓΑΡΙΘΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ .pdf
PDF
Complex numbers 1
סיכום בלוגיקה
Longest Common Subsequence
BDI - Aula 09 - SQL e Algebra Relacional
Função par ou ímpar
Smart pointers
θεματα προσομοιωσης αλγεβρα β λυκειου
Unit 2 in daa
Entenda o ciclo de vida das entidades jpa
Лекция 2. Алгоритмы сортировки
Automata theory -Conversion of ε nfa to nfa
Finite automata
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
Notes DATA STRUCTURE - queue
Regular Expression
Σημειώσεις στις Σειρές
Contravariant functors in scala
Test-Driven Development of Xtext DSLs
ΛΟΓΑΡΙΘΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ .pdf
Complex numbers 1
Anúncio

Destaque (9)

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

Semelhante a Alinhamento de Sequencia DNA (20)

PDF
Ex algebra (14)
DOCX
Aula 1 fic
DOCX
Aula 1 fic
PDF
Equação de Recorrência - I (Otimização)
PPT
Tadeu
DOC
Gabarito pa
PDF
Matrizes e Operações Matriciais
PPTX
Matrizes-57559627dd3f9d98.pptxxxxxxxxxxxx
PPT
sequencias geometricas e aritmeticassequencias-pa-pg.ppt
PDF
Capítulo4 interpolação
PPT
Matemática do ensino básicosequencias-pa-pg.ppt
PPT
Pa E Pg Feito Por Min
PPT
Pa E Pg Feito Por Min
PPT
Pa E Pg Feito Por Min
PDF
Bloco 04 - Sequência ou Sucessão de .pdf
PDF
Progressões
PDF
Conjuntos.pdf ciencia da computaçao matematica
PDF
Dp lista matematica 1º 2013
PDF
Dp lista matematica 1º 2013
PDF
euclides primos
Ex algebra (14)
Aula 1 fic
Aula 1 fic
Equação de Recorrência - I (Otimização)
Tadeu
Gabarito pa
Matrizes e Operações Matriciais
Matrizes-57559627dd3f9d98.pptxxxxxxxxxxxx
sequencias geometricas e aritmeticassequencias-pa-pg.ppt
Capítulo4 interpolação
Matemática do ensino básicosequencias-pa-pg.ppt
Pa E Pg Feito Por Min
Pa E Pg Feito Por Min
Pa E Pg Feito Por Min
Bloco 04 - Sequência ou Sucessão de .pdf
Progressões
Conjuntos.pdf ciencia da computaçao matematica
Dp lista matematica 1º 2013
Dp lista matematica 1º 2013
euclides primos

Mais de Adilmar Dantas (20)

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

Último (11)

PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Utilizando code blockes por andre backes
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Manejo integrado de pragas na cultura do algodão
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Jira Software projetos completos com scrum
PPT
Conceitos básicos de Redes Neurais Artificiais
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Eng. Software - pontos essenciais para o início
Tipos de servidor em redes de computador.pptx
Viasol Energia Solar -Soluções para geração e economia de energia
Utilizando code blockes por andre backes
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Manejo integrado de pragas na cultura do algodão
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Jira Software projetos completos com scrum
Conceitos básicos de Redes Neurais Artificiais

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.