• Nenhum resultado encontrado

Caminho ´ Otimo e Proje¸ c˜ oes de Alinhamentos

No documento Alinhamento de Seq¨uˆencias Biol´ogicas (páginas 79-84)

2.5 M´ etodo de Carrillo-Lipman

2.5.3 Caminho ´ Otimo e Proje¸ c˜ oes de Alinhamentos

Antes de deduzirmos f´ormulas para os limitantes dos custos que nos permitir˜ao restringir a regi˜ao de interesse no reticulado de programa¸c˜ao dinˆamica, notemos que as proje¸c˜oes de alinhamentos na dire¸c˜ao de um par de seq¨uˆencias tamb´em possui uma interpreta¸c˜ao geom´etrica.

Se s1, . . . , sks˜ao seq¨uˆencias sobre um alfabeto Σ eA´e um alinhamento livre de colunas em branco dessas seq¨uˆencias, sabemos que aA est´a associado um ´unico caminho orientado PAno reticulado de programa¸c˜ao dinˆamica e o caminho ´e uma representa¸c˜ao geom´etrica do alinhamentoA. De maneira similar, fixadas duas seq¨uˆencias, si e sj, com 1≤i < j≤k, a proje¸c˜ao A|i,j de A´e um alinhamento desi e sj e, no reticulado indexado apenas por essas seq¨uˆencias, A|i,j pode ser representada por um caminho. H´a, na realidade, uma conex˜ao entre o caminho que representaA|i,j eA: pela maneira como uma proje¸c˜aoA|i,j ´e definida a partir de um alinhamento A, ´e simples ver que o caminho de A|i,j ´e igual `a proje¸c˜ao do caminho deA na dire¸c˜ao do planoi, j.

De fato, a proje¸c˜ao A|i,j de um alinhamento A na dire¸c˜ao i, j´e definida como o alinha-mento obtido de A pela remo¸c˜ao de todas as linhas de A referentes `as seq¨uˆencias que n˜ao sejamsi ou sj e pela posterior remo¸c˜ao de colunas em branco. Lembrando-nos de que cada caminho orientado pode ser representado como uma seq¨uˆencia de v´ertices, temos que a pro-je¸c˜ao de um v´ertice v = (v1, . . . , vi, . . . , vj, . . . , vk) na dire¸c˜ao i, j ´e igual a v|i,j = (vi, vj) e este v´ertice, por sua vez, pode ser identificado com o v´ertice (0, . . . ,0, vi,0, . . . ,0, vj,0, . . . ,0) do reticulado de programa¸c˜ao dinˆamica em que constam todas as seq¨uˆencias, isto ´e, o ca-minho associado a uma proje¸c˜ao do alinhamentoAna dire¸c˜ao da seq¨uˆenciassi esj ´e igual

