• Nenhum resultado encontrado

USO DE PROGRAMAÇÃO DINÂMICA EM DOBRAMENTO DE RNA

N/A
N/A
Protected

Academic year: 2021

Share "USO DE PROGRAMAÇÃO DINÂMICA EM DOBRAMENTO DE RNA"

Copied!
11
0
0

Texto

(1)

USO DE PROGRAMAÇÃO

DINÂMICA

EM DOBRAMENTO

DE RNA

DYNAMIC

PROGRAMMING

USE IN RNA FOLDING

Luiz Carlos da Silva Rozante

IMES - Universidade Municipal de Ensino Superior de São Caetano do Sul Instituto de Matemática e Estatística - uSP - Universidade de São Paulo

11

DJ.DOO1.0J,J,DJ.OU10U1o01o0UOOD01.0J,O),],],oOJ.OJ.QJ.OOOJ.0010UDOJ.OOOlO),),OJ.D1.],),O],],],QJ.OUOD001010),),},D0101.0J.00010DJ.OU0010D01.Q),),01.0),),1.0),),],01.0),),00J.01.10001

1),),01.O),),OOOO),OlO),),),OOJ.01.OJ.OOO1.IJO),(I),),OO),(lDDJ.OUD1.D1.UOU1.D1.0UOOD01.0J.OUJ.oOJ.01.O),OOO1.0D1.0),],OOlDOOJ,OU01.01.),),O),),),01.D1.1.0OOO1.D1.0UJ,(01O),01.),OJ,ODl,OUO

(2)

--D

'

DJ,OOOJ.DJ,1.0l0),),),OU10],OllDOOD1.D1DUlDOl010),(I(]OlOO1.Dl1DOlOD01D1l0l0U10U1D10J,lOOOO).OlOUJ,DOJ,O],DJ,DOOlDIJ),OU0010001,01l,DJ,OU10J.U01DUOOOO\'O],IJU10D10],OlOOO),OD],O),),C01DOO],O),).OlOlOJ.],),001 1 Ar t 1

.

9O

11DJ.O),J,OOOOJ,OJ.OU1001DJ.OlOOD1D01DUOOJ.OOOJ.OU0101J,J.OJ,U01011DOOOJ.010U1001.0101D0010010],],0010D01.0110J.OlUO],],],D10UODD010101U00101010001DOlOJ.),001D001011001D100101DOODOJ.010),),1001010

1. INTRODUÇÃO

Uma molécula de RNAconsiste em uma cadeia de

nucleotídeos conectados por ligações covalentes. Cada

nucleotídeo contém um grupo fosfato, um açúcar

(ribose) e uma base. Essa molécula de RNA é um polímero e é formado pela ligação de grupos fosfato. Somente as bases diferem e elas são quatro: Adenina

(A), Citosina (C), Guanina (G) e Uracil (U).

Sob condições naturais, uma cadeia de RNA do-bra-se sobre si mesma, através da formação de

pon-tes de hidrogênio entrebases com plementares (Acom

V e C com G) e entre bases wobble (V com G). As

bases complementares formam pares de bases

está-veis, através da criação de pontes de hidrogênio en-treelas, que são ditos pares de bases de Watson-Crick.

Além disso, é possível considerar também (e

geral-mente o é) o par G-U, cuja ligação é mais fraca e que

é denominado par de base oscilante ou instável (em

inglês wobble). Os pares de bases de Watson-Crick,

juntamente com os oscilantes, são denominados

pa-res de bases canônicos.

A estrutura secundária de uma molécula de RNA é

o

conjunto de pares de bases canônicos

- ou

simplificadamente pares

de bases

-, que ocorrem na

"dobradura" natural da molécula.

1.1. Representação e conceituação matemática

Deum modo maisformal, uma molécula de RNAé

representada

como uma seqüência

de n

caracteres

R = r" r2, ...,rn,onde ri E {A, V, C, G}representa

o

i-ésimo nucleotídeo. Uma

estrutura secundária

da

molécula

- cuja noção topológica está ilustrada na

Figura 1 - é um conjunto 5 de pares de inteiros, tal que cada par (i,j) E 5, com 1 ::; i <j ::; n, satisfaz as seguintes restrições:

Restrição

1: ri e fj é um par de

base

canônico;

Restrição 2: j - i > t, onde tipicamente t= 4 ou t= 3; Restrição 3: se i < i' e (i',j'), E 5, então somente

um dos casosocorre:

Caso 2: i < j < i' <j' ; Caso 3: i < i' <j' <j.

Se (i,j) E 5 dizemos que rie fj são bases pareadas.

A

Restrição2 modela um fato da realidade biológica, observadoexperimentalmente, que consiste

na

im-possibilidade de uma molécula dobrar-se sobre si

mes-ma - em algumes-ma parte - de formes-ma pontiaguda.

A Figura 2 ilustra um exemplo onde temos t

=

4.

Os Casos 2 e 3 excluem uma configuração natural

chamadapseudo-nó.Dizemos que ocorre umpseudo-nó

quando existem Pares (r., r.), (r.", J I r.,) E 5 comJ

i < i' <j<j'. Sua exclusão simplifica o problema. Alguns

tipos de pseudo-nós foram tratados no algoritmo de Rivese Eddy, cujas complexidades de tempo e espaço são, respectivamente, O(n6)e O(n4)para uma molécula

com n

bases.

Entretanto, Lynas e Pedersen2mostraram

recentemente que o problema geral é NP-difícil. Poderíamos ser levados a conceber um algoritmo trivial que enumerasse todas as possíveis candidatas a estruturas e depois simplesmente escolhesse, en~ tre aquelas que podem ser estruturas secundárias, aquela que correspondesse à estrutura mais estável

(baseada num critério termodinâmico, por exemplo).

No entanto, o número possível de candidatas a

estru-turas é de pelo menos 2n, para seqüências de n

nucleotídeos. Isto, evidentemente, torna tal algoritmo inviável para seqüências de tamanho razoável.

tn da mi bu ou la(

2.

ini gi. te: SI M I B H P d q

Bacillussubtilis RNase P RNA ,

a dE - multiloop - interior loop - bulge loop - hairpin loop

se

se

er

~. Fi

Figura 1: Exemplo de estrutura secundária do RNAna sua representação normal. Obtida em http:// www.ibc.wustl.edu/_zuker/Bio-5495/RNAfold-html.

,

RIVASE.; EDDYS.A dynamic programming algorithm for RNAstructure prediction including pseudoknots. Journal of Molecular Biology,(285):2053-2068, 1999.

,

LYNGS R. B.; PEDERSENC. N. S. Pseudoknots in RNA secondary structUre. In Proc. 4rd InL Conf. Computational Molecular Biology (RECOMB'OO). ACM, Apr. 2000.

II

J.OOOJ.O],},01.01.),1.0),),],OJ.O),],OOOOlOlO),U00101.0J,ODOJ.00101.J.OO1000101.].01.01010),011.1.01.0),),00001010],),),001010100010010),),001.000101.10100],],),01),1.01.0],],0. ..

