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

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

Intr. à Biologia Computacional GAP PENALTY FUNCTIONS.

Apresentações semelhantes


Apresentação em tema: "Intr. à Biologia Computacional GAP PENALTY FUNCTIONS."— 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.

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

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.

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

6 Há três tipos de blocos 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 | - -

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.

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.

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

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

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 b[i, j] = max { a[i, j-k] - w(k), para 1 k j c[i, j-k] - w(k), para 1 k j c[i, j] = max { a[i-k, j] - w(k), para 1 k i c[i-k, j] - w(k), para 1 k i

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

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

14 Complexidade do Novo Algoritmo (3 + 2j + 2i ) = O(mn 2 +m 2 n) ? (3 + 2j + 2i ) = 2ni + n(n+1) + 3n = 2ni + n 2 + 4n (2ni + n 2 + 4n) = nm (m+1) + mn 2 + 4mn = m 2 n + 5mn + mn 2. m i=1 n j=1 n j=1 m i=1

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


Carregar ppt "Intr. à Biologia Computacional GAP PENALTY FUNCTIONS."

Apresentações semelhantes


Anúncios Google