Beruflich Dokumente
Kultur Dokumente
i=1
(1 + cos
i,i+1
)) + 4
(N2)
i=1
N
j=i+2
(d
12
i,j
C(a
i
, a
j
)d
6
i,j
)
Sendo:
C (A, A) = 1
C (B, B) = 0.5
16
C (A, B) = C (B, A) = -0.5
(1)
Onde E representa a energia, N corresponde ao comprimento da sequncia de ami-
nocidos, a o tipo do aminocido (A ou B), C so as cargas dadas, o ngulo entre
os aminocidos e d a distncia entre os aminocidos.
O Algoritmo 1 demonstra como calculada a energia de um modelo de protena AB
em uma determinada conformao, dadas as distncias, as cargas e os ngulos:
Algorithm 1 Clculo da energia no Modelo AB
v1 = 0, v2 = 0
for i = 1; i < (n - 2); i++ do
v1 = v1 + (1 + cos(ang[i])) / 4
end for
for i = 0; i < (n - 2); i++ do
for j = (i + 2); j < n; j++ do
v2 = v2 + (4 * (pow(d(i,j), -12) c(i,j) * pow(d[i][j], -6)))
end for
end for
energy = v1 + v2
return energy
Existe o Modelo AB tridimensional, que utiliza dois ngulos para denir a posio de
cada aminocido. Esta verso mais prxima da realidade pois cada resduo possui as
trs coordenadas (x, y e z), porm o resultado grco dos modelos de protenas obtido
menos legvel devido s informaes do eixo z, conforme a Figura 9, sendo mais difcil
de ser representado e analisado.
Figura 9: Estrutura de protena tridimensional no Modelo AB.
17
Neste trabalho utilizado o Modelo AB bidimensional e so utilizadas sequncias de
aminocidos adaptadas para este modelo obtidas atravs da reviso da literatura. Estas
sequncias so explicadas em detalhes na prxima seo.
2.5 Cadeias Primrias no Modelo AB
As sequncias de aminocidos no Modelo AB, conforme citado anteriormente, so
compostas por somente dois tipos de aminocidos: A e B. Inicialmente foram geradas
cadeias de acordo com a sequncia de Fibonacci [5], onde o prximo elemento resul-
tado da concatenao dos ltimos dois elementos. O objetivo evitar padres repetitivos
e simtricos, tornando o modelo mais prximo de uma protena real. A sequncia de
Fibonacci segue a forma a seguir:
f(0) = 0; f(1) = 1; f(n) = f(n 2) + f(n 1);
Ex : 0, 1, 1, 2, 3, 5, 8, 13, 21, . . .
(2)
Para adaptar essa sequncia ao modelo, a adio substituida por concatenao. No
modelo adotado, conforme mencionado anteriormente, a letra A ser utilizada para ami-
nocidos hidrofbicos e a letra B para os hidrlos, portanto as sequncias cam assim:
f(0) = A; f(1) = B; f(n) = f(n 2) + f(n 1);
Ex : A, B, AB, BAB, ABBAB, BABABBAB, . . .
(3)
Nos testes realizados, que so detalhados no Captulo 5, foram utilizadas quatro
sequncias de diferentes comprimentos que utilizam a Equao (3), estas cadeias esto
detalhadas na Tabela 1.
Tabela 1: Sequncias de Fibonacci para o Modelo AB
Cadeia - Sequncia
FIBO6(13) - ABBABBABABBAB;
FIBO7(21) - BABABBABABBABBABABBAB;
FIBO8(34) - ABBABBABABBABBABABBABABBABBABABBAB;
FIBO9(55) - BABABBABABBABBABABBABABBABBABABBABBABABBABAB
BABBABABBAB;
18
Tabela 2: Sequncias de protenas reais adaptadas para o Modelo AB
Cadeia - Sequncia
1AGT(REAL) - GVPINVSCTGSPQCIKPCKDAGMRFGKCMNRKCHCTPK
1AGT(AB) - AAAABABABABABAABAABBAAABBABAABBBABABAB
1AHO(REAL) - VKDGYIVDDVNCTYFCGRNAYCNEECTKLKGESGYCQ
WASPYGNACYCYKLPDHVRTKGPGRCH
1AHO(AB) - ABBABAABBABABBBAABBABABBBABBABABBABAB
BABABABAABABBAABBABBBAAABAB
Alm dos modelos gerados a partir da srie de Fibonacci tambm so utilizadas duas
sequncias inspiradas em protenas existentes, reais. Essas sequncias so adaptaes de
sequncias primrias conhecidas e seu objetivo aproximar ainda mais o modelo de uma
situao real, sendo a primeira sequncia correspondente estrutura primria da protena
armazenada no Protein Data Bank (PDB) atravs da identicao (PDB ID) 1AGT e a
segunda identicada como 1AHO [6].
Para obter as cadeias, os aminocidos tipo I, V, L, P, C, M, A e G so considerados
hidrofbicos e representados pela letra A e os resduos D, E, F, H, K, N, Q, R, S, T, W e
Y considerados hidrlos e representados pela letra B [21]. A tabela 2 mostra a sequncia
de aminocidos original de cada estrutura e a sequncia correspondente adaptada para o
Modelo AB.
Tando as sequncias traduzidas para o modelo atravs de protenas reais quanto aque-
las geradas em funo da srie de Fibonacci geram modelos que ainda conservam caracte-
rsticas de protenas reais, como o surgimento de pequenos padres de dobra, a formao
de ncleos hidrofbicos compactos e protegidos [11], entre outros.
Apesar das simplicaes serem considerveis a soluo do problema est longe de
ser trivial e apresenta uma alta complexidade. Analisaremos detalhadamente esse grau de
complexidade na seo seguinte.
2.6 Complexidade do problema no Modelo AB
O conjunto de problemas que podem ser resolvidos em tempo polinomial por uma
mquina de Turing determinstica denominado P, qualquer problema neste conjunto
pode ser resolvido por um algoritmo com tempo de execuo O(n
k
), com k constante [1].
O conjunto de problemas que so decidveis em tempo polinomial por uma mquina
de Turing no-determinstica denominado NP. Um subconjunto de NP denominado NP-
completo um conjunto cujos problemas precisam satisfazer a seguinte condio: todo
problema em NP redutvel para este problema em tempo polinomial. Portanto, se ti-
vssemos um algoritmo de tempo polinomial para resolver um problema NP-completo,
poderamos resolver todos os problemas NP em tempo polinomial [11].
19
Para discutir a complexidade do problema de dobramento de protenas, foi desenvol-
vida uma aplicao para mapear o espao de busca, ou seja, calcular a energia em todas
as conformaes possveis de uma protena simplicada de acordo com o Modelo AB.
Com o objetivo de gerar grcos bidimensionais, foram utilizados tetrmeros, ou seja,
cadeias com quatro aminocidos. O primeiro e o ltimo ngulo no mudam a conforma-
o do modelo de protena, pois sua alterao no gera uma dobra. Mudar os ngulos das
extremidades signica girar toda a protena. Portanto, o conjunto de todas as possveis
solues para os tetrmeros pode ser repesentado como um vetor bidimensional.
O primeiro ngulo descrito no eixo vertical (y) e o segundo no eixo horizontal (x).
Os ngulos variam entre , radianos, de forma que no centro de cada eixo esto os
ngulos de valor 0. Portanto o valor do centro de cada grco da Figura 10 representa os
modelos de protena em sua conformao linear.
O valor da energia de cada conformao est apresentado em cores com valores mni-
mos indicado em cada grco atravs de pontos. Os valores de energia maiores que um
(energia > 1) esto em vermelho enquanto os valores menores que um (energia < 1) so
graduados linearmente de acordo com a barra de cores;
Nos grcos, mesmo nos modelos cuja soluo linear, a distribuio dos valores
de energia nica para cada sequncia. Ou seja, apesar de apresentarem a mesma solu-
o tima, o espao de solues diferente para cada sequncia de aminocidos, o que
demonstra que qualquer alterao na cadeia primria altera todo o espao de busca.
No sexto grco da Figura 10, onde todos aminocido so hidrofbicos (A), possvel
visualizar reas que no contm a soluo tima onde os valores de enegia so pequenos.
Esses vales so geralmente cercados de regies com altos valores energticos e frequen-
temente chamados de timos locais. Em todos os modelos que apresentam uma soluo
tima no linear (grcos 5 10), a conformao linear est em uma rea que pode ser
considerada um timo local.
Por causa da baixa resoluo dos grcos, ou seja, devido discretizao do espao de
busca, o valor mnimo no a soluo real do problema, porm as protenas apresentam
uma conformao muito prxima da tima. O clculo e a renderizao dos grcos apre-
sentados na Figura 10 despenderam, em mdia, oitenta milsimos de segundo (80 ms) em
um computador atual com processador de 2 GHz de velocidade e 6 GB de memria de
acesso aleatrio (RAM).
A gerao de um nico grco com a resoluo da Figura 10, com 20 faixas de ngu-
los, ou seja, com uma discretizao de /20 radianos em cada eixo, para uma protena de
quatro aminocidos, resulta na computao de quatrocentos (20
2
) modelos de protenas.
possvel encontrar este valor atravs da Equao 4, onde P o nmero de modelos de
protenas possveis, R a quantidade de faixas de ngulos, ou seja, a resoluo do grco
e N o comprimento da cadeia primria.
20
Figura 10: Espao de solues bidimensional para tetrmeros.
21
P = R
(N2)
(4)
Supondo a gerao de um grco multidimensional com a mesma resoluo para
uma protena de somente 12 aminocidos, seriam calculadas 20
10
modelos de protenas.
Mesmo se o clculo de um nico modelo demorasse apenas um milsimo de segundo, a
suposta gerao do grco demoraria mais de trezentos anos.
Portanto, buscar uma soluo que explore linearmente o espao de busca demanda
um tempo de computao de centenas de anos. A soluo implementar outras formas
de busca, que introduzem mtodos lgicos e heursticas para direcionar o algoritmo e
aumentar a performance, diminuindo drasticamente o tempo de computao. A seguir so
apresentados alguns desses mtodos e conceitos, que foram de alguma forma inspiradores
para a implementao deste trabalho.
2.7 Simulated Annealing
Existe uma conexo forte e til entre mecnica estatstica (o comportamento de sis-
temas com muitos graus de liberdade em equilbrio trmico a uma temperatura nita) e
otimizao multivariada ou combinatria (encontrar o mnimo de uma funo dada, de-
pendendo de vrios parmetros) [7].
Simulated Annealing (SA) uma meta heurstica genrica para problemas de otimi-
zao global que consiste em uma tcnica de busca local probabilstica. usada normal-
mente em grandes espaos de busca e se fundamenta numa analogia com a segunda lei
da termodinmica. Seu nome inspirado no processo de recozimento, utilizado em me-
talurgia para obteno de estados de baixa energia num slido. Neste processo, o metal
inicialmente aquecido altas temperaturas e, em seguida, resfriado lentamente e seu
resfriamento acompanhado e controlado de acordo com funes especcas.
O mtodo utiliza portanto um valor T que corresponde temperatura, este valor
reduzido durante a execuo. Inicialmente gerada uma soluo aleatria, sendo que
em algumas implementaes o valor T pode ser usado como parmetro de controle do
componente aleatrio. Nesse momento, a temperatura T assume um valor elevado e,
conforme o algoritmo progride, esse valor pode ser decrementado.
Para cada nova soluo gerada ocorre a comparao entre o resultado encontrado e
a melhor soluo encontrada. Se a soluo encontrada for melhor que a anterior, esta
substituda pela nova soluo. Caso contrrio, ultiliza-se uma funo (Equao 5) onde
pode ser aplicado o Fator de Boltzmann, para determinar se a soluo ser aceita [7].
Nesta equao kT o Fator de Boltzmann e E a energia em um determinado estado.
F(aceitabilidade) e
E
kT
22
Figura 11: Fluxograma do Mtodo Simulated Annealing.
23
(5)
Como consequncia, no incio do processo, quando a temperatura maior, mais
provvel aceitar novas solues, mesmo que inferiores em relao funo objetivo. Tal
probabilidade diminui exponencialmente ao longo da execuo. Atravs desta estratgia,
o mtodo SA tenta superar as barreiras energticas e escapar de mnimos locais.
Conforme ilustra o uxograma da Figura 11, aps um nmero N determinado de no-
vas solues, o valor da temperatura T atualizado. Este processo se repete at que o
critrio de parada seja atingido. Esse critrio pode ser um valor mnimo para a tempera-
tura, um nmero xo de etapas ou mesmo um tempo limite denido pelo usurio.
2.8 Algoritmos de Distribuio Estimada
Os Algoritmos de Distribuio Estimada (EDA) pertencem classe de algoritmos
evolutivos e tambm serviram de inspirao para a soluo proposta nesse trabalho. Esses
algoritmos j foram aplicados ao problema de dobramento apresentando bons resultados.
A principal diferena entre EDAs e algoritmos evolutivos mais convencionais que
os algoritmos evolutivos geram novas solues candidatas utilizando uma distribuio
implcita denida por um ou mais operadores de variao, enquanto EDAs utilizam uma
distribuio de probabilidade, que pode ser codicada por uma rede Bayesiana, uma dis-
tribuio normal multivariada, ou outra classe de modelo.
Conforme demonstra a Figura 12, os EDAs iniciam a busca criando um conjunto de
solues. De forma anloga, este conjunto seria denominado populao em um algoritmo
evolutivo. Inicia-se ento um ciclo de anlise dos resultados, seleo de bons resultados e
gerao de novo conjunto de solues. O critrio de parada que interrompe o ciclo pode
ser de acordo com o nmero de etapas, o tempo de execuo, entre outros.
Diversas tcnicas so usadas para otimizar a busca desses algoritmos. possvel divi-
dir os EDAs em classes de complexidade atravs da anlise dos modelos probabilsticos
usados por essas tcnicas.
Considerados mais simples algoritmos como PBIL (Population-Based Incremental
Learning), cGA (Compact Genetic Algorithm), e UMDA (Univariate Marginal Distri-
bution Algorithm) consideram todas as relaes entre variveis como independentes [4],
fatorando o espao de busca, considerando a probabilidade conjunta dos pontos como um
produto de probabilidades marginais univariadas.
Algoritmos como MIMIC (Mutual Information Maximization for Input Clustering),
BMDA (Bivariate Marginal Distribution Algorithm) e os baseados em rvores de depn-
dencia podem ser classicados como bivariados. Esses algoritmos podem representar as
relaes mais simples entre as variveis e podemser combinados para representar relaes
mais complexas.
24
Figura 12: Fluxograma de EDAs.
25
Os EDAs multivariados fatorizam a distribuio de probabilidade das relaes entre
as conexes em uma ordem maior que dois. Dentre eles esto o BOA (Bayesian Opti-
mization Algorithm), EcGA (Extended compact Genetic Algorithm) e o FDA (Factorized
Distribution Algorithm), que usa um modelo xo de interaes em todas as geraes.
Quanto maior a estrutura probabilstica e o grau de complexidade da anlise dos dados,
maior o esforo computacional em encontrar as solues que melhor se adaptam a essas
funes.
Algumas implementaes de EDA, assim como os algoritmos evolutivos tm di-
culdade em encontrar a soluo tima para protenas com sequncias longas [8]. Essa
diculdade pode ser descrita como uma convergncia prematura das solues devido
falta de diversidade na sua gerao.
2.9 Aprendizagem de Mquina
O conceito de Aprendizagem de Mquina pode ser descrito como um processo que
gira em torno de aprender atravs de uma determinada experincia [1]. Um programa de
computador dito capaz de aprender com a Experincia E a respeito de uma classe de
Tarefas T com Performance P, se a performance nas mesmas tarefas T, melhora em rela-
o P devido experincia E. Ou seja, pode-se dizer que uma mquina aprende, se ela
melhora sua performance na soluo de um problema atravs da experincia acumulada
nas solues anteriores [1].
A palavra performance pode ser analisada neste conceito como uma analogia ao
desempenho da mquina, visto aqui como o rendimento na execuo das Tarefas. Existe
portanto, uma anlise dos resultados da execuo das tarefas T em relao requisitos ou
metas. importante observar que o conceito de melhoria na performance pode ser obser-
vado sob diferentes perspectivas. Uma primeira anlise pode apontar para uma vantagem
em relao ao tempo de execuo, porm outros aspectos tambm so relevantes como a
qualidade dos resultados.
Os resultados das tarefas ou exemplos de treinamento tm uma distribuio de pro-
babilidade de certa forma desconhecida. A mquina aprendiz tem que extrair deles algo
mais geral, sobre a sua distribuio, que lhe permitir produzir previses teis em novos
casos.
Outra forma de analisar a aprendizagem ver como seu objetivo determinar uma hi-
ptese H, idntica ao alvo conceito C, ao longo de todo um conjunto de instncias X. A
nica informao disponvel sobre C, nesse caso, o seu valor ao longo dos exemplos de
treinamento. Portanto, algoritmos de aprendizado indutivo, ou seja, algoritmos que utili-
zam um conjunto de dados de treinamento, podem, no mximo, garantir que a hiptese
de sada se encaixa no conceito C ao longo dos dados de treinamento. Na falta de mais
informaes, considera-se que o melhor hiptese sobre todos os casos, inclusive os no
26
observveis, a hiptese que melhor se ajusta aos dados de treinamento observados.
Uma mquina aprendiz que no faz suposies a priori sobre a identidade do conceito
alvo no tem nenhuma base racional para a classicao das instncias no observveis,
esta uma propriedade fundamental da inferncia indutiva [1]. Devido importncia
dos exemplos de treinamento para as tcnicas de aprendizagem de mquina, podemos ca-
racterizar essas tcnicas de acordo com o o tipo de inferncias indutiva realizada atravs
desses exemplos. A idia principal a ser percebida a poltica atravs da qual a m-
quina aprendiz generaliza os dados no observveis, para inferir a classicao de novas
instncias. Uma vantagem de visualizar esses sistemas de inferncia em termos do vis
indutivo que ele fornece uma forma de caracterizar a sua poltica de generalizao dos
dados. Uma segunda vantagem que permite a comparao dos diferentes aprendizes
de acordo com sua capacidade indutiva. Para ilustrar essa idia so analisadas algumas
tcnicas de aprendizagem de mquina [1].
O algoritmo Rote-Learner, que aprende por repetio, simplesmente armazena os da-
dos de treinamento em memria. As instncias futuras so classicadas comparando-as
com esses dados na memria. Se a instncia encontrada, ela recebe a mesma classica-
o armazenada em memria, do contrrio o sistema no retorna nenhuma classicao.
Este algoritmo no faz indues, toda classicao fornecida segue dedutivamente o que
foi observado nos exemplos de treinamento.
Em um algoritmo de eliminao de candidatos, (Candidate-Elimination Algorithm)
novas instncias so classicadas somente se todos os membros classicadores da verso
atual do espao concordam com a classicao. Do contrrio, o sistema se recusa a prover
uma classicao. Neste caso existe um certo nvel de induo, portanto este mtodo
classicar instncias que o algoritmo Rote-Learner no seria capaz de classicar.
O algoritmo denominado Find-S busca a hiptese mais especca que condiz com os
exemplos de treinamento. A partir desta hiptese ele classica todos as instncias futuras.
Este algoritmo tem um vis indutivo ainda maior, pois alm de considerar que todas as
instncias podem ser classicadas atravs da hiptese especca, tambm supe que o
conceito alvo est contido neste espao hipottico.
Quanto mais indutivo for o algoritmo de aprendizagem, maior a parcela de instncias
que ele ser capaz de classicar. O nvel de correo dessas classsicaes depende
obviamente da qualidade do mtodo indutivo e dos exemplos de treinamento [1].
3 TRABALHOS RELACIONADOS
Neste captulo so discutidos trabalhos relacionados ao algoritmo proposto nessa dis-
sertao. So discutidos trabalhos que apresentam algoritmos para predio de protenas
reais e principalmente trabalhos que implementam algoritmos de dobramento conside-
rando o Modelo AB. So destacados os trabalhos que foram utilizados no Captulo 5
onde apresentada a comparao dos resultados obtidos com o algoritmo proposto com
os trabalhos relacionados.
Conforme explicado, predizer a estrutura nativa de uma protena a partir de sua
sequncia um dos problemas mais difceis em Bioinformtica. Esta diculdade pro-
vem de dois aspectos: o tamanho do sistema da mesma ordem do nmero de tomos
envolvidos e o espao de solues , por consequncia, muito complexo. Este espao de
solues pode ser descrito como uma srie de mnimos locais, separados por barreiras
com altssimos valores energticos.
Ansen [2] analisa detalhadamente o dobramento de protenas reais a partir de uma
srie de aspectos do problema, como as relaes no locais e a conformao de ncleos
e padres locais. Porm, mesmo percebendo a complexidade do problema, considera que
com a crescente quantidade de dados disponvel e com a evoluo terica, a ideia de pre-
ver o dobramento de protenas tem se tornado mais realista. De acordo com a hiptese
de Ansen [3], a estrutura terciria nativa de uma protena pode ser determinada a partir
da informao contida na sequncia primria, o que permitiria que mtodos computacio-
nais fossem desenvolvidos para predizer estruturas tercirias quando a primria estivesse
disponvel.
Considerando que a congurao que possui menor energia livre a conformao
nativa da protena-alvo, essa hiptese levanta dois principais problemas. O primeiro
desenvolver uma frmula que dena a energia de uma protena real. O segundo problema
desenvolver os mtodos computacionais de otimizao para busca da energia mnima
atravs dessa frmula. No entanto, ainda no existem ferramentas computacionais capa-
zes de predizer a estrutura tridimensional de uma grande variedade de protenas. Devido
complexidade do problema modelos simplicados foram propostos.
O modelo simplicado mais utilizado conhecido como Modelo HP (Lattice), onde
28
cada aminocido tratado como um vrtice de uma grade ortogonal de duas ou trs di-
menses [9]. Neste modelo simplicado, as sequncias so compostas por dois tipo de
aminocidos: H hidrofbicos e P hidrlos. Sendo o modelo mais simplicado, somente
as interaes no conectadas nos resduos tipo H vizinhos so consideradas, negligenci-
ando outras relaes no locais causadas por ligaes P-P, H-P e H-H no vizinhos.
Em um artigo sobre o dobramento de protenas, Unger e Moult [29] descrevem um
Algoritmo Gentico que utiliza cruzamento baseado em heursticas e operadores de mu-
tao para resolver o Modelo HP. O algotimo gentico foi capaz de superar os mtodos
de Monte Carlo (MC) [27] em diferentes sequncias. importante salientar que os algo-
ritmos propostos para solucionar o Modelo HP podem no ser extensveis ao Modelo AB
devido ao formato das solues no discreto do Modelo AB. E, mesmo naqueles em que
possvel uma adaptao, pode resultar em uma grande perda de ecincia.
Conforme decrito na Seo 2.8, EDAs so algoritmos evolutivos que constroem um
modelo probabilstico explcito a partir de um conjunto de solues selecionadas. Desta
forma, pode-se captar interaes relevantes entre as variveis do problema, analisando
provveis dependncias existentes. Um algoritmo de estimao de distribuio utilizando
o modelo de Markov [24] apresentou resultados ainda melhores que os de outros mtodos
baseados em populaes ou conjuntos de solues no Modelo HP.
Em 1993, Stillinger, Head-Gordon e Hirshfeld publicaram um modelo de protenas
simplicado que considerava os efeitos no locais e iniciaram os estudos desse modelo
atravs de algoritmos baseados em redes neurais. Nesse artigo [28], so analisadas trme-
ros, tetrmeros e pentmeros, e apresentada uma tabela com as conformaes de menor
energia para todas estas sequencias de aminocidos.
A partir da anlise apresentada neste artigo [28] possvel perceber que algumas
sequencias de aminocidos deste modelo apresentam como conformao mais estvel,
ou seja, de menor energia, uma protena linear. Estes casos no so relevantes para o
problema de dobramento pois o objetivo do modelo encontrar conformaes similares
s encontradas na natureza. Na Tabela 3 so apresentados os resultados relevantes para
este trabalho obtidos por Stillinger.
Em um artigo posterior, Stillinger [27] ressalta a importncia das sequncias de ami-
nocidos para o Modelo ABe so analisadas diferentes sequncias para protenas maiores,
de at 55 aminocidos. Dois tipos de sequncias so analisadas, o primeiro tipo denomi-
nado Center Doped e usa o padro (An-B-An), enquanto o segundo se inspira na srie de
Fibonacci. As protenas geradas a partir de sequencias de Fibonacci apresentaramcaracte-
rsticas muito relevantes como a conformao de padres locais e solues distintas para
diferentes polmeros, por isso este trabalho utiliza este sequenciamento. Stillinger [27]
rearma ainda a imensa diculdade computacional intrnseca em prever o dobramento de
grandes protenas.
O artigo em que apresenta o Modelo AB [28], utiliza algoritmos de Redes Neurais
29
Tabela 3: Resultados obtidos por Stillinger [28]
Cadeia Energia
FIBO3(BAB) -0.3027
TETRA0(AAAA) -1.67633
TETRA1(AAAB) -0.58527
TETRA2(AABA) -1.45098
TETRA3(AABB) 0.06720
TETRA4(ABAB) -0.64938
TETRA5(ABBA) -0.03617
TETRA6(ABBB) 0.00470
TETRA7(BAAB) 0.06172
TETRA8(BABB) -0.00078
TETRA9(BBBB) -0.13974
FIBO5(ABBAB) -0.00565
para obter seus resultados de dobramento. Tambm conhecidos como Redes Neurais
Articiais, so algoritmos que simulam os neurnios no seu funcionamento e so muito
ecientes em mtodos de classicao.
Outras formas de explorar o problema de dobramento de protenas com o Modelo AB
j utilizadas so baseadas no Mtodo de Monte Carlo (MC) [27]. Este mtodo tambm foi
explorado por Stillinger e consiste em gerar amostragens aleatrias para obter resultados
numricos que representem o espao de busca. Este mtodo muito comumente utilizado
quando a distribuio probabilistica do espao de busca desconhecida, como o caso
do problema de dobramento. Dentre essas tcnicas, a que apresentou resultados mais
relevantes denominada Annealing Contour Monte Carlo (ACMC) [18].
ACMC uma verso acelerada do algoritmo CMC (Countour Mounte Carlo) para
problemas de dobramento. O CMC uma generalizao do algoritmo Wang-Landau e do
algoritmo 1/k-ensemble e pode ser utilizado em sistemas discretos e contnuos. Devido
capacidade de auto ajuste, o CMC capaz de superar qualquer barreira energtica no
espao de busca. O ACMC prope uma diviso desse espao de busca em regies, sendo
que o nmero de regies diminue ao longo da busca atravs de uma funo especca
[18].
Aps a proposta do Modelo AB, diversos estudos foram realizados com diferentes
algoritmos, como Conventional Metropolis Monte Carlo e Simulated Tempering [14].
Entre as tcnicas que merecem destaque no campo do dobramento: Multicanonical Monte
Carlo, Pruned-Enriched Rosenbluth Method [12], Simulated Tempering e Articial Bee
Colony [17] .
Neste trabalho apresentado, no Captulo 5, um conjunto de resultados onde as so-
lues de dobramento para diferentes sequncias so comparadas entre o algoritmo pro-
posto e alguns trabalhos relacionados que merecem destaque como o algoritmo CSA ou
30
Tabela 4: Comparao dos trabalhos relacionados
Algoritmo Seq. de Fibonacci Protenas reais Modelo AB 3D
ACMC [18] 13 - 55 No Sim
STMD [15] 55 No Sim
HTS [19] 13 - 55 Sim No
CSA [16] 13 - 55 No Sim
ELA+ANN (Proposta) 13 - 55 Sim No
Conformational Space Annealing. O mtodo CSA busca todo o espao de solues em
seus estgios iniciais, depois estreita a busca para regies menores de baixa energia de
acordo com uma distncia determinada [16].
Outro algoritmo que serve de comparao nos resultados o Statistical Tempera-
ture Molecular Dynamics (STMD). Este mtodo se diferencia por utilizar dados estatsti-
cos relacionados temperatura no lugar das densidades dos estados em uma distribuio
Wang-Landau. O trabalho comparado [15] que utiliza esse algoritmo tambm apresenta
implementao e resultados para o Modelo AB tridimensional.
O algoritmo Heuristic-based Tabu Search (HTS) tm sido aplicado com sucesso em
problemas de otimizao [19]. Integrando mecanismos de conformao heurstica e o m-
todo tradicional Tabu Search (TS), o algoritmo apresentou bons resultados para o Modelo
AB e tambm aparece na tabela de comparaes de resultados desse trabalho.
A Tabela 4 relaciona os trabalhos que sero utilizados como comparao e demonstra
quais as sequncias utilizadas em cada um deles. Todos algoritmos apresentados neste
artigo compartilham do mesmo desao: Ultrapassar as barreiras energticas do espao de
solues e escapar dos timos locais para atingir a real soluo do problema.
A seguir apresentada a proposta que tem como objetivo superar essas barreiras atra-
vs de mtodos inspirados em Simulated Annealing, aprendizagem de mquina e EDAs e
buscam utilizar a distribuio de probabilidade para extrair dados que auxiliem na evolu-
o da busca pela soluo.
4 PROPOSTA DE ALGORITMO PARA O MODELO AB
Neste trabalho so propostos dois algoritmos para dobramento de protenas no Modelo
AB. O primeiro algoritmo, chamado de algoritmo ANN inspirado no Simulated Annea-
ling. Esse algoritmo utiliza uma varivel para gerar novas solues cujo valor diminui ao
longo da sua execuo. Nesse algoritmo, a busca pela soluo no utiliza nenhum tipo de
aleatoriedade. Devido sua simplicidade, este mtodo converge sempre para um timo
local.
Por esse motivo foi desenvolvido um algoritmo mais complexo denominado ELA,
capaz de explorar o espao de busca de forma inteligente. O segundo algoritmo proposto
baseado nos algoritmos EDAs e nos conceitos de aprendizagem de mquina e utiliza
dois parmetros bsicos para gerar novas solues: Rigidez e Ecincia. Os valores
desses parmetros so ajustados de acordo com a busca e tm como objetivo representar
a distribuio de probabilidade das instncias no observveis.
Os dois algoritmos so utilizados em conjunto, sendo primeiramente aplicado o algo-
ritmo ELA para realizar uma busca inicial, gerando novas solues, aplicando em seguida
o algoritmo ANN para renar as melhores solues encontradas. Foi desenvolvida ento
uma aplicao para realizar a execuo os algoritmos na ordem desejada. Essa aplicao
tambm cumpre a funo de serializar os testes, gerar dados para anlise e desenvolvi-
mento e exibir as solues gracamente.
4.1 Algoritmo ANN
De forma anloga ao mtodo Simulated Annealing, porm de forma simplicada, foi
desenvolvido o algoritmo ANN que substitui a soluo atual por uma soluo prxima,
escolhida de acordo com uma funo objetivo e com uma varivel que representa a tem-
peratura ou a quantidade de energia da busca.
medida que o algoritmo progride, o valor dessa varivel decrementado, dessa
forma a busca gera valores menores, convergindo a soluo para um timo local. No
problema de dobramento essa varivel com o valor inicialmente alto representa o ngulo
entre os aminocidos e a funo objetivo a Equao 1 apresentada na Seo 2.4.
32
Figura 13: Fluxograma do algoritmo ANN inspirado em Simulated Annealing.
33
Algorithm 2 Pseudo cdigo do algoritmo ANN inspirado em Simulated Annealing
while stopCriteria do
for amino in protein do
esq = amino.ang + a
if esq < min then
min = esq
end if
dir = amino.ang - a
if dir < min then
min = dir
end if
end for
a = a * delta
end while
return min
Figura 14: Busca restrita uma regio com solues no timas.
34
Esse algoritmo no possui nenhuma funo especca que torne possvel a aceitao
de solues inferiores s encontradas anteriormente e no utiliza nenhum tipo de aleatori-
edade. Devido ao fato de o algoritmo no apresentar ferramentas para escapar de situaes
em que a conformao apresenta um valor de energia baixo em relao s conformaes
vizinhas (timos locais), a busca no parte para uma conformao inicial promissora.
O funcionamento do algoritmo ANN est resumido no uxograma apresentado na
Figura 13. Este algoritmo pode ser descrito como uma verso simplicada do mtodo Si-
mulated Annealing tradicional e funciona da seguinte forma: o valor inicial a dos ngulos
determinado pelo usurio. A cada etapa, cada ngulo do modelo alterado nas duas
direes, positiva e negativa, calculando a energia de ambas conformaes. escolhida
ento a conformao mais estvel entre as trs conformaes calculadas (direo positiva
+a, direo negativa -a e no alterar o ngulo). Aps o clculo do ltimo ngulo da cadeia
decrementado o valor de a atravs do parmetro delta.
O parmetro delta denido entre 0 e 1 e determina como ser reduzida a tempera-
tura, conforme demonstra o Algoritmo 2. O valor a multiplicado por delta, dessa forma
o ngulo a tende a 0 ao longo da execuo. Caso o critrio de parada denido pelo usurio
no tenha sido atingido, inicia-se ento uma nova execuo.
Apesar do algoritmo ANN no apresentar bons resultados no incio da busca por uma
soluo, se mostrou um bom mtodo para renar solues. O algoritmo ca restrito
reas cujo permetro formado por solues com alto valor energtico, em outra palavras,
ele no ultrapassa as barreiras energticas (Figura 14) entre os timos locais. Porm o
algoritmo se demonstrou muito ecaz como mtodo de descida, ou seja, em nalizar
buscas, ajustando os ngulos at a melhor conformao local.
Dessa forma, optou-se por executar esse algoritmo para renar a soluo encontrada
por outro mtodo capaz de explorar o espao de busca de forma inteligente, sem retringir-
se a esses vales, ou timos locais, que impedem o caminho para a soluo tima.
Por esse motivo, neste trabalho foi desenvolvido um novo algoritmo, com o objetivo
de melhorar a busca por dobramentos iniciais, considerando a problemtica dos timos
locais. Esse algoritmo chamado de ELA foi desenvolvido para atuar em conjunto com o
ANN e descrito na prxima seo.
4.2 Algoritmo inspirado em Distribuio Estimada - ELA
De forma a contornar os problemas apresentados pelo algoritmo ANN, foi desenvol-
vida uma soluo que utilizasse tcnicas menos diretas, que tratassem o problema em
um nvel mais subjetivo. Buscou-se ento, conceitos mais abrangentes, que pudessem
ser aplicados diversas classes de problemas. Dentre esses conceitos, dois foram os que
serviram de inspirao para esta proposta: o conceito de Aprendizagem de Mquina (Ma-
chine Learning) e os algoritmos de Distribuio Estimada (EDAs).
35
O conceito de aprendizagem de mquina foi incorporado ao algoritmo ELA proposto
neste trabalho para o dobramento de protenas de forma que, a cada dobramento, um
conjunto de dados ou parmetros proveniente da busca pela soluo fosse armazenado.
Essa a memria onde cam armazenados os valores dos parmetros, guarda a experincia
do algoritmo. Ao gerar novos dobramentos o algoritmo usa os parmetros para obter
melhores solues. Atravs desta heurstica, os parmetros se adaptam na medida que a
busca prossegue, de forma a direcionar a gerao de novas solues.
A inspirao proveniente dos EDAs para o algoritmo proposto foi a de utilizar fatores
de aleatoriedade sempre guiados explicitamente por valores especcos. Esses valores
so extrados da prpria soluo do problema e por isso moldam probabilisticamente o
caminho para a soluo. A partir desses conceitos, foi desenvolvido o algoritmo, deno-
minado Algoritmo de Aprendizagem Estimada (Estimated Learning Algorithm - ELA),
onde esses valores so usados para selecionar e gerar ngulos.
O algoritmo ELA proposto parte de uma protena no Modelo AB com sua sequncia
de aminocidos linear e por meio de dois parmetros, chamados de Rigidez e Ecincia,
ajusta os ngulos entre os aminocidos sucessivamente. Aps cada ajuste, ou dobras, a
energia da protena calculada e os parmetros so atualizados com base nos resultados.
O pseudo cdigo descrito no Algoritmo 3 e no uxograma da Figura 18 resume o
funcionamento do algoritmo. Inicialmente gerado um conjunto de solues inicial, ou
populao, totalmente formado por solues lineares. Em seguida so inicializados os
parmetros de Rigidez e Ecincia, cada um com o mesmo comprimento da cadeia menos
dois (o primeiro e o ltimo ngulo no so relevantes).
A partir da, a cada etapa, so selecionados os primeiros resultados que serviro de
referncia para a gerao de novas solues. Em seguida, para cada item do conjunto de
solues feita uma seleo aleatria multinomial atravs da Ecincia para denir quais
ngulos sero alterados. ento realizada a alterao dos ngulos aleatoriamente atravs
de uma funo Gaussiana que considera a Rigidez. Por m, o conjunto de solues
ordenado por energia de forma crescente, sendo o modelo mais estvel o primeiro do
conjunto. Caso o critrio de parada denido pelo usurio no tenha sido atingido, inicia-
se uma nova etapa, caso contrrio, o algoritmo retorna o primero item do conjunto.
O nmero de resultados utilizados para a gerao de novas solues calculado atra-
vs de um parmetro (parent) que dene a porcentagem do conjunto de solues que ser
utilizada.
O conceito denominado Ecincia (efficiency) representa a performance do dobra-
mento de determinado aminocido. Esse parmetro utilizado no momento em que
selecionado o ngulo onde sero realizadas as novas dobras. Esta seleo aleatria e
multinomial, sendo que quanto maior a Ecincia de um aminocido do modelo, maior
a chance dele ser selecionado conforme demonstrado na Figura 15. A Ecincia de um
aminocido pode aumentar quando a dobra realizada aumenta a estabilidade da protena,
36
Algorithm 3 Pseudo cdigo do algoritmo ELA inspirado em EDA
for p in population do
population[p] = new Protein([ang: linear, a - 2])
end for
for a in protein do
parameters = initParameters([efciency: [1, a - 2], rigidity: [1, a - 2]])
end for
while stopCriteria do
for p in population do
ref = population[ int(p * parent) ]
end for
sum = 0
for a in parameters do
parameters[a].low = sum
sum = sum + parameters[a].efciency
parameters[a].up = sum
end for
r = random * sum
for a in parameters do
if parameters[a].low <= r and r < parameters[a].up then
selectedAngle.push(a)
parameters[a].remove()
end if
end for
p = [ang: gaussRandom(selectedAngle[a], 1/rigidity)%(PI*2)]
population.push(new Protein(p))
population.sortByEnergy()
end while
return population[0]
37
assim o algoritmo aumenta as chances de sucesso das dobras seguintes.
No exemplo da Figura 15, o quarto ngulo possui Ecincia igual a 4, o que implica
em uma chance de 50% de ser escolhido, enquanto os ngulos cuja Ecincia igual a 1
tm somente 12,5%.
A Ecincia inicializada com valor um para todos os aminocidos sendo este o
valor mnimo aceitvel, isso signica que, no incio da execuo, todos aminocidos tm
a mesma chance de serem selecionados. O limite mximo para os valores de Ecincia
determinado pelo usurio. Existem dois parmetros que determinam como sero alterados
os valores de Ecincia. Um parmetro para os casos de sucesso, quando a soluo
encontrada mais estvel que aquela utilizada como referncia. E outro parmetro para
os casos onde a energia encontrada superior, ou seja, os casos de falha.
Figura 15: Ecincia - Seleo de novos ngulos.
A cada passo, so alterados um nmero determinado de ngulos ao longo da estrutura
primria. Este nmero de ngulos estabelece uma relao de proporcionalidade com o
comprimento da cadeia. Na situao onde se alteram muitos ngulos, a informao que
relaciona quais destes ngulos contribuiu para a soluo se torna menos convel. Porm
alterando somente um ngulo por vez, torna-se impossvel encontrar o dobramento timo
sem aceitar solues energticamente superiores, principalmente em protenas com gran-
des cadeias primrias. Isso se deve ao fato de que, ao alterar somente um ngulo, estamos
explorando uma nica dimenso do espao de solues. O fato que no h um caminho
constitudo por linhas ortogonais que leve soluo tima sem passar por solues alta-
mente instavis visvel e est demonstrado na Figura 16. Nos testes foi utilizado um
nmero xo de dois ngulos alterados por vez, este nmero foi selecionado com base na
calibragem realizada para as sequncias estudadas.
A Rigidez (rigidity) inuencia diretamente no valor do incremento do ngulo gerado
em cada novo dobramento, sendo que quanto mais rgido, ou seja quanto maior o valor
do parmetro do aminocido que representa a Rigidez, menor provavelmente ser o novo
ngulo gerado. Dessa forma, no incio da busca as mudanas so maiores (Figura 17 -
Rigidez 1) e, na medida em que a protena se dobra em estados mais estveis, a Rigidez
38
Figura 16: Busca alterando apenas um ngulo.
aumenta e tambm aumenta a probabilidade de gerar ngulos mais agudos, provocando
assim um ajuste cada vez mais no dos ngulos (Figura 17 - Rigidez 5).
A Rigidez inicializada com valor um para todos os aminocidos sendo este o valor
mnimo aceitvel se e seu valor mximo determinado pelo usurio. Utiliza-se uma
funo Gaussiana que considera o inverso da Rigidez como varincia e o prprio valor
do ngulo como mdia para gerar os valores dos novos ngulos. Em Javascript, esta
distribuio normal foi implementada atravs do mtodo polar [25] .
Figura 17: Rigidez - Gerao de novos ngulos.
Os valores de Rigidez so alterados de forma similar aos valores de Ecincia. Exis-
tem dois parmetros que ajustam os valores em caso de sucesso ou falha. Porm atravs
de parmetros especcos possvel alterar o valor da Rigidez dos ngulos vizinhos sem-
pre que existe uma alterao dos parmetros. Com isso possvel tornar uma determinada
parcela da cadeia mais rgida, conservando assim trechos onde a dobra foi bem sucedida.
Existem dois parmetros que controlam este comportamento, um que determina o nmero
de vizinhos afetados e outro que, atravs de uma expresso, altera o quanto os vizinhos
especicados so afetados.
39
Figura 18: Fluxograma do algoritmo ELA inspirado em EDAs.
40
Aps a gerao de um conjunto de solues com base nos parmetros de Ecincia
e Rigidez, este conjunto ordenado com base no valor energtico calculado atravs da
Equao 1. O algoritmo de ordenao utilizado pode variar de acordo com o comprimento
da cadeia primria e determinado pelo interpretador Javascript. O critrio de parada
do algoritmo um parmetro xo informado pelo usurio. Esse parmetro determina o
nmero de etapas, sendo cada etapa denida como a gerao, anlise, ordenao e seleo
de uma populao ou conjunto de solues.
4.3 Aplicao para execuo de experimentos
Com o objetivo de serializar a execuo dos algoritmos ANN e ELA, auxiliar a cali-
bragem dos parmetros e demonstrar os resultados obtidos, foi desenvolvida uma aplica-
o com interface de usurio amigvel capaz de serializar os testes e armazenar os dados
em disco para posterior anlise. A aplicao recebe uma srie de parmetros inseridos
pelo usurio e utiliza-os para realizar testes em srie. Esta interface foi desenvolvida de
forma a ser utilizada em paralelo execuo dos algoritmos, dando liberdade de anlise e
manipulao dos dados durante sua execuo sem alterar sua performance.
A aplicao para execuo dos experimentos envia os valores dos parmetros para os
algoritmos e recebe os resultados por meio dessa interface com o usurio. Entre estes pa-
rmetros esto os valores limites para os algoritmos (critrios de parada), o comprimento
do conjunto de solues (tamanho da populao), os valores que alteram a Ecincia
e a Rigidez e seus limites, nmero de ngulos alterados por etapa, nmero de vizinhos
alterados pela Rigidez, entre outros (Figura 21).
A aplicao executa os algoritmos em paralelo ao navegador, porm importante
ressaltar que somente um algoritmo executado por vez, ou seja, somente a interface de
usurio (User Interface - UI) funciona de forma paralela ao restante da aplicao. O nico
objetivo de excutar a UI em paralelo aos algoritmos o de permitir que o usurio possa
visualizar e editar os dados dos testes nalizados durante a execuo de novos testes.
O funcionamento da aplicao est resumido no uxograma da Figura 19. Aps re-
ceber os dados iniciais, a aplicao inicializa os parmetros de Rigidez e Ecincia para
o algoritmo ELA. Em seguida iniciam-se os testes sempre aplicando consecutivamente,
por um nmero determinado de etapas, o algoritmo ELA seguido do algoritmo ANN. Os
testes so divididos em conjuntos, com o objetivo de utilizar diferentes parmetros para
cada conjunto. Os conjuntos so necessrios devido aos fatores aleatrios, sendo que a
aplicao calcula a mdia dos testes dos conjuntos para anlise.
A aplicao gerencia os parmetros de Rigidez e Ecincia de modo a permitir que
o usurio escolha se esses valores sero guardados aps cada teste ou se haver a rei-
nicializao dos parmetros a cada teste. Dessa forma, possvel observar como esses
parmetros se comportam aps uma nmero especco de testes.
41
Figura 19: Fluxograma da aplicao web.
42
Figura 20: Resultado grco de um conjunto de testes.
Cada conjunto de testes realizado repetidamente com os mesmos parmetros para a
mesma cadeia por um nmero de vezes previamente determinado. Uma tabela preen-
chida em tempo real com os ngulos e energias do melhor modelo encontrado em cada
teste. Ao m de cada conjunto de testes, um grco (Figura 20 ) gerado demonstrando
a performance dos modelos gerados.
Desta forma possvel determinar se aquele conjunto de testes teve resultados seme-
lhantes, ou se somente poucos modelos obtiveram valores energticos pequenos. Para
facilitar esta anlise, ao m da execuo dos testes tambm apresentada a mdia das
energias de todos os testes. Tambm so exibidos o tempo mdio e o tempo total de exe-
cuo para cada modelo. O modelo mais estvel renderizado gracamente de forma a
facilitar a anlise visual da qualidade das dobras.
A interface apresenta duas barras de progresso, sendo a segunda barra responsvel
por exibir em porcentagem o progresso de cada conjunto de testes enquanto a primeira
exibe o progresso total do experimento. O nmero de testes em cada conjunto determi-
nado pelo usurio e o nmero de conjuntos de testes em cada experimento obtido pela
quantidade mxima de valores especicados para um nico parmetro. Caso o usurio
no especique um valor para um parmetro em testes consecutivos, utilizado o ltimo
valor em memria utilizado por aquele parmetro.
O parmetro que controla o nmero de testes em cada conjunto, juntamente com os
dois parmetros que controlam o nmero limite de passos (critrio de parada) dos algo-
ritmos ELA e ANN, so os que inuenciam diretamente na durao dos experimentos.
Outro parmetro que tem uma forte inuncia no tempo de execuo o que determina
qual sequncia ser analisada.
43
Figura 21: Interface da aplicao para execuo de experimentos.
Aps diversos conjuntos de testes, ao m da execuo, um novo grco interativo
gerado com o objetivo de comparar os resultados dos testes obtidos conforme mostra
a Figura 21. Neste grco, so exibidos os valores de enegia obtidos pelos melhores
modelos de cada teste. Este grco ser usado para demonstrar a relao entre os valores
dos parmetros analisados e seus resultados a seguir.
5 RESULTADOS
Apesar de desenvolver os algoritmos ANN e ELA buscando minimizar a utilizao de
parmetros, com uma implementao simples e de fcil entendimento, os mesmos exigem
um total de 20 parmetros. Analisar e entender cada um deles uma tarefa complexa
pois existe uma relao estreita entre cada um, ou seja, esta uma anlise combinatorial
que no cabe neste trabalho. Devido a esta quantidade signicativa de parmetros, foi
necessrio restringir o nmero de parmetros analisados.
Foi ento realizada uma calibragem inicial manual atravs da anlise individual dos
dados. Aps esta calibragem, partiu-se para a anlise devida dos parmetros que foram
considerados mais relevantes para esta contribuio. Os parmetros analisados foram
aqueles que melhor demonstravam a proposta, ou seja, aqueles cujos valores so mais
indiretos e que tratam do problema de forma mais abstrata. Este critrio foi estabelecido
com o objetivo de ampliar a anlise da proposta, tornando-a mais facilmente adaptvel a
outros problemas.
Foram realizados 30 testes para cada conjunto de parmetros analizados utilizando a
cadeia Fibonacci(7) com 21 aminocidos na cadeia.
Aprimeira anlise feita (Figura 22) compara os resultados dos algoritmos ELAe ANN
com o objetivo de vericar sua validade. Essa anlise foi feita de forma independente para
a Rigidez e para a Ecincia, demonstrando assim o quanto cada um contribui realmente
para o algoritmo ELA. Para realizar tal anlise, foram zerados os parmetros que alteram
esses valores, fazendo com que ambos vetores, de Ecincia e Rigidez, mantivessem
o valor de uma unidade. Como consequncia tem-se, para a Ecincia, que todos os
aminocidos do modelos tenham sempre a mesma chance de serem escolhidos, e para a
Rigidez, que todos os ngulos gerados tenham sempre a mesma varincia.
Foram realizados seis conjuntos de testes (eixo y do grco da Figura 22) sendo o
primeiro chamado Random, com a congurao descrita no pargrafo anterior para todos
os parmetros que alteram a Ecincia e Rigidez, e tambm foi zerado o nmero de
etapas do algoritmo ANN. Nessa congurao, o algoritmo se assemelha a um algoritmo
gentico onde no h recombinao ou cruzamento, somente mutaes.
O segundo conjunto de testes utilizou os valores obtidos atravs da calibragem para o
45
parmetro de Ecincia exclusivamente. Em seguida foi feita a mesma anlise somente
para a Rigidez. No quarto conjunto foram novamente zerados os valores que alteram
Ecincia e Rigidez e determinou-se um nmero xo de 200 etapas para o algoritmo
ANN. Os ltimos testes demonstram a atuao em conjunto dos conceitos de Ecincia e
Rigidez e por m a atuao conjunta de todos os algoritmos na busca pela soluo.
Figura 22: Anlise dos resultados de testes para a sequncia FIBO7(21).
Observa-se, pela mdia, que todos os conceitos contribuem para melhorar os resulta-
dos obtidos, porm nemsempre o mnimo encontrado emcada conjunto de testes acompa-
nha a mdia dos resultados dos testes. O renamento atravs do algoritmo ANN contribui
tanto para os resultados quanto a utilizao em conjunto dos dois conceitos (Rigidez e E-
cincia) do algoritmo ELA. O melhor resultado foi obtido atravs da execuo de ambos
algoritmos atuando em srie (Figura 22).
A calibragem dos parmetros que alteram os valores de Rigidez e Ecincia em caso
de sucesso (modelo mais estvel) ou falha fundamental para que o algoritmo ELA ob-
tenha bons reultados. Esses parmetros so analisados de forma independente para a
ecincia e foram gerados os grcos que demonstram sua relao. Nas guras 23 e 24
possvel vizualizar as relaes entre os parmetros e os resultados obtidos.
Um valor positivo para o parmetro relacionado Ecincia em caso de sucesso, sig-
nica que, caso uma dobra naquele ngulo resulte em um modelo mais estvel, a chance
de selecionar novamente o mesmo ngulo ser maior. No caso desse mesmo valor ser
negativo, a chance de voltarmos este aminocido ser menor.
De forma anloga, se o parmetro relacionado Rigidez em caso de sucesso for de-
nido como positivo, em uma dobra bem sucedida, a Rigidez deste ngulo aumentar.
Valores negativos para este parmetro tornaro os ngulos mais exveis quando forem
46
Figura 23: Energia mnima em relao aos parmetros que alteram a ecincia.
47
Figura 24: Energia mdia em relao aos parmetros alteram a ecincia.
48
encontrados modelos mais estveis.
Os valores para casos de falha so consideravelmente menores que os de sucesso
devido ao fato de obtermos um nmero pequeno de sucessos em um novo conjunto de
solues. Desta forma, os valores so alterados diversas vezes com incrementos pequenos
(falhas) e, nas solues de sucesso, os valores maiores fazem a compensao. Se no
houver esse equilbrio, os valores dos parmetros no sero alterados na maior parte dos
resultados pois tero atingido seu limite. Os valores precisam estar equilibrados para
cumprirem sua funo na busca.
Observa-se atravs do grco das mdias da Figura 24 que o valor ideal para essa
sequncia de 1 para os casos de sucesso e de 0,0000005 para os casos de falha. Porm
esses valores tambm tm relao com outros parmetros e seu desempenho pode mudar
para outras sequncias.
Quando realizada uma alterao no valor da Rigidez de um ngulo, tambm so
alterados um nmero determinado de vizinhos. Determinar esse nmero de vizinhos e
como so alterados seus valores possvel atravs de parmetros especcos. A anlise
desse nmero de vizinhos, de 0 6 vizinhos afetados pela Rigidez, apresentada na
Figura 25. Foi utilizada uma expresso linear para distribuir essa alterao porm outras
formas de distribuio poderiam ser utilizadas.
Para a sequncia testada, de acordo com a mdia, o valor ideal de vizinhos de trs.
Esse nmero de vizinhos a alterar um valor que est provavelmente relacionado direta-
mente ao comprimento da cadeia primria. Outras propriedades da cadeia tambm podem
inuenciar no valor ideal para este parmetro como o nmero de aminocidos consecuti-
vos de mesmo tipo.
Figura 25: Anlise do nmero de vizinhos afetados pela Rigidez.
A seguir so apresentadas na Figura 26 as comparaes dos resultados encontrados
neste trabalho com os de outros trabalhos contemporreos que compartilham do mesmo
modelo. Para os algoritmos ACMC, STMD e CSA no foram encontrados resultados com
as cadeias baseadas em proteinas reais.
49
Tabela 5: Comparao de resultados atuais
Cadeia ACMC [18] STMD [15] HTS [19] CSA [16] ELA+ANN (Proposta)
FIBO6(13) -3.2941 -3.2941 -3.2941 -3.2941 -3.27562491074513
FIBO7(21) -6.1976 -6.1980 -6.1680 -6.1980 -6.0578768984653
FIBO8(34) -10.8060 -10.8060 -10.8060 -10.8060 -9.23852675468751
FIBO9(55) -18.7407 -18.9202 -19.257 -18.9296 -13.441023912647
1AGT(34) - - -23.0575 - -23.2433303926769
1AHO(64) - - -22.7554 - -21.7818222352442
partir da anlise dos resultados descritos na Tabela 5, pode-se notar que para as pro-
tenas com as sequncias FIBO6(13), FIBO7(21) e FIBO8(34) os resultados do algoritmo
proposto (ELA+ANN) se assemelha aos da literatura.
A nica cadeia que no apresentou um resultado satisfatrio foi Fibonacci 9, talvez
um dos motivos desse resultado inferior seja o fato dessa ser uma cadeia longa, com
55 aminocidos. Para a protena real adaptada 1AHO, de 64 aminocidos apresentou
um resultado satisfatrio. O tempo necessrio para testes nessas cadeias mais longas
consideravelmente maior, o que torna mais difcil sua calibragem de parmetros e diminui
a quantidade de testes realizados.
O resultado obtido na protena 1AGT foi o menor, mesmo quando comparado com
os de algoritmos que so evolues de mtodos conhecidos. Esse resultado demonstra
que os mtodos propostos so promissores e que seu estudo pode gerar resultados ainda
melhores.
Figura 26: Comparao de resultados em grco
Finalmente apresentamos as melhores solues obtidas com a aplicao na Figura 27.
possvel visualizar, em especial no modelo 1AGT, padres de dobra similares aos de
protenas reais e a formao de ncleos hidrofbicos (A).
50
Figura 27: Renderizao dos modelos mais estveis encontrados.
6 CONCLUSO
Nesse trabalho proposto um algoritmo para dobramento de protenas no Modelo AB.
O trabalho aponta diversas reas para pesquisas futuras que podem tornar a proposta mais
abrangente.
necessrio analisar questes relacionadas implementao, pois provvel que
existam outras abordagens que otimizem a performance dos algoritmos. Tambm pre-
ciso avaliar corretamente os interpretadores em Javascript e realizar experimentos com
benchmarks para adquirir maior conhecimento e conabilidade neste tipo de implemen-
tao. Todos os testes apresentados foram realizados com a Engine V8 - WebKit no nave-
gador Chrome e os arquivos servidos pelo Nodejs. importante ressaltar que diferentes
interpretadores podem alterar a performance e a execuo da aplicao.
Em relao aos algoritmos, percebe-se ainda a necessidade de uma anlise mais de-
talhada das combinaes de todos os parmetros, para determinar os valores ideais de
execuo. preciso relacionar essa anlise em diferentes comprimentos de protena para
determinar quais tem relao direta com esse comprimento e que tipo de relao existe.
Apesar dos resultados serem muito importantes para a proposta, o que se espera
validar as tcnicas propostas e no futuro combin-las com outras, gerando heursticas de
alto nvel que possam ser utilizadas em outros problemas complexos.
Todo o cdigo fonte da aplicao e seus algoritmos apresentados neste trabalho esto
dsponveis atravs do repositrio (https://github.com/rafaelcastrocouto/initio). A API
est documentada e armazenada no subdiretrio docs e pode ser utilizada para expandir
as capacidades da aplicao para execuo de experimentos e dos algoritmos.
Como trabalhos futuros, prope-se, alm das anlises mencionadas, a explorao de
outras tcnicas em conjunto com as propostas, com o objetivo de melhorar ainda mais os
resultados. Devido ao fato de ser desenvolvida em Javascript, a aplicao torna muito
simples o desenvolvimento de estratgias para a execuo paralela, tanto com processos
na mesma mquina (workers) quanto com a distribuio da execuo da aplicao na
rede. Tirar proveito destas possibilidades implicaria em uma grande contribuio para a
proposta.
Ressalte-se que a proposta aqui apresentada se restringe gerao consecutiva de
52
novas solues baseada somente nos parmetros, sem armazenar dados de conjuntos de
testes anteriores em memria. Portanto, outra grande contribuio ser a implementao
de algoritmos que faam uso desses dados e que estabelaam entre eles possveis relaes.
Essas abordagens podem ser aplicadas tando para os resultados (sequncia de ngulos)
quanto para os valores de Rigidez e Ecincia.
Outra contribuio signicativa para a proposta seria a integrao com os algoritmos
que utilizam outras tcnicas como clusterizaes, cruzamentos, alm de outros mtodos
de renamento mais ecintes.
53
REFERNCIAS
[1] John Robert Anderson, Ryszard S Michalski, Ryszard Stanisaw Michalski,
Jaime Guillermo Carbonell, and Tom Michael Mitchell. Machine learning: An
articial intelligence approach, volume 2. Morgan Kaufmann, 1986.
[2] Christian B Annsen. Studies on the principles that govern the folding of protein
chains, 1972.
[3] Christian B Annsen. Principles that govern the protein folding chains. Science,
181:233230, 1973.
[4] Rubn Armaanzas, Iaki Inza, Roberto Santana, Yvan Saeys, Jose Luis Flores,
Jose Antonio Lozano, Yves Van de Peer, Rosa Blanco, Vctor Robles, Concha Bi-
elza, et al. A review of estimation of distribution algorithms in bioinformatics. Bio-
Data mining, 1(6):112, 2008.
[5] Gerald E Bergum, Andreas N Philippou, and Alwyn Francis Horadam. Applications
of Fibonacci numbers. Springer, 1996.
[6] Helen M Berman, John Westbrook, Zukang Feng, Gary Gilliland, TN Bhat, Helge
Weissig, Ilya N Shindyalov, and Philip E Bourne. The protein data bank. Nucleic
acids research, 28(1):235242, 2000.
[7] SP Brooks and BJT Morgan. Optimization using simulated annealing. The Statisti-
cian, pages 241257, 1995.
[8] Benhui Chen and Jinglu Hu. A novel clustering based niching eda for protein fol-
ding. In Nature & Biologically Inspired Computing, 2009. NaBIC 2009. World Con-
gress on, pages 748753. IEEE, 2009.
[9] Ken A Dill. Theory for the folding and stability of globular proteins. Biochemistry,
24(6):15011509, 1985.
[10] Christopher M Dobson. Protein misfolding, evolution and disease. Trends in bio-
chemical sciences, 24(9):329332, 1999.
54
[11] Aviezri S Fraenkel. Complexity of protein folding. Bulletin of mathematical biology,
55(6):11991210, 1993.
[12] Hsiao-Ping Hsu, Vishal Mehra, and Peter Grassberger. Structure optimization in an
off-lattice protein model. Physical Review E, 68(3):037703, 2003.
[13] Lawrence Hunter. Molecular biology for computer scientists. Articial intelligence
and molecular biology, pages 146, 1993.
[14] Anders Irbck, Carsten Peterson, Fra nk Potthast, and Ola Sommelius. Local inte-
ractions and protein folding: A three-dimensional off-lattice approach. The Journal
of chemical physics, 107(1):273282, 1997.
[15] Jaegil Kim, John E Straub, and Thomas Keyes. Statistical-temperature monte carlo
and molecular dynamics algorithms. Physical review letters, 97(5):050601, 2006.
[16] Jinwoo Lee, Keehyoung Joo, Seung-Yeon Kim, and Jooyoung Lee. Re-examination
of structure optimization of off-lattice protein ab models by conformational space
annealing. Journal of computational chemistry, 29(14):24792484, 2008.
[17] Bai Li, Ya Li, and Ligang Gong. Protein secondary structure optimization using an
improved articial bee colony algorithm based on ab off-lattice model. Engineering
Applications of Articial Intelligence, 27:7079, 2014.
[18] Faming Liang. Annealing contour monte carlo algorithm for structure optimization
in an off-lattice protein model. The Journal of chemical physics, 120(14):6756
6763, 2004.
[19] Jingfa Liu, Yuanyuan Sun, Gang Li, Beibei Song, and Weibo Huang. Heuristic-
based tabu search algorithm for folding two-dimensional ab off-lattice model pro-
teins. Computational biology and chemistry, 47:142148, 2013.
[20] Nicholas M Luscombe, Dov Greenbaum, and Mark Gerstein. What is bioinforma-
tics? a proposed denition and overview of the eld. Methods of information in
medicine, 40(4):346358, 2001.
[21] David W Mount. Bioinformatics: Sequence and genome analysis. New York: Cold
Spring, 2004.
[22] Francisco Prosdocimi, Gustavo Coutinho, Eliseu Ninnecw, Accia Fernandes Silva,
Adriana Neves dos Reis, Ana Carolina Martins, Ana Ceclia Feio dos Santos, Ant-
nio Nhani Jnior, and Fernando Camargo Filho. Bioinformtica: manual do usurio.
Biotecnologia Cincia & Desenvolvimento, 29:1225, 2002.
55
[23] Oleg B Ptitsyn. A determinable but unresolved problem. The FASEB journal,
10(1):34, 1996.
[24] Roberto Santana, Pedro Larraaga, and Jose Antonio Lozano. Protein folding in
simplied models with estimation of distribution algorithms. Evolutionary Compu-
tation, IEEE Transactions on, 12(4):418438, 2008.
[25] Ross Sheldon et al. A rst course in probability. Pearson Education India, 2002.
[26] Andrew John George Simpson, FC Reinach, Pea Arruda, FA Abreu, M Acencio,
R Alvarenga, LMC Alves, JE Araya, GS Baia, CS Baptista, et al. The genome
sequence of the plant pathogen xylella fastidiosa. Nature, 406(6792):151157, 2000.
[27] Frank H Stillinger and Teresa Head-Gordon. Collective aspects of protein folding
illustrated by a toy model. Physical Review E, 52(3):2872, 1995.
[28] Frank H Stillinger, Teresa Head-Gordon, and Catherine L Hirshfeld. Toy model for
protein folding. Physical review E, 48(2):1469, 1993.
[29] Ron Unger and John Moult. Genetic algorithms for protein folding simulations.
Journal of molecular biology, 231(1):7581, 1993.
[30] Xinchao Zhao. Advances on protein folding simulations based on the lattice hp
models with natural computing. Applied Soft Computing, 8(2):10291040, 2008.