(3)

2. USANDO CÁLCULO DE ENERGIA LIVRE MíNIMA

Aestratégia mais difundida para se predizer a es-trutura secundária de uma molécula de RNA é basea-dano cálculo da estrutura secundária de energia livre mínima.Tal estratégia utiliza-se da idéia de se atri-buir uma energia a cada um de seus pares de bases, ou a seus elementos formadores estruturais, como laçosinternos, barrigas, arcos, hélices e multilaços3.

2.1. Algoritmo básico

Um modelo simplificado do problema, cuja idéia inicialfoi proposta por Nussinov4, supõe que as ener-giasde cada um dos pares de bases são independen-tesentre si, de maneira que a energia total da estrutura

5 pode ser escrita como

Energia(S)=

L

(i,j) E 5

a(r., r.), onde á(r., r.) < O.I i I i

Ou seja, pressupõe-se existir uma função

á

tal que

á(ri,

f)) é definida como a energia de ligação do par

de bases (r., r.).I i

Estaidéia permite-nos modelar o problema como

segue.Seja a seqüência R=rl' rz,..., rnpara a qual

de-sejamos encontrar uma estrutura secundária S de

energialivre mínima. Definimos

E(R) = min {Energia(S)},

5

onde Svaria em todas as estruturas secundárias de R.

A.

e

S

G

e G

e G

Figura 2: Umexemplo de "arco" formado com quatro (t=4) bases do tipo 'A'.

Tomando a subseqüência R.,.=r., r'i I 1+1,.,., r., 1si <i

J

' s n

paraa qual desejamos encontrar a estrutura secun-dária Si'jcorrespondente de energia livre mínima, há quatro possibilidades a serem tratadas:

1. Se ri não ébase pareada

em nenhuma

estrutu-ra de energia mínima,

então E(Ri) = E(Ri+l');

2. Se r. não é

base pareadaem nenhumaestrutu-ra de energia mínima,então E(R. .)I,)

=

E(R. .-1);'d

3. Seem alguma estrutura de energia

mínima, ri e f) são

bases

pareadas, mas não

entre

si, então

E(R.

"

)

= min

k{E(R.I,I<!) +E(Rk I+ ,j.)},para i + t < k <j - t;

4. Se f) é pareada com ri em alguma estrutura de

energia mínima, então E(R..)= E(R.I.) 1+ ,J.1./)+

a

(r, r.),I J De modo mais formal, reescrevemos então as

situa-ções (modelo) acima como

E(R.I,

) =

O, sej-ist

{

E(R.... ,i1 .),

. E(R..), caso (2)

mm mi~iI+t<k<j-t. {E(R.I,I!) +

E(R

\j k+l,j)11}' contrário.r/,

a(r,,.rr.) + E(R.1+,J-1.1)

A Expressão 2 é resolvida por programação dinâ-mica. Resolvemos esta recorrência através de um algoritmo interativo, o qual preenche uma matriz de energias E,onde cada célula E[i]lj] armazena E(R..),I,i

1si <j s n.Atribuímos E[i]lj]+- O para valores iniciais

j

-

is t. Lembremos que o parâmetro t relaciona-se à

impossibilidade da molécula dobrar-se, sobre si mes-ma, de forma demasiado pontiaguda (Figura 2 da

Se-ção 1.1). Este algoritmo é de complexidade O(n3).

Uma vez calculado E[1UnI,a computação (identifi-cação) do dobramento de energia mínima S/," é feita

através de um algoritmo rastreador (do inglês

traceback).

2.2. Incorporação de laços

Infelizmente, a abordagem citada é insuficiente

para capturar e representar algumas situações que concretamente ocorrem na definição das estruturas secundárias, pois não leva em consideração a

influ-ência que a energia de um par de bases exerce sobre

outro, notadamente os pares adjacentes; tampouco contabiliza as energias associadas a estruturas deno-minadas laços, definidos a seguir e ilustrados na Fi-gura 3.5,6,7,8

,M. Zuker and D. 5ankoff. RNAsecondary structures and their prediction. Buli. Math. Biol., (46):591-621, 1984.

.

R.Nussinov.G.Pieczenik, J. R. Griggs, and D. J. Kleitman. AI90ritms for loop matchings. SIAM). appl. Math.. (35):68-82, 1978. ,M. Zuker and D. 5ankoff. RNA secondary structures and their prediction. Buli.Math.Biol., (46):591-621. 1984.

,D. 5ankoff. 5imultaneous solution of the mRNA folding. alignment and protosequense problems. SIAMj. Appl. Math.,(5): 1-3 5, 1985.

7M. 5. Waterman and T. F. 5mith. Rapid dynamic programming algorithms for RNAsecondary structure. Advances in Applied Mathematics. (7):455-464, 1986.

· M. Zuker and C. D. H. Turner. Algorithms and thermodynamics for RNA secondary structUre prediction: A practical guide. (333):333-344, 1999.a

l'moul AnO I Q 1

.

/ ' 2 OO5 I01.0DOJ.OU01.O],],l,OJ,U010l,1.0000J,OJ,OlUOO1.0J.o),ooOJ.OOJ,OUD01.000J,oUO),O],],1.OU],01.0),),OODOJ,O),O),),),ODJoDJoDJoDDDJoDDJoDJoJoDDJoDDDJoDJoJooJoouJoDJoJoJooJoDJoJoDDJoDJoJoDoDJo

II

(4)

-Rm1

'

OJ,OOOlOJ,lD1DUJ.OJ.UOJ.OUOODOJ.01.0U1.0D1.D1.0J,OOOJ,OO1.01.1.DDJ,OOOJ.O1.1.010J.UOU1.0J.OJ.1.00001010UJ.OO1.D1.0J,DDOJ.OOJ.OUODJ.DD010),),OlDlUOU1010UOOD01DJ,D1U0010J.Ol0D01D01DUOOlOOD10UD1010U1DOJ. 1 Ar t 1

.

9O mla011. 1 U010UOOOD1010UJ.OD:LOJ,D1D0010D10UOOJ.OOOJ.O:u.010111CJ1.UOJ.OUODOOlOlOU1001010100010010J.1DOJ.DO010UDlD1UCI1.1J,OWU.OOOOl0101U00101010D01DD10U001DD0101100J,010Dl010DO0010W11J.D0101D ~.010 i

+

1. z j-1J d 9 d L

A: Laço Interno B: Laço Hélice (ou Empilhamento) C: Laço Arco

d d vi

i+k+1

r==r

j-1

'"

r=:r

/

D: Laço Barriga em ; E: Laço Barriga em j F: Multilaço (4-laço)

Figura 3: Vários tipos de laços. As linhas simples representam as ligações covalentes e as duplas as pontes de hidrogênio.9