`

a proje¸c˜ao do caminho associado aAna dire¸c˜ao do plano relativo asi e asj.

Exemplo 2.1. Sejams1 =AT,s2=AC e s3 =Ae consideremos o alinhamento A=

 AT AC A

entre essas trˆes seq¨uˆencias. O alinhamento A|2,3 ´e igual a A|2,3 = AC

A

. O caminho associado a A ´e (0,0,0) → (1,1,1) → (2,2,1) e o caminho associado a A|2,3 ´e (0,0) → (1,1)→ (2,1), que pode ser identificado com o caminho (0,0,0)→ (0,1,1) → (0,2,1) no reticulado tridimensional des1,s2 e s3 (veja Figura 2.6).

A T

(2,2,1)

A

(0,0,0)

A

C (0,2,1)

Figura 2.6: Um caminho associado ao alinhamentoAdes1,s2es3e a proje¸c˜ao do caminho na dire¸c˜ao do planos2 es3.

Sejam k≥2 um inteiro e s1, . . . , sk seq¨uˆencias sobre um alfabeto Σ. Dada uma fun¸c˜ao de pontua¸c˜ao de caracteresc: (Σ0)2→Q≥0, fixemos a fun¸c˜ao de pontua¸c˜ao de coluna SPc, dada pela F´ormula (2.1). Para simplificar a nota¸c˜ao, freq¨uentemente deixaremos a fun¸c˜ao c subentendida, escrevendo apenas SP.

Em nossa discuss˜ao, se se t s˜ao duas seq¨uˆencias, c(s, t) ´e o custo de um alinhamento

´

otimo entre essas duas seq¨uˆencias (i.e., o custo de alinhamento ´otimo do par de seq¨uˆencias).

Seja A um alinhamento qualquer de s1, . . . , sk e seja A um alinhamento ´otimo dessas seq¨uˆencias. Por defini¸c˜ao, como A ´e ´otimo, temos que SP(A) ≤ SP(A) e, pela

Proposi-¸

c˜ao 2.1, isso significa que P

i<jc(A|i,j) ≤ P

i<jc(A|i,j), onde A|i,j denota a 2-proje¸c˜ao do alinhamentoA na dire¸c˜ao das seq¨uˆencias si e sj.

Infelizmente, conforme ilustrado pela Figura 2.2, o fato deA ser ´otimo n˜ao significa que c(A|i,j) =c(si, sj) para todo par de seq¨uˆencias si,sj, uma vez que podemos ter c(A|i,j)>

c(si, sj). O m´aximo que se pode afirmar ´e quec(si, sj)≤c(A|i,j), pois nenhum alinhamento de si e sj pode ter custo menor do que c(si, sj).

Mas nem mesmo ´e poss´ıvel afirmar quec(A|i,j)≤c(A|i,j), porque a desigualdade pode n˜ao valer para todo par de seq¨uˆencias. ´E poss´ıvel que ocorra que c(A|i,j) < c(A|i,j), isto

´

e, que a proje¸c˜ao de A na dire¸c˜ao de si e sj seja melhor do que a proje¸c˜ao de A nessa dire¸c˜ao. Naturalmente, pela forma como a fun¸c˜ao SP ´e definida, n˜ao ´e poss´ıvel queA seja

2.5 M´etodo de Carrillo-Lipman 63

melhor do que A em todas as dire¸c˜oes, pois, nesse caso,A teria pontua¸c˜ao maior do que a de A e, com isso, A n˜ao seria um alinhamento ´otimo. Decorre disso o fato de que se alguma proje¸c˜ao deA for melhor do que a proje¸c˜ao deA naquela dire¸c˜ao, ent˜ao os custos das demais proje¸c˜oes de A ser˜ao, no todo, menores do que os custos das proje¸c˜oes de A, uma “compensa¸c˜ao” devido `a hip´otese de que SP(A)≤SP(A).

A discuss˜ao dos par´agrafos acima significa, intuitivamente, que embora o custo de um alinhamento ´otimo A em alguma proje¸c˜ao possa n˜ao ser ´otimo, este custo n˜ao pode estar

“muito longe” do custo de uma proje¸c˜ao de um alinhamentoAque seja melhor nessa dire¸c˜ao.

Sejamsetduas seq¨uˆencias quaisquer. Denotamos por melhors,t(i, j) o custo do melhor alinhamento de se tque tenha (i, j) como corte, isto ´e,

melhor

s,t (i, j) = min{c(A) :A∈ As,t e A possui o corte (i, j)}, ondeAs,t ´e o conjunto dos alinhamentos entre se t.

A id´eia-chave do m´etodo de Carrillo-Lipman ´e estimar um limite superior digamos,Ui,j, para cada custo c(A|i,j) (sendo que, naturalmente, c(A|i,j) ´e desconhecido). Se o caminho P associado aA passa pelo v´erticev= (v1, . . . , vk), ent˜ao a proje¸c˜aoP|i,j deste caminho na dire¸c˜ao de si e sj passa pelo v´ertice (vi, vj).

