A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Alinhamento de Cadeias de DNA COMPARAÇÃO DE SEQÜÊNCIAS

Apresentações semelhantes


Apresentação em tema: "Alinhamento de Cadeias de DNA COMPARAÇÃO DE SEQÜÊNCIAS"— Transcrição da apresentação:

1 Alinhamento de Cadeias de DNA COMPARAÇÃO DE SEQÜÊNCIAS
Katia Guimarães

2 Montagem de Fragmentos de DNA

3 Montagem de Fragmentos de DNA

4 Montagem de Fragmentos de DNA

5 Programação Dinâmica Metodologia para resolver problemas que consiste
na construção de uma tabela contendo soluções de subproblemas de tamanho crescente. Exemplo clássico: Fatorial

6 Fatorial Abordagem Recursiva function fatorial (n:integer):integer
if n > 1 then fatorial:=n * fatorial(n-1) else fatorial:= 1 Implicações desta abordagem em termos de custo?

7 Fatorial - Abordagem Recursiva
function fat (n:integer):integer if n > 1 then fat := n * fat (n-1) else fat := 1 Muitas chamadas recursivas desnecessárias: ... Fat(1) Fat(10) Fat(9) Fat(8)

8 Fatorial - Abordagem Iterativa
function fat (n:integer):integer i := 1; fat := 1; while i < n do { i := i+1; fat := fat * i } ... 1 2 6 24 120 720

9 Fibonacci - Abordagem Recursiva
Function fib (integer n): integer if (n ≤ 2) then return (1) else return (fib(n-1) + fib(n-2)) Implicações desta abordagem em termos de custo?

10 Fibonacci - Abordagem Recursiva
/ \ F(4) F(3) / \ / \ F(3) F(2) F(2) F(1) / \ F(2) F(1)

11 Fibonacci - Abordagem Iterativa
Function fib (integer n) int a = 1, b = 1, c; for (int i = 3; i ≤ n; i++) { c := a + b; a := b; b := c } return (b); ... 1 1 2 3 5 8 11

12 Alinhamento de Seqüências
Problema: Dadas duas seqüências sobre o mesmo alfabeto, com aproximadamente o mesmo tamanho, encontrar o melhor alinhamento entre estas duas seqüências.

13 Alinhamento de Seqüências
O melhor alinhamento entre duas seqüências: G A - C G G A T T A G G A T C G G A AT A G é dado por um score que é a soma dos valores associados a cada posição, de acordo com o critério pré-definido.

14 Alinhamento de Seqüências
O score que é a soma dos valores associados a cada posição, de acordo com o grau de similaridade entre os elementos correspondentes. Ex: match mismatch -1 space

15 Score de um Alinhamento
Ex: match (good) mismatch (bad) space (worse) G A - C G G A T T A G G A T C G G A AT A G score = 9 ·1+ 1·(-1) + 1·(-2) = 6

16 Programação Dinâmica Abordagem alternativa: Sejam s e t
O número de possíveis alinhamentos é exponencial no tamanho das seqüências. (Logo, não podemos experimentar todos.) Abordagem alternativa: Sejam s e t duas seqüências, com |s|=m e |t|=n, construir uma matriz (m+1) x (n+1), onde M(i, j) contém a similaridade entre s[1..i] e t[1..j].

17 Programação Dinâmica G A T C A AT G
Esta é uma abordagem indutiva, onde são definidos os scores para as seqüências menores, e a partir dessas, novos scores são computados os scores de cadeias maiores. Ex: G A - C A T T G G A T C A AT G   G custa -2;   GA custa -4; G  G custa +1; G  GA custa -1;

18 Programação Dinâmica  0 -2 -4 -6 -8 -10 -12 -14 G -2 A -4 T -6 C -8
1a. linha e1a. coluna fáceis de computar:  G A C A T T G G A T C A A T G

19 Programação Dinâmica Dado que eu sei computar os scores dos
melhores alinhamentos entre prefixos de s e t com tamanhos menores que i e j, respectivamente, como eu posso calcular o melhor alinhamento de s[1..i] com t[1..j]?

20 Programação Dinâmica Um passo pode ser I (inserção), R (remoção),
O score do melhor alinhamento será calculado em função do último passo de uma transformação de s[1..i] em t[1..j]. Um passo pode ser I (inserção), R (remoção), S (substituição) ou M (match)

21 Programação Dinâmica 1. Se do último passo for I (inserção):
Ex: G A G C A T T C G A - C A A T C G Solução: Alinhe s[1..i] com t[1..j-1] e case um espaço com t[j]. i s: G A G C A T T C t: G A - C A A T C G j-1 j

22 Programação Dinâmica 2. Se do último passo for M (match)
ou S (substituição): Solução: Alinhe s[1..i-1] com t[1..j-1] e case s[i] com t[j]. i-1 i s: G A G C A T T C t: G A - C A A T C j-1 j

23 Programação Dinâmica 3. Se do último passo for R (remoção):
Solução: Alinhe s[1..i-1] com t[1..j] e case s[i] com um espaço. i-1 i s: G A G C A T T C G t: G A - C A A T C j-1 j

24 Programação Dinâmica M (i, j) = max M (i, j-1) - 2 (último passo = I)
M (i-1, j-1) + p(i,j) (último passo = S/M) M (i-1, j) (último passo =R)


Carregar ppt "Alinhamento de Cadeias de DNA COMPARAÇÃO DE SEQÜÊNCIAS"

Apresentações semelhantes


Anúncios Google