Seja OJ) E 5 e sejam i', v e j' posições tais que

i < i' < v <j' <j. Então dizemos que:

1. v é acessível aO, j) se O', j') EE5 para todo i' e j' ;

2. O',j') é acessível a O,j) se O',j') E 5 e i' e j' são

acessíveis a

O,j);

3.

o conjunto formado pelas bases dos pares de

bases acessíveis a O,j)e pelas bases não pareadas - também acessíveis aO, j) - é o laço fechado por O,j), ou simplesmente laço.

4. o laço formado por k pares de bases (o par de

fechamento O,j) juntamente com (k

-

1) pares

de bases acessíveis a O,j) e por k' bases não

pareadas é chamado k-Iaço(ou k-ciclo)de

ta-manho k' fechado por O,j).

5. umabase nãopareadanão pertencentea nenhum

laço é uma base externa; um par de bases

pareadas não pertencente a nenhum laço é

de-nominado par externo. A coleção formada

pe-las bases externas e pares externos é

denomi-nado laçoexterno.

Umaestrutura secundária 5 induz uma

decompo-sição de R em uma coleção de laços disjuntos

Laçol' Laçoz'...Laçom'onde m > O,se e somente se,

5"* 0. Energiassão atribuídas aos k-Iaçose a energia

da estrutura 5 passa a ser escrita como

m

Energia(5)=

L

E (Laço),

;=1

(3) onde E é uma função que fornece a energia de um

k-Iaço Laço;.

Para atribuir energias aos seis tipos de laços, são definidas as seguintes funções:

EhO,j) é a energia do laço arco fechado pelo

par

O,j);

Ei(i,j) é a energia mínima de um laço interno

fechado por O,j);

EbiO,j) é a energia mínima de um laço barriga

em i fechado por O,j);

EbjO,j)é a energia mínima de um laço barriga

em j fechado por O, j);

EsO,j) é a energia de empilhamento de dois

pares de bases adjacentes O,j) e (i + 1, j -1);

EmO,j) é a energia mínima de um k-Iaço de

ta-manho k', com k >2 (multilaço), fechado por

O,j).

Novamente usamos a estratégia de programação dinâmica para resolver o problema. Seja a seqüência

R

= r" r2,...,rn,para a qual desejamos encontrar a

es-trutura secundária 5, de energia

livremínima.Consi-d

eremos a su se

b

quencla R. .- r., r...A,n . I,)_ I 1+I, ...,r., 1 - I JJ < . < . <

_ n,

para a qual desejamos encontrar a estrutura

secun-G

101

"1 I

,j. C. Setubal andJ. Meidanis. Introduct;on to Computat;onal Molecular Biology. ICUNICAMP/PWS,1997.

11

1.000J,OU01.0U10J.UOIoD1.1.00001010J,UOO1.0W1.00D1.00J,OJ,l,OOJ,OOO10U0101].].OU10101o),00001010),),100101.010001001.01100100001o0),1.010IoU01U01011.0

1

(5)

imes

dáriaS. . de energia livre mínima. Como na modela-I,)

gemanterior, há quatro possibilidades a serem trata-das,diferenciando-se apenas na situação 4:

O, sej-i~t

{

E(R"I .),,)

. E(R"j.I)'

mm mino, < <)k .(E(R.I,k!) + E(Rk I+ r).)}, L(R,)

L(R.I,) = min

caso contrário, onde

L(R,) = {Eh(i, j), Ei(i, j), Ebi(i, j), Ebj(i, j), (5) Es(i,j), Em(i, j)}.

Podemos então caracterizar os cálculos

associa-dos a L(R;) para cada uma das configurações

ilustra-dasna Figura 3, cuja opção correspondente pode ser vistana Expressão 5. Assim sendo,

.

se L. . é um laço arco, então

I,)

L[iJU1- L(R.I,

)

= Eh(i, j), ((j - i - 1).

.

se L. .é uma região empilhada (ou hélice), então

I,)

L [iJU1- L(R,) = Es(i, j) = 17+ L [i + 1] [j - 1].

.

se L. .é uma barriga em i, entãoI,)

L [iJ1j]- L(R.

)

= Ebi(i,j) = min (13(k)+ L [i + k + 1n.

I, h7

.

se L. . é uma barriga em j, entãoI,)

L [iJ1j]- L(R;)= Ebj(i,j)= L [i + 1]

U

- k - l]}.

min + {fJ (k) +

k-z7

. se L. . é um laço interno, entãoI,)

L [iJU1- L(R.) = Ei(i,j) = min {r (k, + kz) +

I, k,. k2-z7

L [i + 1+k,]

U

- 1 - kz]}.

.

se L. . é um multilaço, entãoI,)

L[iJ1j]- L(R.

)

= Em(i,j) = min {G [i + 1][k] +

I, i<k<J-l G [k + l]U - 1] + a }, onde