Similarmente, seA ´e um alinhamento qualquer entre ask seq¨uˆencias e o caminho de A passa porv= (v1, . . . , vk), sua proje¸c˜ao na dire¸c˜ao desi esj passa por (vi, vj).

Se soubermos que, dentre os caminhos que passam por (vi, vj), o de menor custo tiver custo maior do que o limite superior Ui,j estimado para c(A|i,j), ent˜ao sabemos que a proje¸c˜aoP|i,j n˜ao passa por (vi, vj), o que significa queP n˜ao passa por nenhum v´ertice do reticulado cujai-´esima coordenada sejavie cujaj-´esima coordenada sejavj. As entradas da matriz de programa¸c˜ao dinˆamica correspondentes a esses v´ertices n˜ao precisam, portanto, de serem calculadas para determinar o alinhamento ´otimo.

A determina¸c˜ao de melhors,t(i, j) ´e relativamente simples. SejaB um alinhamento ´otimo de s e t que passe por (i, j). Por um argumento similar ao usado na Se¸c˜ao 1.5.3 sobre a Propriedade das Subsolu¸c˜oes ´Otimas do Problema APS, podemos ver que seB = (B0 :B00), com B0 =

s[1. .i]

t[1. .j]

e B00 =

s[i+1. .m]

t[j+1. .n]

, ent˜ao B0 ´e um alinhamento ´otimo entres[1 . .i]

e t[1 . .j] e B00 ´e um alinhamento ´otimo entre o restante dessas seq¨uˆencias8. Ademais, o custo de B0 pode ser facilmente calculado por uma chamada `a fun¸c˜ao Dist definida no Cap´ıtulo 1 e o custo de B00 pode ser calculado por uma chamada a Dist-Rev. Se as,t e bs,t s˜ao respectivamente as matrizes de programa¸c˜ao dinˆamica devolvidas pelas chamadas Dist(s, t) eDist-Rev(s, t), ent˜ao melhors,t(i, j) pode ser calculado pela f´ormula

melhor

s,t (i, j) =as,t[i, j] +bs,t[i, j], (2.3) para todoie j.

Os limites superiores Ui,j podem ser calculados tamb´em de maneira simples. Para as seq¨uˆenciass1, . . . , sk, sejamA um alinhamento ´otimo eA um alinhamento qualquer. Pela defini¸c˜ao de A temos que SP(A) ≤ SP(A), de onde segue, pela Proposi¸c˜ao 2.1, que P

i<jc(A|i,j)≤P

i<jc(A|i,j).

Da´ı, para duas seq¨uˆencias fixadassp e sq, com p < q, temos que c(A|p,q) + X

(i,j)6=(p,q) i<j

c(A|i,j) ≤ c(A|p,q) + X

(i,j)6=(p,q) i<j

c(A|i,j),

8Ou seja,B possui o corte (i, j).

de onde segue que

c(A|p,q) ≤ c(A|p,q) + X

(i,j)6=(p,q) i<j

c(A|i,j)− X

(i,j)6=(p,q) i<j

c(A|i,j).

Na desigualdade acima, o lado direito da inequa¸c˜ao poderia ser usado como limitante superior para o custo de uma proje¸c˜ao de A, se n˜ao fosse pelo fato de que ele envolve os custos de outras proje¸c˜oes deA, que s˜ao desconhecidos.

Pode-se contornar essa dificuldade usando-se que c(si, sj) ≤ c(A|i,j), de onde decorre, por soma membro a membro de todas as possibilidades para a inequa¸c˜ao que

X

(i,j)6=(p,q) i<j

c(si, sj) ≤ X

(i,j)6=(p,q) i<j

c(A|i,j).

Da´ı,

− X

(i,j)6=(p,q) i<j

c(A|i,j) ≤ − X

(i,j)6=(p,q) i<j

c(si, sj)

e ent˜ao

c(A|p,q) ≤ c(A|p,q) +

 X

(i,j)6=(p,q) i<j

c(A|i,j)− X

(i,j)6=(p,q) i<j

c(A|i,j)

≤ c(A|p,q) +

 X

(i,j)6=(p,q) i<j

c(A|i,j)− X

(i,j)6=(p,q) i<j

c(si, sj)

. (2.4)

Definindo U = P

i<jc(A|i,j) e L = P

i<jc(si, sj), a desigualdade (2.4) pode ser reescrita como

c(A|p,q) ≤

c(A|p,q) + X

(i,j)6=(p,q) i<j

c(A|i,j)

 X

(i,j)6=(p,q) i<j

c(si, sj) +c(sp, sq)−c(sp, sq)

= U−L+c(sp, sq).

Se definimosC =U−L, que ´e denominada aconstante de Carrillo-Lipman para a instˆancia do problema, temos finalmente (ap´os uma mudan¸ca de ´ındices) que

c(si, sj)≤c(A|i,j)≤c(si, sj) +C, (2.5) para todo par i, j, onde c(si, sj) +C ´e o limitante superior desejado, que depende apenas do alinhamento A e dos custos de alinhamentos ´otimos entre as seq¨uˆenciass1, . . . , sk.

A inequa¸c˜ao (2.5) nos diz que embora o custo de uma 2-proje¸c˜ao de um alinhamento

´

otimo n˜ao seja m´ınimo, ele est´a no intervalo entre o m´ınimo e m´ınimo mais uma constante, o que d´a sentido `a intui¸c˜ao de que o custo das 2-proje¸c˜oes n˜ao pode “estar muito longe” do m´ınimo.

