Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.