{

L [iJ1j]+ b G[iJlj]=min

{

G [i][h] + (j

-

h) x c (6) mini<h<imin G [i][h] + G [h + 1] U] (h - i + 1) x c + G [h+ 1UJl. (4)

sendo que a, b e c são constantes onde a re-presenta a contribuição do par de fechamento

(i, j) do multilaço, b a contribuição de cada par

acessível a (i,j) e c a contribuição de cada base não pareada acessível a (i, j).

As funções (, 17,13,e r nas expressões dadas são

determinadas experimentalmente. A complexidade

deste algo ritmo é O(n4) e a computação (identifica-ção) do dobramento de energia mínima S"n é feita através de algo ritmos recursivos.

2.3. Melhoria da eficiência em laços

internos

Os laços internos são as estruturas que dominam

assintoticamente no algoritmo geral apresentado na

seção anterior. A partir deste fato, esforços foram

empreendidos a fim de melhorar a complexidade do algoritmo como um todo, por meio da melhoria da complexidade dos laços internos.

Assumindo que a estabilidade de um laço interno depende apenas do seu tamanho, Waterman e SmithlO mostraram como reduzir o tempo de computação do algoritmo geral para O(n3).

No entanto, o cálculo da energia associada ao laço interno fechado por (i, j) e (i', /) é determinado por quatro fatores:

.

Contribuição entrópica, que depende do

tama-nho do laço;

.

Contribuição referente ao par terminal não

pareado adjacente a (i, j);

.

Contribuição referente ao par terminal não

pareado adjacente a (i',/);

.

Penalidade associada a assimetria do laço.

Lyngs et aI.II propuseram um algoritmo que

exe-cuta o algoritmo geral em tempo O(n3)- otimizando o cálculo de laços internos para O(n) - mas com a

vantagem de incorporar todos os fatores acima. A fim de simplificar sua descrição, adotaremos uma matriz denotada por LI para armazenar as energias associadas aos laços internos. Desta forma, a energia do laço interno fechado por (i, j) e (i', /) pode ser escrita como

LI [iJU1= min {L[i'Ui'] + eL (i, j, i', /), (7) i<l </ <J

l-i+j-/-2~ 2

"M. S.Waterman and T. F. Smith. Rapid dynamic programming algorithms for RNA secondary structure. Advances in Applied Mathematics, (7):455-464,1986.

11R.B.Lyngs,M. Zuker,and C. N. S.Pedersen.Internalloops in RNAsecondarystructure prediction.In Proc.3rd Int. Conf Computational MolecularBiology

(RECOMB'99).ACM, Apr. 1999.

"""

I A I Q 1

.

/

.

2OO5 I.10"'.".10"''''101'''''''10'''''''101010''10'''''..'.''''''''.'''''''''.''''..'.'''''..'.101...,,,,"',,,,,,,, ,,,,...,,,,...

I!II

(6)

-_

.

D1.DOOJ.O],10101UO],],],Ol,OUOOOO1.0),OU100J.0101.0001D010UOOJ.OCO),O],),OlOl,),),01.],),OlO),],OOOOJ.OJ,OUJ.OOJ.O),OlOOOJ.OO1.0],],OO1.DOO1.01101.0),),1.01.1).0101100001.01.01),1.00:l.010J.000],0010UOO1.000),0},1.0101.0U1.001. I Ar t "o,~ 1.9O IIJ1010 UOJ.O],],OOOOlOlO1.1.1.D01.010100010010),),[J010a010),],01.0U],O],),),O10],),0000),01.0),],],0010101,0001.0010),],00],00010),),01.0],],],0],),1010),),00001.010),],1.0010),0),00010010),),001,01]010},],0010),OO1.0),OOOOOJ.010},],],00101.0 ~II

onde

{

tamanho (i' - i + j - j' - 2) + eL (i j i' j')

=

empilha (i,j) + , " em pilha (i', j') + assimetria (i' - i - 1, j - j' - 1).

Papanicolaou et afiz propuseram uma função para a assimetria, que adotamos na implementação tanto do algoritmo de Lyngs e Zuker quanto na do algoritmo de Waterman e Smith, que é da forma

assimetria (nl , n2) = min {K,n

xf(m)},

onde n = Inl - n21e m = min {nl, n2, c}.As constan-tes K, Ce a função {são assim definidas: c= 5, K= 6, ( (1) = 0.7; {(2) = 0.6; {(3) = 0.4; {(4) = 0.2 e {(5) = 0.1 .

Peritz et aI.

13

redefinirama constantec comosendo

c = 1. Em nossa implementação utilizamos a versão de Peritz para c.

Lyngs et afl4observaram que a função assimetria ( ) pode ser dividida em dois termos:

assimetria (nl , n2) = desbalanço (nl , n2) + (9)

tamanho' (nl + n2),

onde desbalanço (nl, n2) = Inl - n21e tamanho'( ) representa a influênciaque o tamanho do laço (indicado pelo valor nl + n2) exerce sobre a função assimetria ().

Se definirmos 9 (nl + n2) = tamanho (nl + 1+ n2 + 1)

-

tamanho' (nl + n2) e observarmos que desbalanço

(nl + 1, n2 + 1)= desbalanço(nl , n2), então

assimetria

(nl + 1, n2 + 1) = desbalanço(nl + " n2 + 1) + tamanho' (nl + 1 + n2 + 1) = desbalanço (nl, n2) + tamanho' (nl + 1 + n2 + 1) = desbalanço (nl, n2) + tamanho' (nl + n2) + g(nl , n2) = assimetria (nl, n2) + g(nl + n2).

Estadependência do tamanho da função assimetria (), representada por tamanho' ( ), pode ser movida para a função tamanho ( ). Em outras palavras, a variação na função assimetria ( ) quando variamos os valores da função tamanho' ( ) e mantemos constante o valor de desbalanço () depende apenas do tamanho do laço. (8)

Esta dependência do tamanho da função de assimetria pode ser transferida para a função tamanho ( ), que ajuda a compor o cálculo geral da energia do laço interno (indicada no primeiro item da Expressão 8).

A partir disto, é possível então fazer a observação chave de que se fixamos o desbalanço ( ), a penalida-de assimetria ( ) não se altera com o tamanho, isto é,

assimetria (nl + 1, n2 + 1) = assimetria (nl , n2).

Interno (i, j)

Para a= Oaté 1 faça .

E-oo

I

J

Para/ =2

-

a até min {i

-

I, n

-

j

-

a}faça \

aux1

-

L li

-

/ + 1]U-/ + 1] + assimetria (0,2/ + a

-

2) + empilhamento (i

-

/ + 1, j -/ + 1) aux2

-

L li + a + /

-

1]U+ a + /

-

1] + assimetria (0,2/ + a

-

2,0) + empilhamento (i + a + /-1, j + a + /-1)

E

-

min {E,aux1, aux2}

aux1- LIli - / lij + a + / ]

aux2 - E + tamanho (2/+ a

-

2) +

empilhamento (i

-

/, + a + /)

LI li -/ li j + a + / ]

-

min {aux1, aux2} L li li j]

-

LI Ii)[j ]

Figura 4: Algoritmo para cálculo de laços internos conforme Lyngs e Zuker (O(W».

Definimos a matriz LI' [illj][I] como sendo a energia mínima de uma laço interno fechado por (i, j) de ta-manho I.

Se a Equação 9 mantém-se, então para I ~ 2

{

LI' [i+l][j - 1][/- 2] + tamanho

(/)-LI' [iJlj][I]= tamanho (/ - 2) + empilha (i, j) - (1O)

empilha (i + 1,j

-

1)

A Expressão 10 fornece a recursão necessária para

computar cada entrada

de LI' em tempo constante.

Observemos que LI'contém O(n3)entradas e que U

pode ser calculado a partir de LI' como

LI [iJlj]

-

min {LI' [iJlj][/j}, (11)

/

onde cada uma das O(nZ)entradas de LIsão

computa-das em tempo O(n).A Figura 5 ilustra asentradas da matriz LI que são preenchidas pelo algoritmo.

Infelizmente, a matriz LI' requer espaço O(n3),o

que praticamente inviabilizaria o método. Entretan-to, podemos observar que precisamos de LI' [iJlj][IJ

apenas em dois momentos:

"c. Papanicolaou, M. Gouy, and J. Ninio. An energy model that predicts the correct folding of both the tRNAs and the 55 RNA molecules. Nuc1eic Acids Res., (21):31-44, 1984.

"A. E. Peritz, R. Kierzek, N. 5ugimoto, and D. Turner. Thermodynamic study of internalloops in oligoribonucleotides: symmetric loops are more stable than ., asymmetric loops. Biochemistry, (30):6428-6436, 1991.

I4R. 8. Lyngs, M. Zuker, and C. N. S. Pedersen. Internalloops in RNA secondary structUre prediction. In Proc. 3rd Int. Conf Computational Molecular Biology (RECOMB'99). ACM, Apr 1999.

11

),OOO1.0UDJ.D1.1.1.DU101.0UDDOO1.01.0J.11.00J.OlOJ.OOO1.001.0UOOJ.ODOJ.011.0),0],],1.01].1010),),00001010],11.001010).00010010],),00).0001.0),:100101),],0111.01.0110 ],],D1.D1.1.00001010J.UOOlO),OlOOOlOOlOUOO1.D00101.1.01.0U1.0J.),101.0),],000010101.11001.010100010010),],00100010),),0101.1.1.0),],1010),),000OJ.01.01UOOlO1.01.1

~OJ.DUI

(7)

.

Imes

.

Quando queremos determinar se ele é um

can-didato a LI

[iJlj];

.

No cálculo do valor de LI'[i - 7][j + 7][1+ 2]. Isto é utilizado no algo ritmo representado pela Figura4, para evitar a manutenção da matriz LI'.

2.4. Geração de soluções subótimas

Uma consideração importante que deve ser feita com relação às modelagens vistas e aos respectivos algoritmos, é que elas nos fornecem uma única solu-ção, que pode não ser necessariamente a estrutura verdadeira. Édesejável, então, que se tenha um con-junto de soluções, onde algumas delas representem valores subótimos, no que se refere à energia livre. Zuker15descreve um algoritmo que oferece soluções sub-ótimas.

Wuchtyet ap6apresentaram um algo ritmo que gera todas as estruturas secundárias subótimas dentro de umintervalo energético definido pela energia livre mí-nimada estrutura ótima e um limite superior arbitrário.

Figura5: Os círculos representam as entradas da matriz LI que são preenchidas no algo ritmo de Lyngs e Zuker para um dado par (i,j).

3. MELHORIA DA EFICIÊNCIA PARA CLASSES ESPECIAIS DE FUNÇÕES

Com o intuito de melhorar o desempenho do

algoritmo geral, alguns esforços foram empreendi-dos a partir de suposições acerca do comportamento

das funções de desestabilização dos laços. Alguns

algo ritmos melhoram sensivelmente a complexidade

de tempo supondo linearidade, convexidade ou

concavidade destas funções. Infelizmente estas su-posições não refletem de maneira confiável a realida-de biológica; ou seja, estas funções na prática não são lineares, convexas ou côncavas. De qualquer modo, estes algo ritmos representam avanços no cam-po estrito da computação.

3.1. Melhoria da eficiência

para funções

lineares

Caso façamos a suposição de que as funções de desestabilização 9 sejam lineares no tamanho k do laço, isto é, quando explicitamente fazemos g(k) = a + bk, então é possível reduzir o tempo de computação de barrigas e laços interiores para uma constante.

Isto leva a um algoritmo geral de complexidade de tempo O(n2)17,caso não consideremos os multilaços. Se nos cálculos levarmos em conta os multilaços, en-tão a complexidade de tempo do algoritmo geral é O(n3). Lembremos quejá estamos supondo a linearidade para os multilaços. Lembremos também que, como vimos na Seção 2.2, as expressões associadas ao cálculo de barrigas em i, barrigas em j e laços internos são

Ebi(i, j) = min {{3(k) + L(R. k I . _ I)}'

k;?7 1+ + ,j

Ebj(i, j) = min {{3(k) + L(Ri +1j._ k-/)}

k~1 '

e

Ei(i,j) = min {y(kI+ k) + L(Ri+ 1 + kl,j - 1-k2)}'

k,. kz ~1

respectivamente.

Analisando a expressão acima para Ebi(i,j), consi-derando {3linear e assumindo, por conveniência, que {3(k) = a + b (k -1), temos que Ebi(i,j) = min {a + L (R. 2 . 1), min {{3(k) + L(R. k , . I)}} 1+ ,j- k~2 1+ + ,j-= min {a + L (R. 2. 1), min {{3(/ + 1) + L(R. / 2 . I)}} I+,j- 1~1 I++,j-= min {a + L (R. 2 .

,

), min {{3(/) + L(R. / 2 . I)} + b} 1 + ,j

-

I~ 1 1+ + ,j-= min {a + L (Ri+2,j_I)' Ebi(i + 1,j) + b}. "M. Zuker. On finding ali suboptimal foldings of an RNA molecule. Science, (244):48-52, 1989.

"5. Wuchty,W. Fontana, I. L. Hofacker, and P. Schuster. Complete suboptimal folding of RNAand the stability of secondary structUres. Biopo/ymers, (49):145-165, 1999. "M. S. Waterman and T. F. Smith. Rapid dynamic programming algorithms for RNA secondary structure. Advances in Applied Mathematics, (7):455-464, 1986.

r"u l AnO I nQ 1 J

.

a n/ J

.

Un 2 OO5 I01.0001.0U010],],1.01.).1.0},Ol1.00001010Ul0D10J,01.0001.001.0UOOJ,OO01.0),1.010),),10],],],0101.1.00001.0101,),],00101.(1),0001001011.001.000),OU010),],],D1.1.1.0l0),),D01.0],],OOO1.

-18t1111O I t 11.01.01.1.00001.DJ.DJ.J.J.DDJ.DJ.DJ.DDDJ.DDJ.DJ.J.DDJ.DDDJ.DUDJ.D),),J.DJ.J.J.DJ.DJ.1.DDDD1.D1.D1.1.1.DD1.D1.DJ.DDDJ.DD1.DJ.1.DD1.DDD1.D),),D1.DJ.),),D1.J.J.D1.DJ.J.DDDD1.D1.D1.1.J.DD1.DJ.DUD1.DD1.D1.J.D'iIiII f"-f"-I'"

'"

f"-'" f"-'" ""

.

'" '" '"

. .

""

'"

.

.

'"

""

'"

. .

""

'"

.

"" "" I"'-

i,j

'" '" '"

"

'" '"

'" '"

""

'"

""

'"

'"

""

"

'" '"

'"

"" '" '" '"

'" '" ,'"

'" '"

""

(8)

D

"D1000J,OUD1o0U1D111oDIoOUOOOD1.D10U1.DD1.0J.O),OOOJ,OO1.0UD010DOJ.O],),01.0],),),O),),],010],],ODDOJ,01.0U1001010J.00010010l1.DD1D0010U0101.U01U010UOOD0101DU100101010D01.0010U00100010110J.0101UOQ1.

. 01 U01.0UOOOD1010),11DOJ,OlOl0001DOJ,IJ1.1D010001.0J.},OJ.01U01U0101100001010UJ,DOJ,010J.0001DOJ.DU0010001DJ.},OlOlU011J.DJ.OUOOD01.010],1,1(10).010).000),001011(10),0001011001.0100101.0000010101,),1001010 I A r t 1 9 o f~O),~

Portanto,

ebi(i, j) = min {a + L (Ri+Z,j-,), ebi(i, + 1, j) + b}. (12)

Para barriga em j, de forma similar ao tratamento acima, obtemos que

ebjO,j) = min {a + L (Ri+I,j-z)' ebjO,j - 1) + b}. (13)

No caso de laços internos, a função ei O,j) pode ser reescrita da forma

{

minkl ="k2;;,'{Y(l + k) + L(Ri+1+1,j-l-J}, ei(i,j)= min minkl;;,I,k2~I{Y (k, + 1)+ L(Ri+l+kl,j-l-1)}' (14)

minkl >"k2>,{Y (k, + k) + L(Ri+1+kl,j-l-J},

Os dois primeiros casos da Expressão 14 são equi-valentes aos casos barriga em i (Expressão 12) e

bar-riga em j (Expressão 13), respectivamente.

Assumindo que y (k)

= c + d(k - 2), temos para o

terceiro termo da Expressão 14 que

minkl> I, k2> 1{y (k, + kz) + L(Ri+ 1+k',j-l - kZ)}'

= minl;;,"k2>I{y(l + 1+ k) + L(Ri+2+I,j-l-J},

=d+ei(i+1,j),

Portanto, se supomos que as funções f3 e y são lineares, como indicado acima, então o tempo de

com-putação do algoritmo geral - se excluírmos os

multilaços - consome tempo e espaço O(nZ).

3.2. Melhoria da eficiência para funções

côncavas e convexas

Dizemosque umafunçãow(x,y)é

côncavaquan-do elasatisfaza desigualdadequadrangular

wO,j) + wO',j') ~ wO', j) + wO,j' ),

para todo. i ~ i' ~ j ~/. De forma similar, dizemos que

w(x, y) é convexa quando -w(x, y) é côncava, ou seja: wO,j) + wO',j') ~ wO', j) + wO,j').

3.2.1. Algoritmo de Eppstein

Proposto por Eppstein, Galil e Giancarlol8,neste

algoritmofaz-sea suposiçãode que

nãoocorremmulti-laços na estrutura, bem como a função que fornece o

custo (contribuiçãoenergética)de um laço, denotada

por g(k), onde k é o número de bases acessíveis ao

laço, é convexa. Assim sendo, a Expressão (5)

(excetuando-seos multilaços)pode ser reescritacomo

V[ i, j] +- E(L. .) = min {eh O,j), C [i, jU,r,} onde

C [i,j] = min {V[i',/] + g((i' - i) +

ü -i))}.

i< i'<j'<j (1 5)

u K

Para simplificar a apresentação do algoritmo, a

recorrência (15) é modificada através da mudança de algumas variáveis. Especificamente, fazemos E [i,j] =

C [n- i-I, j], O [i,j] = V [n - i-I, j], e w(x, y) = g(y - x).

Daí a recorrência (1 5) torna-se

E[i,j]= min {O[i',j']+w((i'-j',i+j)}. (16)

o~i'< i O~}'<j

A restrição i' < j' presente em (15) não está con-templada em (16). Isto pode ser tratado com a atri-buição V[i,j] +-00 quando i+j> n+ 1 ou reescrevendo a recorrência (16) da seguinte forma

E [i,j] = min {O[i',j'] + w((i' + /, i + j)}. (17)

i' < i }'<j i' + }' >n+ 1 si P P (r p e a t( j' J] 9 p f\I fê d

A partir desta modelagem, Eppstein, Galil e

Giancarl018formularam um algoritmo com tempo de execução O(nzlog2n).

3.2.2. Algoritmo de larmore e Schieber

Larmoree Schieber19melhoraram o tempo de

exe-cução para O(nZ)no caso de funções côncavas.

Apre-sentaram ainda um algoritmo cujo crescimento

assintótico é expresso por O(n2a (n)no caso de

fun-ções convexas, onde

a

(n) é uma função com

cresci-mento extremamente lento (inversa da função de

Ackermann).

Lembremos que o objetivo em questão é resolver o problema de programação dinâmica bidimensional representado pela recorrência (16). Para fazê-Io, o

algoritmode Larmoree Schieberutilizacomo

módulo um outro

algoritmoque resolveumproblemade

pro-gramação dinâmica unidimensionalsimilar

represen-tado pela recorrência

E[I]= min {O[i']+wO',i)IO~i'~C.}. (18)

l~~n I

o~c,~...~Cn~n

Este algoritmo que resolve o problema de progra-mação dinâmica unidimensional faz uso de duas su-posições:

1. Os valores de O [j] paraj = Ci_, + 1, ..., C;são facilmente computados a partir dos valores de

E [ i-I ]. Por conveniência definimos Co=O;

9 q ti V C q fi s t t r s s (

;-"D. Eppstein, z. Galil, and R. Giancarlo. Speeding up dynamic programming. In 28th Symposium on the Foundations of Compu ter Science, pages 488-495,1988. 19L.Lamore and B. Schieber. On-line dynamic programming with applications to the prediction of RNA secondary structure. In First ACM-SIAM Symposium on

Discrete Algorithms, pages 503-512, 1990.

II

.OOD1.0UD1.DJ,UO),),),OJ.O),),OOOOJ.OJ.OU100101.010D01.00101.1.DOJ.OD010),],OlO),],),O),),),010J.J,uoao),01.OJ.1.J.OO),O),OlOOOJ.OOJ.OJ.1.001000lOU010UJ.OJ.U010),),° 1 R

.

t d I f át ' A 1

.

d 10.1ou

l

(9)

t

. Artigo

2. A função w é côncava.

Para o caso de w ser convexa, Larmore e Schieber

utilizam-se de outro algoritmo, desenvolvido por

Klawee Kleitman20, para resolver a recorrência 18. O problema de programação dinâmica unidimen-sional,mencionado acima, pode ser visto como um problema de busca em matriz. O algoritmo descrito

porLarmore e Schieber não resolve

este

problema

(recorrência18) diretamente. Elestratam-no como um problema de busca em matriz. Para que possamos

enunciar este problema equivalente é necessário,

antesque façamos algumas definições.

Uma matriz n x m triangular M é dita ser monotônica totalmente côncava se para todo 1.::;; i < i' .::;;n e O .::;;j'::;;

j' <m, a desigualdade M [i,Jl >M [i,/] implica que M [i',

J1>M [i',j']. De forma similar uma matriz nx m

trian-gularMédita ser monotônica totalmente convexa se

paratodo 1.::;;i < i' .::;;n e O.::;;j.::;;/< m, a desigualdade M[i, Jl < M [i, /] im plica que M [i', Jl < M [i' J']. Para facilitar, assume-se que todos os elementos finitos deM são distintos.

Uma matriz n x m é dita ser triangular superior

generalizada se existem O.::;;

C,

.::;;C2.::;;Cn=m - 1 tal

queM [i, Jl = 00 para todo C;< j < m. Uma matriz

triangular superior generalizada é côncava (ou

con-vexa) totalmente monotônica, se a condição de

concavidade(ou convexidade) acima mantém-se para qualquerquatro entradas não infinitas de M, as quais formam uma submatriz retangular.

O problema de programação dinâmica unidimsionalrepresentado pela recorrência 18 pode ser, en-tão,traduzido em um problema de busca em uma

ma-triz triangular superior generalizada totalmente

monotônica. Definimos uma matriz

n x m

triangular

superior M por

M[i, i'] = D[i'] + w(i', i) 1.::;;i.::;;n, O .::;;

i'

.::;;C..I (19) O resto dos elementos de M são definidos como

sendo00. Então resolver a recorrência 18 é equiva-lente a encontrar o elemento mínimo em cada linha damatriz M.

Éinteressante notarmos que a suposição de que w é côncava traduz a condição de que M é côncava

totalmente monotônica. Da mesma forma, supor que w é convexa traduz a condição imposta de que M é conve-xa totalmente monotônica. é interessante observarmos também que a restrição - atribuída aos elementos das colunas C;_,+ 1,..., C; de M (que não

estão

definidos como00) - que determina que estes devem estar

dispo-níveis apenas depois do elemento mínimo na

linha i-1 ter sido calculado, implica que não necessita-mos de todas as entradas da matriz D o tempo todo.

Vamos então definir o problema equivalente de busca em matriz. Seja M uma matriz n x m triangular superior generalizada totalmente monotônica. As li-nhas de M são indexadas no intervalo 1,..., n e as

colunas no intervalo O,..., m - 1. Paracada 1.::;;i.::;;n existe uma coluna C;_,'::;; C; < m tal que M [i, Jl = 00, para todo j > C;. Queremos então encontrar o ele-mento mínimo em cada linha de M considerando a seguinte restrição: para i> 10 valor de c; dos

elemen-tos das colunas C;_,+ 1,..., C; de M (que não

estão

definidos como00) estarão disponíveis apenas depois

de calculado o elemento mínimo na linha i

- 1.

Larmore e Schieber conceberam então um

algoritmo linear para resolver o problema definido

acima. Isto levou à formulação de um algoritmo para

resolver o problema de programação dinâmica

bidimensional- representadopela

recorrência16-que consome tem po O(n2),no

caso

de w ser côncava.

Klawe e Kleitman21construíram um algoritmo para o problema off-line de busca em uma matriz triangu-lar superior generalizada totalmente monotônica que consome tempo O(n a(n)), onde aé a inversa da

fun-ção de Ackermann. Larmore e Schieber utilizaram este

algoritmo

para resolver o respectivo problema on-line e, a partir daí, formularam um algoritmo para o

pro-blema de programação dinâmica bidimensional

(recorrência 16), que consome tempo O(n2a(n)), no

caso

de w ser convexa.

4. IMPLEMENTAÇÃO E CONCLUSÕES

Desenvolvemos implementações eficientes dos

algoritmos mais expressivos baseados em cálculo de energia livre mínima, tanto do ponto de vista da comple-xidade computacional (de tempo e espaço), quanto da

representatividade do modelo termodinâmico:22, 23,24,2S.

"M.M. Klawe and D. j. Kleitman. An almost linear time algorithmfor generalizedmatrix searching. InTechnical Report R} 6275, IBM - Research Division, Almaden

Research Center, 1988.

/!M.M.Klawe and D. j. Kleitman. An almost linear time algorithmfor generalizedmatrix searching. InTechnical Report R} 6275, IBM - Research Division, Almaden

Research Center, 1988.

R. Nussinov, G. Pieczenik, j. R. Griggs, and D. j. Kleitman. AIgoritms for loop matchings. SIAM}. appl. Math., (35):68-82, 1978.

M. Zuker and C. D. H. Turner. Algorithms and thermodynamics for RNA secondary structure prediction: A practical guide. (333):333-344, 1999.a

M. 5. Waterman and T. F. 5mith. Rapid dynamic programming algorithms for RNAsecondary structure. Advances in Applied Mathematics, (7):455-464, 1986. R. B. Lyngs, M. Zuker, and C. N. S. Pedersen. Internal loops in RNA secondary structure prediction. In Proc.3rd Int. Con(. Computational Molecular 8iology

(RECOM8'99). ACM, Apr 1999.

,li AnO I nQ 1

J

.

a n / J

.

Un 2 OO5 IOlODOJ.OU01.o),),),oUJ.01.o),),oOOO1.01.011,1.DD1.D1.D1.DOD1.DD1.D),),OO1.DD01.0J.1010),),),D1.U01.0),),OOOOJ.01DUJ.OOJ.0101.DOO1,DD1.01.1.DOlOOO1.01,1.01.01.uoUJ.OJ.01.1.DD10UOOO1. I!I!!I

(10)

-RIm

!

OlODD1.D1.1.0},O),),],OJ.J,J.01.DJ.J.DDDOJ,D1.DUJ,001.0J.OJ,OOOlOOJ.OUOOJ,OD01.0),:l.01.011).01U010110000),010111.001.0).010001001.01.).001000),OUO1.01olJ.O),},),OJ.O),),OOOOlOJ.OU1.00J,OlOJ,OOOlOO1.0UOOJ,DOO1oOUOJ.OJ,OJ,U001

I Ar t 1

.

9O lI~n.D)')

UOJ.OUDOOD1,OJ.01U0010J,DJ,ODOJ.OOJ,OJ,J,OOJ.OOOJ.OUO),01],J.O],),),OlOUDDOOJ.OJ.OJ.UOO1,OlOJ,OOO),OOlQ),),OOJ.00010UOJ.O),],),OU10J,O),),OOOD1.OJ.OlUD010J.OJ.OOO),OO}.Q],],OOJ,0001.0UOOJ.OJ,OOJ,OlODODOJ,OJ.01UOOJ.010 1L~),o],IJ

Estas implementações tiveram como propósito

possibilitaro entendimento, preciso e detalhado,

des-tes métodos e modelos. Ocódigo C gerado, os

arqui-vos de dados e demais arquiarqui-vos necessários à

execução dos programas estão disponíveis e podem

ser acessados no endereço http://www.ime.usp.br/

dcc/posgrad/teses/rozante.

Nesteendereço encontra-setambém disponívelum

arquivo no formato dvi/ps, contendo um documento

com mais detalhes a respeito dos métodos, modelos

e implementação em questão. Este documento foi

construído sob a filosofialiterate programming

(am-biente CWEB26),

de modo que inserimos, de forma

"di-luída",código C ao longo do texto principal.Ou seja,

à medida em que os conceitos e métodos são

apre-sentados, incluímos,no ponto da apresentação, o

có-digo correspondente ao conceito ou método.

A precisão dos resultados

fornecidos pelos

algoritmosbaseados em minimizaçãode energia

ten-dem a melhorar, na proporção em que os parâmetros

termodinâmicos se tornam mais precisos. Neste

con-texto, os parâmetros de energia tendem a incorporar

cada vez mais casos especiais que surgem à medida

em que avança o conhecimento sobre as

proprieda-des físico-químicasdos ácidos nucléicos.

Emrelaçãoàs soluçõesfornecidas pelosalgoritmos

baseados em cálculo de energia livre mínima,

pode-mos dizer que essas soluções podem não descrever

adequadamente a situação real. Emoutras palavras,

o modelo adotado para descrever as interações

termodinâmicas pode não capturar a totalidade das

situações que efetivamenteocorrem na natureza. Isto

ocorre por dois motivos.

Primeiro,os parâmetros de energia com os quais

os algoritmos trabalham são inevitavelmente

impre-cisos. Logo,a estrutura de energia livremínima pode

ser sub-ótima em relação aos parâmetros usados. O

mesmo pode ocorrer em função do não

conhecimen-to (ou não tratamenconhecimen-to) de alguma restrição biológica

que pode alterar as energias relativas, tornando/I

e-vando a uma outra estrutura sub-ótima entre as mais favoráveis. Estes fatos justificam o desenvolvimento de algoritmos que forneçam várias soluções.

Os algoritmos de Eppstein e Larmore representam importantes avanços no campo estrito da computa-ção para o problema. No entanto, eles não

represen-tam um avanço importante do ponto de vista da

contribuição biológica, pois, na natureza, as funções

de desestabilização de laços não são convexas nem

côncavas. Além disto, a suposição de não existência de multilaços não é razoável.

Como a suposição de linearidade é ainda mais restritiva do que a de convexidade e a de concavidade, não acreditamos que algoritmos baseados nesta su-posição representem contribuições significativas para o problema.

Algoritmos baseados em minimização energética conseguem operar sobre uma única seqüência e, em relação à qual, não é necessário conhecer qualquer informação filogenética. Isto representa uma vanta-gem desta estratégia em relação àquela baseada em análise comparativa, já esta última, exige que se dis-ponha de um conjunto de moléculas homólogas como entrada, o que nem sempre é possível.

No entanto, parece razoável supor que, com o tem-po, o acúmulo de informação nas bases de dados de bioseqüências pode levar a um estado onde raramen-te, para um dada seqüência, não se disponha de um conjunto de homólogos.

Os métodos baseados em análise comparativa con-seguem detectar interações terciárias (pseudonós) na estrutura. Isto representa uma vantagem desta estra-tégia em relação àquela baseada no cálculo de

ener-gia livre mínima. Esses métodos, geralmente, são

insensíveis a pequenas variações na seqüência de

nucleotídeos, enquanto nos métodos baseados em cálculo de energia livre mínima, pode-se chegar a es-truturas muito diferentes a partir de seqüências que variam em poucas bases.

(11)

~

Artigo

"" ,

(REFERÊNCIAS BIBLIOGRÁFICAS

F-~

PERITZ,A. E.;KIERZEK,R.; SUGIMOTO, N.; TURNER, D.

Thermodynamicstudy ofinternalloops in oJigoribonucleotides: symmetricloops are"morestable than asymmetricloops.

Biochemistrv.(30):6428-6436,1991.

GOlJY,M.; NIt;jIO,

J.

An energy model that ding of both the tRNAsand the 5S.RNA

ids Res.,(21):31-44,1984.

KNUTH,D. E.;LEW,S.The CWEBSystemof Structured

Documentation. Reading, Massachusetts: Addison-Wesley, 1993. EPPSTEIN,D.; GALlL,Z.; GIANCARLO,R.Speedingupdynamjc

programming.In28th Symposium on the Foundations of ComputerScience, pages488-495, 1988.

SANKOFF,D. Simultaneoussolution of themRNAfolding, alignmehtand protosequenseproblems.SIAMj.Appl. Math., (5):1-35,1985.

RIVAS,E; EDDY,S.A dynamic programming algorithmfor RNA

structureprediction including pseudoknots.journal of Molecular Biology, (285):2053-2068, 1999.

EIDA~JS,

J.

Introducti,o!,! to Computational y. )CUNICAMP/PWS, 1997.

LAMORE,L.;SCHIEBER,B.On-linedynamicprogrammingwith

applicationsto the preclictionof RNAsecondarystructúre.In

FirstACM-SIAMSymposium on DiscreteAlgorhhms, pages

503-512,1990.

-...

,

~

l

.J.

Analrnostlineartime algorithmfor Technical ReportRj 6275, IBM

esearcl:1Center, 1988.

. 5 and thermodynamics iction: Apractical guide.

ZUKER,M.Onfinding ali molecúle. Science,(244):4

ai foldings of an RNA 989.

ZUKER,M.;.SANKOFF,D. RNAsecondary structures andtheir

prediction. Buli. Math. Biol., (46):591-621, 1984.

, T. F. Rapiddynamic programming dary strúctúre. Advances in Applied 5-464, 1986.

LYNGS,Ri secondary MolecíJJa

DERSEN, C. N. S. pseudoknots in RNA

ture. In Proc. 4rd Int. Conf. Computational

gy (RECOMB'OO). ACM, Apr 2000..

NUSSINOV,'R.;PIECZEN)K, G.; GRIGGS,J. R.; KLEITMAN, D.J,

Algoritms forloop ma!.éhings. SIAMj. appl. Math., (35):68-82, 1978. LYNGS"R.B.;ZUKER, secondarystructúre Computational Moi S. Internalloops inRNA 3rdlrit. Conf; PMB'99). ACM, Apr 1999.

WUCHTY, S.; FONTANA, W.;HOFACKER, I. L.; SCHUSTER, P. Complete suboptimal folding of RNAand the stabilityof

secondarystructures.Biopolymers,(49):145-165,1999.

11

o .. 010D01oDJ,).O},01.1.1.DUl010U000010101UDOJ,OJ,OJ,DOO),OD1.0UD01.0DD],Ou.OJ,01.1,1.01U01.D),1.00001.0l0U10010},OJ,OD01.DO},01.1.DO),OOO1.O),),010UI.01.1.1010U001011.0001.

Referências

Documentos relacionados

[r]

Water and wastewater treatment produces a signi ficant amount of methane and nitrous oxide, so reducing these emissions is one of the principal challenges for sanitation companies

Redução do estoque de carbono após a exploração florestal, alterações no numero de indivíduos e no estoque de carbono da regeneração natural e danos aos indivíduos

En este sentido, el concepto de interés general, ahora abierto a la participación por exigencias de un Estado que se presenta como social y democrático de Derecho, presenta

Em estudos mais aprofundados, tem-se a análise dinâmica não linear geométrica de estruturas laminadas modeladas com elementos tridimensionais de barra considerando o efeito

For additional support to design options the structural analysis of the Vila Fria bridge was carried out using a 3D structural numerical model using the finite element method by

Depois de considerar a confidência, conteúdo, distribuição, e assuntos de oportunidade associadas com a distribuição de um relatório, um controlador pode, então,

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)