2.5 M´etodo de Carrillo-Lipman 65

Para a obten¸c˜ao do limiteCdas inequa¸c˜oes, um alinhamentoAqualquer foi usado para calcular U. Este alinhamento de s1, . . . , sk pode ser proveniente da aplica¸c˜ao de alguma heur´ıstica (como, por exemplo, os alinhamentos obtidos pelo programa Clustal9) ou de algum algoritmo de aproxima¸c˜ao (como, por exemplo, os algoritmos vistos no Cap´ıtulo 4).

O alinhamento ´otimo A obtido pelo m´etodo de Carrillo-Lipman pode ser interpretado nessas condi¸c˜oes como um “refinamento” da solu¸c˜ao Aobtida por algum outro m´etodo.

Na realidade, embora tenhamos usado um alinhamento para deduzir a inequa¸c˜ao (2.5), tudo o que ´e usado a respeito dele ´e o seu custo e o alinhamento em si n˜ao ´e utilizado al´em do c´alculo deU. Assim, o m´etodo de Carrillo-Lipman pode ser usado se dispusermos apenas de um limite superior U no custo de um alinhamento ´otimo A (i.e., um limite U tal que SP(A)≤U).

Apesar de qualquer limite superior poder ser usado no m´etodo de Carrillo-Lipman, limites superiores menores s˜ao preferidos, uma vez que a constante C fica menor e, assim, o limite superior ditado pela desigualdade (2.5) significa que mais v´ertices do reticulado de programa¸c˜ao dinˆamica podem ser descartados.

Mas ent˜ao, dado um v´ertice vdo reticulado, como decidir se v´e um v´ertice importante para calcular alinhamentos ´otimos?

