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

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

Intr. à Biologia Computacional

Apresentações semelhantes


Apresentação em tema: "Intr. à Biologia Computacional"— Transcrição da apresentação:

1 Intr. à Biologia Computacional
GAP PENALTY FUNCTIONS

2 Definição de gap Gap é a ocorrência de um número
k > 0 de espaços consecutivos. Quando mutações estão envolvidas, a ocorrência de um gap com k espaços é mais provável do que a ocorrência de k espaços isolados. set/00

3 Penalidade por um gap Até agora nós não fizemos distinção
entre espaços juntos ou isolados. Isso significa que um gap é penalizado por uma função linear, ou seja, a penalidade associada a um gap com k espaços é: w(k) = |g|  k set/00

4 Penalidade por um gap Para computar a similaridade com
general gap penalty functions, vamos precisar gastar mais tempo, pois o es- quema de computação não é aditivo: não podemos quebrar um alinhamento em duas partes e esperar que o score total seja a soma dos scores parciais. set/00

5 Block Boundaries Para manter o alinhamento aditivo,
ao invés de alinharmos caracteres, vamos quebrar o alinhamento em block boundaries, ou seja, blocos de alinhamentos como segue: s: A | A | C | | A | G | AC t: A | T | C | TAT | C | G | - - set/00

6 Há três tipos de blocos t: A | T | C | TAT | C | G | - -
1. Dois caracteres de  alinhados. 2. Uma série maximal de caracteres conse- cutivos de t alinhados com espaços em s. 3. Uma série maximal de caracteres conse- cutivos de s alinhados com espaços em t. s: A | A | C | | A | G | AC t: A | T | C | TAT | C | G | - - set/00

7 Score de um Alinhamento
Blocos na categoria (1) recebem score p(a, b), onde a e b são os caracteres alinhados. Blocos nas categorias (2) e (3) recebem score - w(k), onde k é o comprimento do bloco. set/00

8 Mudanças no Algoritmo Original
Para manter o alinhamento aditivo, ao invés pensarmos na última coluna do alinhamento, pensaremos no último bloco. Além disso, blocos do tipo (2) e (3) não podem seguir outro bloco do mesmo tipo. set/00

9 Mudanças no Algoritmo Original
Para cada par (i, j), guardaremos o melhor score de um alinhamento entre os prefixos s[1..i] e t[1..j], que terminam em um certo tipo de bloco. Precisaremos manter três arrays (m+1)  (n+1): Array Para alinhamentos terminando em a blocos caracter-caracter b espaços em s c espaços em t set/00

10 Mudanças no Algoritmo Original
Inicializar a primeira linha e a primeira coluna da seguinte maneira: a[0, 0] = 0 b[0, j] = -w(j) c[i, 0] = -w(i) Todos os outros valores das linhas e colunas iniciais devem ser inicializados com -. set/00

11 A Nova Relação de Recorrência
{ a[i-1, j-1] b[i-1, j-1] c[i-1, j-1] a[i, j] = p[i, j] + max { a[i, j-k] - w(k), para 1  k  j c[i, j-k] - w(k), para 1  k  j b[i, j] = max { a[i-k, j] - w(k), para 1  k  i c[i-k, j] - w(k), para 1  k  i c[i, j] = max set/00

12 A Nova Relação de Recorrência
Note que as entradas dos arrays b e c dependem de mais de um valor anterior porque o ultimo bloco pode ter tamanho variavel. Para obter o valor de sim (s, t), tomamos o maior entre a[m,n], b[m,n] e c[m,n]. set/00

13 Complexidade do Novo Algoritmo
Custo deste novo algoritmo: O(mn2+m2n). Para computar a[i,j], b[i,j] e c[i,j], precisamos realizar j + 2i acessos ao array. Isso leva a um total de   (3 + 2j + 2i ) acessos para o array todo. m i=1 n j=1 set/00

14 Complexidade do Novo Algoritmo
  (3 + 2j + 2i ) = O(mn2+m2n) ?  (3 + 2j + 2i ) = 2ni + n(n+1) + 3n = 2ni + n2+ 4n  (2ni + n2+ 4n) = nm (m+1) + mn2 + 4mn = m2n + 5mn + mn2 . m i=1 n j=1 n j=1 m i=1 set/00

15 O Novo Algoritmo ... Nos permite computar qualquer gap penalty
function, mas apresenta: - Aumento considerável no tempo de execucao (Fomos de O(n2) para O(n3)) - Aumento no espaco por conta dos tres arrays. PERGUNTA: Seria possível manter o custo em O(n2) se a função fosse mais simples? set/00


Carregar ppt "Intr. à Biologia Computacional"

Apresentações semelhantes


Anúncios Google