Se v = (v1, . . . , vi, . . . , vj, . . . , vk) ´e um v´ertice pertencente a um caminho associado a um alinhamento ´otimo A, ent˜ao se i < j, para as seq¨uˆencias si e sj, sabemos que c(si, sj)≤melhorsi,sj(vi, vj)≤c(A|i,j)≤c(si, sj) +C, onde a primeira desigualdade segue do fato de c(si, sj) ser a melhor pontua¸c˜ao poss´ıvel de alinhamentos de si e sj, a segunda segue do fato de melhorsi,sj(vi, vj) ser a melhor pontua¸c˜ao poss´ıvel dentre os alinhamentos de si e sj que possuem o corte (vi, vj) e a terceira segue da inequa¸c˜ao (2.5). Como o par (i, j) comi < j´e gen´erico, temos que sev´e um v´ertice no caminho ´otimo entre as seq¨uˆencias da entrada, vale que melhorsi,sj(vi, vj)≤c(si, sj) +C para todas as 2-proje¸c˜oes dev.

Caso contr´ario, se houver um v´erticev para o qual existemiej tais quec(si, sj) +C <

melhorsi,sj(vi, vj), ent˜ao todos os caminhos que passam porvtˆem proje¸c˜ao na dire¸c˜ao desi e sj com custo maior do que o limite superior no custo da proje¸c˜ao do alinhamento ´otimo e, portanto, sabe-se de antem˜ao que o v´ertice v n˜ao ´e corte de nenhum alinhamento ´otimo e pode ser exclu´ıdo do c´alculo de programa¸c˜ao dinˆamica.

Isso motiva a defini¸c˜ao dev´ertice relevante.

Defini¸c˜ao 2.6 (V´ertice Relevante). Um v´ertice v = (v1, . . . , vi, . . . , vj, . . . , vk) do reti-culado de programa¸c˜ao dinˆamica ´e dito relevante para calcular um alinhamento ´otimo se, para todo pari, j com 1≤i < j≤ktivermos que melhorsi,sj(vi, vj)≤c(si, sj) +C.

Em resumo, apenas os v´ertices relevantes s˜ao aqueles que podem fazer parte de um caminho ´otimo no reticulado.

Observe-se que n˜ao h´a problemas em restringir os c´alculos aos v´ertices relevantes, uma vez que seAfor um alinhamento ´otimo des1, . . . , skeAfor um alinhamento qualquer dessas seq¨uˆencias com pontua¸c˜aoc(A) =U, ent˜ao restringir o c´alculo a um v´ertice relevantevque seja corte de um alinhamento A0 significa que melhorsi,sj(vi, vj) ≤c(A0|i,j) ≤ c(si, sj) +C para todoi < j, ou seja,

X

i<j

melhor

si,sj

(vi, vj)≤X

i<j

c(A0|i,j)≤X

i<j

s(si, sj) +X

i<j

C,

9Dispon´ıvel emhttp://www.ebi.ac.uk/clustalw/.

isto ´e,

c(A)≤C(A0)≤L+ k

2

C. (2.6)

Como aplicamos o m´etodo de Carrillo-Lipman para k≥2 seq¨uˆencias, sabemos que k2

≥1 e da´ı ´e poss´ıvel ver que o limite superior no custo dos alinhamentos que o m´etodo usa ao s´o verificar v´ertices relevantes ´e de pelo menos L+ 1C =L+ (U−L) =U, isto ´e, o limite superior conhecido no custoc(A), o que significa que o m´etodo descarta com seguran¸ca os v´ertices do reticulado (de modo que se U for realmente um limite superior no custo de um alinhamento ´otimo, ent˜ao um alinhamento ´otimo poder´a ser encontrado).

Da inequa¸c˜ao (2.6) ´e poss´ıvel ver que considerar a constante C muito grande significa que o m´etodo de Carrillo-Lipman torna-se menos restritivo em rela¸c˜ao aos alinhamentos que ele considera para encontrar o ´otimo e, portanto, o m´etodo potencialmente emprega mais tempo se C for maior.

De posse dos crit´erios para avaliar se uma entrada da matriz/v´ertice do reticulado ´e relevante para o c´alculo do alinhamento ´otimo, podemos dar alguns detalhes sobre um algoritmo que implemente o m´etodo.

No documento Alinhamento de Seq¨uˆencias Biol´ogicas (páginas 79-84)